Nice job nova, again using the same method as I used, but a month later
Code:
10001F20 /$ 51 PUSH ECX
10001F21 |. 6A 7A PUSH 7A ; /Key = VK_F11
10001F23 |. FF15 C8500010 CALL DWORD PTR DS:[<&USER32.GetAsyncKeyS>; \GetAsyncKeyState
10001F29 |. A8 01 TEST AL,1
10001F2B |. 0F84 85000000 JE Fourier.10001FB6
10001F31 |. 33C0 XOR EAX,EAX
10001F33 |. 33C9 XOR ECX,ECX
10001F35 |. 390D 68760010 CMP DWORD PTR DS:[10007668],ECX
10001F3B |. 56 PUSH ESI
10001F3C |. 8B35 0C500010 MOV ESI,DWORD PTR DS:[<&KERNEL32.Virtual>; kernel32.VirtualProtect
10001F42 |. 0F94C0 SETE AL
10001F45 |. 894C24 04 MOV DWORD PTR SS:[ESP+4],ECX
10001F49 |. A3 68760010 MOV DWORD PTR DS:[10007668],EAX
10001F4E |. 3BC1 CMP EAX,ECX
10001F50 |. 74 33 JE SHORT Fourier.10001F85
10001F52 |. 8D4424 04 LEA EAX,DWORD PTR SS:[ESP+4]
10001F56 |. 50 PUSH EAX ; /pOldProtect
10001F57 |. 6A 40 PUSH 40 ; |NewProtect = PAGE_EXECUTE_READWRITE
10001F59 |. 6A 01 PUSH 1 ; |Size = 1
10001F5B |. 68 30B14300 PUSH 43B130 ; |Address = LOADDLL.0043B130
10001F60 |. FFD6 CALL ESI ; \VirtualProtect
10001F62 |. 8A15 C2700010 MOV DL,BYTE PTR DS:[100070C2]
10001F68 |. B9 30B14300 MOV ECX,43B130
10001F6D |. 8D4424 04 LEA EAX,DWORD PTR SS:[ESP+4]
10001F71 |. 50 PUSH EAX ; /pOldProtect
10001F72 |. 8811 MOV BYTE PTR DS:[ECX],DL ; |
10001F74 |. 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8] ; |
10001F78 |. 51 PUSH ECX ; |NewProtect
10001F79 |. 6A 01 PUSH 1 ; |Size = 1
10001F7B |. 68 30B14300 PUSH 43B130 ; |Address = LOADDLL.0043B130
10001F80 |. FFD6 CALL ESI ; \VirtualProtect
10001F82 |. 5E POP ESI
10001F83 |. 59 POP ECX
10001F84 |. C3 RETN
10001F85 |> 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]
10001F89 |. 52 PUSH EDX
10001F8A |. 6A 40 PUSH 40
10001F8C |. 6A 01 PUSH 1
10001F8E |. 68 30B14300 PUSH 43B130
10001F93 |. FFD6 CALL ESI
10001F95 |. 8A0D C3700010 MOV CL,BYTE PTR DS:[100070C3]
10001F9B |. B8 30B14300 MOV EAX,43B130
10001FA0 |. 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]
10001FA4 |. 52 PUSH EDX
10001FA5 |. 8808 MOV BYTE PTR DS:[EAX],CL
10001FA7 |. 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
10001FAB |. 50 PUSH EAX
10001FAC |. 6A 01 PUSH 1
10001FAE |. 68 30B14300 PUSH 43B130
10001FB3 |. FFD6 CALL ESI
10001FB5 |. 5E POP ESI
10001FB6 |> 59 POP ECX
10001FB7 \. C3 RETN
https://www.mpgh.net/forum/31-c-c/119501-mw2-code.html