Function at 0x403b00
Capabilities:
Access firewall settings via inetfwmgr
Check internet connectivity via wininet
Create thread
Get disk information
Hide graphical window
Identify system language via api
Log keystrokes via polling
Read .ini file
Set console window title
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x447836
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x45c050]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
call fcn.0041ffba
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
add esp, 4
mov esi, eax
push 0x104
push esi
push 0
call ebx
mov edi, dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push esi
call edi
mov edx, eax
mov dword [ebp - 0x19c], 0
mov ecx, edx
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403b80
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x19c]
call fcn.00406c90
cmp dword [ebp - 0x188], 0x10
lea eax, [ebp - 0x19c]
push str.L2TP.exe
cmovae eax, dword [ebp - 0x19c]
push eax
call fcn.00421480
mov edx, dword [ebp - 0x188]
add esp, 8
mov esi, eax
cmp edx, 0x10
jb 0x403bf4
mov ecx, dword [ebp - 0x19c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403bea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048ea
push edx
push ecx
call fcn.0041ffac
add esp, 8
push 0x104
test esi, esi
je 0x404360
mov byte [ebp - 0x182], 1
call fcn.0041ffba
push 0x104
call fcn.0041ffba
add esp, 8
lea ecx, [ebp - 0x1d4]
mov edx, str.Settings.ini
call fcn.00402790
mov esi, eax
mov dword [ebp - 4], 0
cmp dword [esi + 0x14], 0x10
jb 0x403c3b
mov esi, dword [esi]
push 0x104
call fcn.0041ffba
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
add esp, 4
mov dword [ebp - 0x1a0], eax
push esi
push 0x104
push eax
push 0
push str.StartRule
push str.Settings
call edi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c0]
cmp edx, 0x10
jb 0x403caa
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403ca0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048ef
push edx
push ecx
call fcn.0041ffac
add esp, 8
mov edx, str.Settings.ini
mov dword [ebp - 0x1c4], 0
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
call fcn.00402790
mov esi, eax
mov dword [ebp - 4], 1
cmp dword [esi + 0x14], 0x10
jb 0x403ce6
mov esi, dword [esi]
push 0x104
call fcn.0041ffba
add esp, 4
mov dword [ebp - 0x1a4], eax
push esi
push 0x104
push eax
push 0
push str.FinalRule
push str.Settings
call edi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x403d4f
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403d45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048f4
push edx
push ecx
call fcn.0041ffac
add esp, 8
cmp byte [0x45cabc], 0
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
je 0x403eaa
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
and eax, 0x3ff
cmp ax, 0x19
jne 0x403db4
push str.Russian
push 0
call fcn.00424708
add esp, 8
push 0x4e3
call esi
push 0x4e3
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
jmp 0x403dc3
cmp ax, 9
je 0x403ddf
cmp byte [ebp - 0x181], 0
je 0x403ddf
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push 0xc
push eax
call esi
push 0x4568f8
jmp 0x403df9
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push 0xc
push eax
call esi
push str.To_hide_console_app__press_on_icon_____nPress_to_erase_all_rules_and_exit__ESC__n_n
call fcn.00401060
add esp, 4
push 0xfffffffffffffff5
call edi
push 7
push eax
call esi
mov ecx, 0x5e
xor edx, edx
mov al, byte [edx + 0x456894]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x48], al
and ecx, 0x800000ff
jns 0x403e2e
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x35
jl 0x403e11
lea eax, [ebp - 0x48]
mov byte [ebp - 0x13], 0
push eax
call fcn.00428267
push str.netsh_advfirewall_firewall_add_rule_dirin_actionblock_protocolTCP_localport1_79_81_442_444_65535_nameTCP___nul
call fcn.00428267
push str.netsh_advfirewall_firewall_add_rule_dirin_actionblock_protocolUDP_localport1_79_81_442_444_65535_nameUDP___nul
call fcn.00428267
add esp, 0xc
mov ecx, 0x96
xor edx, edx
nop
mov al, byte [edx + 0x4566f0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x68], al
and ecx, 0x800000ff
jns 0x403e7d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x56
jl 0x403e60
lea eax, [ebp - 0x68]
mov byte [ebp - 0x12], 0
push eax
call fcn.00428267
push str.netsh_advfirewall_set_allprofiles_firewallpolicy_blockinbound_allowoutbound___nul
call fcn.00428267
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleCP]
add esp, 8
mov byte [0x45cabc], 0
mov edi, dword [sym.imp.ole32.dll_CoUninitialize]
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
push 0x1b
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x404112
cmp byte [ebp - 0x182], 0
je 0x403ed7
mov byte [ebp - 0x182], 0
mov ecx, 0x5e
xor edx, edx
nop
mov al, byte [edx + 0x456894]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x48], al
and ecx, 0x800000ff
jns 0x403efd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x35
jl 0x403ee0
lea eax, [ebp - 0x48]
mov byte [ebp - 0x13], 0
push eax
call fcn.00428267
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x104
call fcn.0041ffba
add esp, 4
mov esi, eax
push 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov edx, eax
mov dword [ebp - 0x19c], 0
mov ecx, edx
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403f67
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x19c]
call fcn.00406c90
cmp dword [ebp - 0x188], 0x10
lea ecx, [ebp - 0x19c]
cmovae ecx, dword [ebp - 0x19c]
call fcn.00402a00
push eax
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
push 1
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x188]
cmp edx, 0x10
jb 0x403ff0
mov ecx, dword [ebp - 0x19c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403fe6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048ea
push edx
push ecx
call fcn.0041ffac
add esp, 8
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x178]
mov dword [ebp - 0x178], 0
push eax
push 0x456ba0
push 1
push 0
push 0x456b80
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x180], 0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x404037
call edi
mov ecx, dword [ebp - 0x178]
lea edx, [ebp - 0x17c]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x178]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x40405e
call edi
mov ecx, dword [ebp - 0x17c]
lea edx, [ebp - 0x180]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x17c]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x404085
call edi
mov ecx, dword [ebp - 0x180]
lea edx, [ebp - 0x170]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebp - 0x180]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
test esi, esi
jns 0x4040ac
call edi
cmp word [ebp - 0x170], 0
setne bl
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleCP]
test bl, bl
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
jne 0x403eb6
mov ecx, 0xc1
xor edx, edx
mov al, byte [edx + 0x456860]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x44], al
and ecx, 0x800000ff
jns 0x4040f1
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x30
jl 0x4040d4
lea eax, [ebp - 0x44]
mov byte [ebp - 0x14], 0
push eax
call fcn.00428267
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleCP]
add esp, 4
jmp 0x403eb0
cmp byte [ebp - 0x182], 0
je 0x403ed7
push 0
lea eax, [ebp - 0x174]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x4042c7
test byte [ebp - 0x174], 2
je 0x4042c7
cmp byte [0x45e730], 0
je 0x4041ab
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov ecx, 0x3ff
and ax, cx
movzx eax, ax
cmp eax, 0x19
jne 0x404191
push str.Russian
push 0
call fcn.00424708
add esp, 8
push 0x4e3
call esi
push 0x4e3
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov byte [ebp - 0x183], 1
push 0x4569a4
jmp 0x4041a2
cmp eax, 9
jne 0x4041fb
mov byte [ebp - 0x183], 0
push str.Online
call ebx
mov byte [0x45e730], 0
mov ecx, 0x4569b4
call fcn.00403940
test al, al
je 0x40420b
mov ecx, 0xd4
xor edx, edx
mov al, byte [edx + 0x4569b8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x50], al
and ecx, 0x800000ff
jns 0x4041dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x3d
jl 0x4041c0
lea eax, [ebp - 0x50]
mov byte [ebp - 0x13], 0
push eax
call fcn.00428267
mov esi, dword [ebp - 0x1a0]
add esp, 4
jmp 0x404244
cmp byte [ebp - 0x183], 0
je 0x40419d
push 0x4569a4
jmp 0x4041a2
cmp byte [0x45e731], 0
je 0x404230
mov ebx, dword [ebp - 0x1a4]
mov ecx, ebx
call fcn.00403680
mov esi, dword [ebp - 0x1a0]
mov byte [0x45e731], 0
jmp 0x40424a
mov esi, dword [ebp - 0x1a0]
mov ecx, esi
call fcn.00403680
mov byte [0x45e731], 1
mov ebx, dword [ebp - 0x1a4]
mov ecx, 0x4569f8
call fcn.00403940
test al, al
je 0x404298
mov ecx, 0x36
xor edx, edx
nop
mov al, byte [edx + 0x456a00]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x54], al
and ecx, 0x800000ff
jns 0x40427d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x3f
jl 0x404260
lea eax, [ebp - 0x54]
mov byte [ebp - 0x15], 0
push eax
call fcn.00428267
add esp, 4
jmp 0x403ff0
cmp byte [0x45e73c], 0
je 0x4042b4
mov ecx, ebx
call fcn.004037e0
mov byte [0x45e73c], 0
jmp 0x403ff0
mov ecx, esi
call fcn.004037e0
mov byte [0x45e73c], 1
jmp 0x403ff0
cmp byte [0x45e730], 0
jne 0x403ff0
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov ecx, 0x3ff
and ax, cx
movzx eax, ax
cmp eax, 0x19
jne 0x404325
push str.Russian
push 0
call fcn.00424708
add esp, 8
push 0x4e3
call esi
push 0x4e3
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
push 0x456a40
mov byte [ebp - 0x181], 1
call ebx
mov byte [0x45e730], 1
jmp 0x403ff0
cmp eax, 9
jne 0x404344
mov byte [ebp - 0x181], 0
push str.Offline
call ebx
mov byte [0x45e730], 1
jmp 0x403ff0
cmp byte [ebp - 0x181], 0
je 0x404331
push 0x456a40
call ebx
mov byte [0x45e730], 1
jmp 0x403ff0
call fcn.0041ffba
add esp, 4
mov esi, eax
push 0x104
push esi
push 0
call ebx
push esi
call edi
mov edx, eax
mov dword [ebp - 0x19c], 0
mov ecx, edx
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4043a0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x19c]
call fcn.00406c90
cmp dword [ebp - 0x188], 0x10
lea eax, [ebp - 0x19c]
push 0x456a54
cmovae eax, dword [ebp - 0x19c]
push eax
call fcn.00421480
mov edx, dword [ebp - 0x188]
add esp, 8
mov esi, eax
cmp edx, 0x10
jb 0x404414
mov ecx, dword [ebp - 0x19c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40440a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048f9
push edx
push ecx
call fcn.0041ffac
add esp, 8
test esi, esi
je 0x4048cc
push 0x104
call fcn.0041ffba
add esp, 4
lea ecx, [ebp - 0x1bc]
mov edx, str.Settings.ini
call fcn.00402790
mov esi, eax
mov dword [ebp - 4], 2
cmp dword [esi + 0x14], 0x10
jb 0x40444a
mov esi, dword [esi]
push 0x104
call fcn.0041ffba
add esp, 4
mov edi, eax
push esi
push 0x104
push edi
push 0
push str.Type
push str.Settings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x4044b3
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4044a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048fe
push edx
push ecx
call fcn.0041ffac
add esp, 8
push edi
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
call fcn.004294a9
add esp, 4
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
and ecx, 0x3ff
cmp cx, 0x19
jne 0x404515
push str.Russian
push 0
call fcn.00424708
add esp, 8
push 0x4e3
call dword [sym.imp.KERNEL32.dll_SetConsoleCP]
push 0x4e3
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
jmp 0x404524
cmp cx, 9
je 0x404540
cmp byte [ebp - 0x181], 0
je 0x404540
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push 0xc
push eax
call esi
push 0x456a68
jmp 0x40455a
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push 0xc
push eax
call esi
push str.To_hide_console_app__press_key_button__SPACE__nPress_to_exit__TAB__n_n
call fcn.00401060
add esp, 4
push 0xfffffffffffffff5
call edi
push 7
push eax
call esi
cmp ebx, 1
jne 0x4045d4
lea ecx, [ebp - 0x1bc]
call fcn.00402540
cmp dword [eax + 0x14], 0x10
jb 0x404583
mov eax, dword [eax]
push 0
push 0
push eax
push 0x402ae0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x404744
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40473a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404903
jmp 0x40473a
cmp ebx, 2
jne 0x404744
lea ecx, [ebp - 0x1bc]
call fcn.00402540
cmp dword [eax + 0x14], 0x10
jb 0x4045f0
mov eax, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push eax
push 0x402ae0
push 0
push 0
call ebx
mov edx, dword [ebp - 0x1a8]
cmp edx, 0x10
jb 0x404640
mov ecx, dword [ebp - 0x1bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x404636
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404908
push edx
push ecx
call fcn.0041ffac
add esp, 8
lea eax, [ebp - 0x54]
mov edi, 0x45652b
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
dec eax
cmp eax, 0x3f
ja 0x4046a9
cmp byte [ebp - 0x54], 0
lea esi, [ebp - 0x54]
je 0x4046a9
mov ebx, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
push esi
call ebx
cmp eax, 2
je 0x404673
cmp eax, 3
jne 0x40468e
push esi
lea eax, [ebp - 0x16c]
push 0x4565a8
push eax
call fcn.00401090
add esp, 0xc
lea edi, [ebp - 0x16c]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404693
sub ecx, edx
inc esi
add esi, ecx
cmp byte [esi], al
jne 0x404666
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, edi
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4046d0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x19c]
call fcn.00406c90
cmp dword [ebp - 0x188], 0x10
lea eax, [ebp - 0x19c]
push 0
cmovae eax, dword [ebp - 0x19c]
push 0
push eax
push 0x402ae0
push 0
push 0
call ebx
mov edx, dword [ebp - 0x188]
cmp edx, 0x10
jb 0x404744
mov ecx, dword [ebp - 0x19c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40473a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40490d
push edx
push ecx
call fcn.0041ffac
add esp, 8
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, dword [sym.imp.KERNEL32.dll_OpenProcess]
push 0x20
call edi
test ax, ax
je 0x404778
cmp byte [0x45cabd], 0
je 0x404778
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x45cabd], 0
push 9
call edi
test ax, ax
je 0x40486c
cmp byte [0x45cab0], 0
je 0x40486c
push 0x104
call fcn.0041ffba
add esp, 4
mov esi, eax
push 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov edx, eax
mov dword [ebp - 0x1d4], 0
mov ecx, edx
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0xf
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4047e0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1d4]
call fcn.00406c90
cmp dword [ebp - 0x1c0], 0x10
lea ecx, [ebp - 0x1d4]
cmovae ecx, dword [ebp - 0x1d4]
call fcn.00402a00
push eax
push 0
push 0x1fffff
call ebx
mov esi, eax
push 1
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x1c0]
cmp edx, 0x10
jb 0x404865
mov ecx, dword [ebp - 0x1d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40485b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4048ea
push edx
push ecx
call fcn.0041ffac
add esp, 8
mov byte [0x45cab0], 0
mov ecx, 0x56
xor edx, edx
mov al, byte [edx + 0x456b0c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x190], al
and ecx, 0x800000ff
jns 0x404893
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x404873
lea ecx, [ebp - 0x190]
mov byte [ebp - 0x185], 0
call fcn.00402a00
push eax
push 0
push 0x1fffff
call ebx
mov esi, eax
push 1
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404750
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041ff69
mov esp, ebp
pop ebp
ret
call fcn.00429c86
call fcn.00429c86
call fcn.00429c86
call fcn.00429c86
call fcn.00429c86
call fcn.00429c86
call fcn.00429c86
call fcn.00429c86
int3