Function at 0x40de30
Capabilities:
Create directory
Create service
Create thread
Get graphical window text
Get hostname
Hide graphical window
Initialize winsock library
Log keystrokes
Persist via windows service
Resolve dns
Start service

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x12e4
call fcn.00428f50
mov eax, dword [0x43d0a0]
xor eax, esp
mov dword [esp + 0x12e0], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
push 0x4400d8
push 0x67
xor ebx, ebx
push esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], ebx
call edi
push 0x64
push 0x441248
push 0x6d
push esi
call edi
mov eax, esi
call fcn.004139a0
push esi
call fcn.00413a30
add esp, 4
test eax, eax
jne 0x40dea7
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x12e0]
xor ecx, esp
call fcn.0041c9bc
mov esp, ebp
pop ebp
ret 0x10
push 0x6d
push esi
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov dword [esp + 0x58], eax
push ebx
mov eax, 0xc80c
or esi, 0xffffffff
push 0x432e83
mov ecx, 0x441864
mov byte [0x4418a2], bl
mov dword [0x43fe8c], ebx
mov dword [0x441644], esi
mov word [0x441880], ax
mov byte [0x441648], bl
mov byte [0x441674], 1
mov byte [0x4418a0], 1
mov byte [0x4418ba], bl
mov byte [0x441675], bl
mov byte [0x4418ee], 1
mov byte [0x4418ef], 1
mov dword [0x4418f0], 5
mov dword [0x44185c], ebx
mov byte [0x441860], 1
call fcn.00415de0
movzx eax, word [0x441880]
push 0x200000
mov dword [0x4418ac], eax
mov byte [0x4418b0], 1
mov dword [0x4418b4], eax
mov byte [0x4418b8], 1
mov dword [0x44165c], 0x140
mov dword [0x441660], 0xf0
mov dword [0x4418e4], esi
mov dword [0x4418e8], esi
mov dword [0x4418dc], esi
mov dword [0x4418e0], esi
mov byte [0x4418b9], 1
call fcn.0041c9b1
add esp, 4
push 0x200000
mov dword [0x4411e8], eax
call fcn.0041c9b1
add esp, 4
push 0x200000
mov dword [0x43ffa0], eax
call fcn.0041c9b1
mov dword [0x4411f0], eax
add esp, 4
mov edi, str.63248933
mov eax, 0x441628
lea esi, [esp + 0x644]
call fcn.00416470
cmp dword [eax + 0x18], 0x10
jb 0x40dfd2
mov eax, dword [eax + 4]
jmp 0x40dfd5
add eax, 4
push 0x432f00
push eax
call fcn.0041d7fd
add esp, 8
cmp dword [esp + 0x65c], 0x10
mov esi, eax
jb 0x40dfff
mov ecx, dword [esp + 0x648]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x65c], 0xf
mov dword [esp + 0x658], ebx
mov byte [esp + 0x648], bl
cmp esi, ebx
je 0x40e02b
push esi
mov byte [0x43e113], bl
call fcn.0041e368
add esp, 4
mov eax, 1
cmp dword [0x43f3a4], eax
mov dword [esp + 0x14], eax
jle 0x40e401
mov eax, dword [esp + 0x14]
mov edx, dword [0x43f3a8]
mov ecx, dword [edx + eax*4]
xor ebx, ebx
mov edi, 0xf
mov eax, ecx
mov dword [esp + 0xd78], edi
mov dword [esp + 0xd74], ebx
mov byte [esp + 0xd64], bl
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40e070
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0xd68]
call fcn.00415de0
mov esi, dword [esp + 0xd74]
mov eax, esi
cmp esi, 2
jb 0x40e09a
mov eax, 2
cmp dword [esp + 0xd78], 0x10
mov edx, dword [esp + 0xd64]
jae 0x40e0b2
lea edx, [esp + 0xd64]
mov ecx, 0x433144
call fcn.00401080
cmp eax, ebx
jne 0x40e0e7
cmp esi, 2
jb 0x40e0e7
xor eax, eax
cmp esi, 2
setne al
cmp eax, ebx
jne 0x40e0e7
cmp dword [0x441644], 2
mov byte [0x4418b9], 0
je 0x40e0e7
mov dword [0x441644], ebx
push 3
push ebx
lea ecx, [esp + 0xd68]
push ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x128], edi
mov dword [esp + 0x124], ebx
mov byte [esp + 0x114], 0
call fcn.00415960
mov esi, dword [esp + 0x118]
mov eax, esi
cmp esi, 3
jb 0x40e127
mov eax, 3
mov edi, dword [esp + 0x11c]
mov edx, dword [esp + 0x108]
cmp edi, 0x10
jae 0x40e141
lea edx, [esp + 0x108]
mov ecx, 0x4331c4
call fcn.00401080
cmp eax, ebx
jne 0x40e161
cmp esi, 3
jae 0x40e159
or eax, 0xffffffff
jmp 0x40e161
xor eax, eax
cmp esi, 3
setne al
xor esi, esi
cmp eax, esi
sete bl
cmp edi, 0x10
jb 0x40e17d
mov edx, dword [esp + 0x108]
push edx
call fcn.0041dadc
add esp, 4
mov edi, 0xf
mov dword [esp + 0x11c], edi
mov dword [esp + 0x118], esi
mov byte [esp + 0x108], 0
test bl, bl
je 0x40e22d
mov eax, dword [esp + 0xd74]
add eax, 0xfffffffd
push eax
push 3
lea ecx, [esp + 0xd68]
push ecx
lea ecx, [esp + 0x260]
mov byte [0x4418b9], 0
mov dword [0x441644], 1
mov dword [esp + 0x278], edi
mov dword [esp + 0x274], esi
mov byte [esp + 0x264], 0
call fcn.00415960
push 0xffffffffffffffff
push esi
lea edx, [esp + 0x25c]
push edx
mov ecx, 0x441864
call fcn.00415960
cmp dword [esp + 0x26c], 0x10
jb 0x40e217
mov eax, dword [esp + 0x258]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x26c], edi
mov dword [esp + 0x268], esi
mov byte [esp + 0x258], 0
push 4
push 0
lea ecx, [esp + 0xd68]
push ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x1b0], esi
mov byte [esp + 0x1a0], 0
call fcn.00415960
mov esi, dword [esp + 0x1a4]
mov eax, esi
cmp esi, 4
jb 0x40e26e
mov eax, 4
mov edi, dword [esp + 0x1a8]
mov edx, dword [esp + 0x194]
cmp edi, 0x10
jae 0x40e288
lea edx, [esp + 0x194]
mov ecx, str._ip:
call fcn.00401080
test eax, eax
jne 0x40e2a8
cmp esi, 4
jae 0x40e2a0
or eax, 0xffffffff
jmp 0x40e2a8
xor eax, eax
cmp esi, 4
setne al
xor esi, esi
cmp eax, esi
sete bl
cmp edi, 0x10
jb 0x40e2c4
mov edx, dword [esp + 0x194]
push edx
call fcn.0041dadc
add esp, 4
mov edi, 0xf
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1a4], esi
mov byte [esp + 0x194], 0
test bl, bl
je 0x40e36a
mov eax, dword [esp + 0xd74]
add eax, 0xfffffffc
push eax
push 4
lea ecx, [esp + 0xd68]
push ecx
lea ecx, [esp + 0x3e8]
mov byte [0x4418b9], 0
mov dword [esp + 0x400], edi
mov dword [esp + 0x3fc], esi
mov byte [esp + 0x3ec], 0
call fcn.00415960
push 0xffffffffffffffff
push esi
lea edx, [esp + 0x3e4]
push edx
mov ecx, 0x441864
call fcn.00415960
cmp dword [esp + 0x3f4], 0x10
jb 0x40e354
mov eax, dword [esp + 0x3e0]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x3f4], edi
mov dword [esp + 0x3f0], esi
mov byte [esp + 0x3e0], 0
mov esi, dword [esp + 0xd74]
mov eax, esi
cmp esi, 2
jb 0x40e37d
mov eax, 2
mov edi, dword [esp + 0xd78]
mov ebx, dword [esp + 0xd64]
mov edx, ebx
cmp edi, 0x10
jae 0x40e399
lea edx, [esp + 0xd64]
mov ecx, 0x433140
call fcn.00401080
test eax, eax
jne 0x40e3c0
cmp esi, 2
jb 0x40e3c0
cmp esi, 2
setne al
test eax, eax
jne 0x40e3c0
mov dword [0x441644], 2
cmp edi, 0x10
jb 0x40e3ce
push ebx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [0x43f3a4]
mov dword [esp + 0xd78], 0xf
mov dword [esp + 0xd74], 0
mov byte [esp + 0xd64], 0
mov dword [esp + 0x14], eax
jl 0x40e040
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xor ebx, ebx
push 0xffffffffffffffff
push ebx
mov edi, 0xf
push 0x441628
lea ecx, [esp + 0x20c]
mov dword [esp + 0xd68], edi
mov dword [esp + 0xd64], ebx
mov byte [esp + 0xd54], bl
mov byte [esp + 0x1b], bl
mov dword [esp + 0x224], edi
mov dword [esp + 0x220], ebx
mov byte [esp + 0x210], bl
call fcn.00415960
push ebx
push 0x4415f0
or eax, 0xffffffff
lea esi, [esp + 0x208]
call fcn.00415be0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x298]
mov dword [esp + 0x2b0], edi
mov dword [esp + 0x2ac], ebx
mov byte [esp + 0x29c], bl
call fcn.00415960
mov esi, 0x10
cmp dword [esp + 0x218], esi
jb 0x40e4b4
mov edx, dword [esp + 0x204]
push edx
call fcn.0041dadc
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x294]
push eax
lea ecx, [esp + 0x340]
mov dword [esp + 0x224], edi
mov dword [esp + 0x220], ebx
mov byte [esp + 0x210], 0
mov dword [esp + 0x358], edi
mov dword [esp + 0x354], ebx
mov byte [esp + 0x344], 0
call fcn.00415960
push 4
push str..ini
lea eax, [esp + 0x33c]
call fcn.00415cd0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xc0], 0
call fcn.00415960
cmp dword [esp + 0x34c], esi
jb 0x40e549
mov ecx, dword [esp + 0x338]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x34c], edi
mov dword [esp + 0x348], ebx
mov byte [esp + 0x338], 0
cmp dword [esp + 0xc8], esi
jae 0x40e576
lea eax, [esp + 0xb4]
push 0x432f00
push eax
call fcn.0041d7fd
mov edi, esi
add esp, 8
mov ebx, eax
cmp dword [esp + 0xc8], edi
jb 0x40e5a1
mov edx, dword [esp + 0xb4]
push edx
call fcn.0041dadc
add esp, 4
mov esi, 0xf
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], 0
mov byte [esp + 0xb4], 0
cmp dword [esp + 0x2a4], edi
jb 0x40e5d9
mov eax, dword [esp + 0x290]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x2a4], esi
mov dword [esp + 0x2a0], 0
mov byte [esp + 0x290], 0
test ebx, ebx
je 0x40ec5d
push ebx
lea esi, [esp + 0x488]
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
cmp dword [esp + 0x49c], edi
jb 0x40e632
mov ecx, dword [esp + 0x488]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x49c], 0xf
mov dword [esp + 0x498], 0
mov byte [esp + 0x488], 0
cmp dword [esp + 0xd5c], edi
jae 0x40e667
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
setne dl
push ebx
lea esi, [esp + 0x808]
mov byte [0x441675], dl
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
cmp dword [esp + 0x81c], edi
jb 0x40e6b2
mov eax, dword [esp + 0x808]
push eax
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x81c], 0xf
mov dword [esp + 0x818], 0
mov byte [esp + 0x808], 0
cmp dword [esp + 0xd5c], edi
jae 0x40e6e7
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
jne 0x40e700
mov dword [0x4418ac], 0xc80c
jmp 0x40e725
mov eax, dword [esp + 0xd48]
cmp dword [esp + 0xd5c], edi
jae 0x40e717
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
mov dword [0x4418ac], eax
push ebx
lea esi, [esp + 0x4c0]
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
cmp dword [esp + 0x4d4], edi
jb 0x40e75c
mov ecx, dword [esp + 0x4c0]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x4d4], 0xf
mov dword [esp + 0x4d0], 0
mov byte [esp + 0x4c0], 0
cmp dword [esp + 0xd5c], edi
jae 0x40e791
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
setne dl
push ebx
lea esi, [esp + 0xdb8]
mov byte [0x4418b0], dl
call fcn.00416920
push ebx
lea esi, [esp + 0xe0c]
call fcn.00416920
push ebx
lea esi, [esp + 0xdd4]
call fcn.00416920
push ebx
lea esi, [esp + 0xdf0]
call fcn.00416920
mov ecx, 0x432e83
lea edi, [esp + 0xdb4]
call fcn.004165c0
test al, al
je 0x40e7ff
mov byte [esp + 0xf], 1
mov edi, 0x10
xor esi, esi
jmp 0x40eb83
cmp dword [0x441644], 0xffffffff
jne 0x40e83d
mov ecx, 0x432e83
mov edi, 0x441864
call fcn.004165c0
test al, al
je 0x40e83d
push ebx
lea esi, [esp + 0x920]
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.00415960
mov ecx, esi
call fcn.004157d0
jmp 0x40e882
push ebx
lea esi, [esp + 0x680]
call fcn.00416920
cmp dword [esp + 0x694], 0x10
jb 0x40e864
mov eax, dword [esp + 0x680]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x694], 0xf
mov dword [esp + 0x690], 0
mov byte [esp + 0x680], 0
push ebx
lea esi, [esp + 0x4f8]
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
mov edi, 0x10
cmp dword [esp + 0x50c], edi
jb 0x40e8be
mov ecx, dword [esp + 0x4f8]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x50c], 0xf
mov dword [esp + 0x508], 0
mov byte [esp + 0x4f8], 0
cmp dword [esp + 0xd5c], edi
jae 0x40e8f3
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
jne 0x40e90c
mov dword [0x4418b4], 0xc80c
jmp 0x40e931
mov eax, dword [esp + 0xd48]
cmp dword [esp + 0xd5c], edi
jae 0x40e923
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
mov dword [0x4418b4], eax
push ebx
lea esi, [esp + 0x760]
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
cmp dword [esp + 0x774], edi
jb 0x40e968
mov edx, dword [esp + 0x760]
push edx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x774], 0xf
mov dword [esp + 0x770], 0
mov byte [esp + 0x760], 0
cmp dword [esp + 0xd5c], edi
jae 0x40e99d
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
setne al
push ebx
lea esi, [esp + 0x530]
mov byte [0x441648], al
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
cmp dword [esp + 0x544], edi
jb 0x40e9e7
mov ecx, dword [esp + 0x530]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
mov dword [esp + 0x544], 0xf
mov dword [esp + 0x540], 0
mov byte [esp + 0x530], 0
cmp dword [esp + 0xd5c], edi
jae 0x40ea1c
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
setne dl
push ebx
lea esi, [esp + 0x6b8]
mov byte [0x4418b8], dl
call fcn.00416920
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd50]
call fcn.00415960
cmp dword [esp + 0x6cc], edi
jb 0x40ea67
mov eax, dword [esp + 0x6b8]
push eax
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd48]
xor esi, esi
mov dword [esp + 0x6cc], 0xf
mov dword [esp + 0x6c8], esi
mov byte [esp + 0x6b8], 0
cmp dword [esp + 0xd5c], edi
jae 0x40ea9a
lea eax, [esp + 0xd48]
push eax
call fcn.0041d453
add esp, 4
test eax, eax
setne cl
push ebx
mov byte [0x4418a0], cl
call fcn.0041e368
mov eax, dword [esp + 0xdbc]
add esp, 4
cmp dword [esp + 0xdcc], edi
jae 0x40eace
lea eax, [esp + 0xdb8]
push eax
call fcn.0041d453
add esp, 4
mov dword [0x43fe7c], eax
mov eax, dword [esp + 0xe0c]
cmp dword [esp + 0xe20], edi
jae 0x40eaf3
lea eax, [esp + 0xe0c]
push eax
call fcn.0041d453
add esp, 4
mov dword [0x43fe78], eax
mov eax, dword [esp + 0xdd4]
cmp dword [esp + 0xde8], edi
jae 0x40eb18
lea eax, [esp + 0xdd4]
push eax
call fcn.0041d453
add esp, 4
mov dword [0x43fe74], eax
mov eax, dword [esp + 0xdf0]
cmp dword [esp + 0xe04], edi
jae 0x40eb3d
lea eax, [esp + 0xdf0]
push eax
call fcn.0041d453
mov edx, dword [0x43fe7c]
mov ecx, dword [0x43fe74]
lea ebx, [ecx + edx]
mov edx, dword [esp + 0x3c]
add esp, 4
cmp ebx, edx
mov dword [0x43fe70], eax
jle 0x40eb6a
sub edx, ecx
mov dword [0x43fe7c], edx
mov ecx, dword [0x43fe78]
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x3c]
cmp edx, ecx
jle 0x40eb83
sub ecx, eax
mov dword [0x43fe78], ecx
cmp dword [esp + 0xe04], edi
jb 0x40eb9c
mov eax, dword [esp + 0xdf0]
push eax
call fcn.0041dadc
add esp, 4
mov ebx, 0xf
mov dword [esp + 0xe04], ebx
mov dword [esp + 0xe00], esi
mov byte [esp + 0xdf0], 0
cmp dword [esp + 0xde8], edi
jb 0x40ebd0
mov ecx, dword [esp + 0xdd4]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0xde8], ebx
mov dword [esp + 0xde4], esi
mov byte [esp + 0xdd4], 0
cmp dword [esp + 0xe20], edi
jb 0x40ebff
mov edx, dword [esp + 0xe0c]
push edx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0xe20], ebx
mov dword [esp + 0xe1c], esi
mov byte [esp + 0xe0c], 0
cmp dword [esp + 0xdcc], edi
jb 0x40ec2e
mov eax, dword [esp + 0xdb8]
push eax
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 1
mov dword [esp + 0xdcc], ebx
mov dword [esp + 0xdc8], esi
mov byte [esp + 0xdb8], 0
je 0x40ec5d
cmp dword [0x43fe7c], 0
jl 0x40ec5d
cmp dword [0x43fe78], 0
jge 0x40ecb0
mov eax, dword [esp + 0x38]
mov ecx, dword [0x44165c]
mov esi, dword [0x441660]
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
sar edi, 1
sub edi, eax
mov eax, dword [esp + 0x3c]
cdq
sub eax, edx
mov dword [0x43fe74], ecx
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
mov byte [0x441369], 1
mov dword [0x43fe70], esi
mov dword [0x43fe7c], edi
mov dword [0x43fe78], ecx
xor esi, esi
xor eax, eax
push esi
push 0x432e83
mov ecx, 0x441884
mov dword [0x441676], eax
mov dword [0x44167a], eax
call fcn.00415de0
push 1
mov edi, 0xf
push 0x43313c
lea ecx, [esp + 0xe80]
mov byte [0x44167f], 0
mov byte [0x4418a8], 1
mov byte [0x4418ec], 0
mov dword [esp + 0xe98], edi
mov dword [esp + 0xe94], esi
mov byte [esp + 0xe84], 0
call fcn.00415de0
push 1
push str._ocnie
lea ecx, [esp + 0xe9c]
mov dword [esp + 0xeb4], edi
mov dword [esp + 0xeb0], esi
mov byte [esp + 0xea0], 0
call fcn.00415de0
push 1
push 0x4331d4
lea ecx, [esp + 0xe48]
mov dword [esp + 0xe60], edi
mov dword [esp + 0xe5c], esi
mov byte [esp + 0xe4c], 0
call fcn.00415de0
push 1
push 0x4331d8
lea ecx, [esp + 0xe64]
mov dword [esp + 0xe7c], edi
mov dword [esp + 0xe78], esi
mov byte [esp + 0xe68], 0
call fcn.00415de0
push 1
push 0x4331dc
lea ecx, [esp + 0xe2c]
mov dword [esp + 0xe44], edi
mov dword [esp + 0xe40], esi
mov byte [esp + 0xe30], 0
call fcn.00415de0
lea edx, [esp + 0xe5c]
push edx
mov eax, 0x4331e0
lea edi, [esp + 0xeec]
call fcn.00416620
lea eax, [esp + 0xe28]
add esp, 4
push eax
lea eax, [esp + 0xe44]
lea edi, [esp + 0xf08]
call fcn.00416550
add esp, 4
mov edi, 0x4331e4
lea eax, [esp + 0xe24]
lea esi, [esp + 0xecc]
call fcn.00416470
lea ecx, [esp + 0xe40]
push ecx
lea eax, [esp + 0xe28]
lea edi, [esp + 0xeb4]
call fcn.00416550
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
add esp, 4
push 0x20
call ebx
sub dword [0x43fe7c], eax
push 4
call ebx
sub dword [0x43fe78], eax
push 0x21
call ebx
sub dword [0x43fe78], eax
mov eax, dword [0x43f3a4]
mov dword [esp + 0x14], 1
cmp eax, 1
jle 0x40ff46
nop
mov eax, dword [esp + 0x14]
mov edx, dword [0x43f3a8]
mov ecx, dword [edx + eax*4]
mov eax, ecx
mov dword [esp + 0xd40], 0xf
mov dword [esp + 0xd3c], 0
mov byte [esp + 0xd2c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40ee90
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0xd30]
call fcn.00415de0
push 3
xor esi, esi
push esi
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x3b0]
mov dword [esp + 0x3c8], 0xf
mov dword [esp + 0x3c4], esi
mov byte [esp + 0x3b4], 0
call fcn.00415960
mov ecx, 0x4331e8
lea edi, [esp + 0x3a4]
call fcn.004165c0
cmp dword [esp + 0x3bc], 0x10
mov bl, al
jb 0x40ef07
mov edx, dword [esp + 0x3a8]
push edx
call fcn.0041dadc
add esp, 4
mov eax, 0xf
mov dword [esp + 0x3bc], eax
mov dword [esp + 0x3b8], esi
mov byte [esp + 0x3a8], 0
test bl, bl
je 0x40f039
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0xd3c]
add eax, 0xfffffffd
push eax
push 3
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x164]
mov dword [esp + 0x178], esi
mov byte [esp + 0x168], 0
call fcn.00415960
mov eax, dword [esp + 0x15c]
mov esi, 0x10
cmp dword [esp + 0x170], esi
jae 0x40ef7d
lea eax, [esp + 0x15c]
push eax
call fcn.0041d453
add esp, 4
mov word [0x441880], ax
cmp dword [esp + 0x170], esi
jb 0x40efa5
mov edx, dword [esp + 0x15c]
push edx
call fcn.0041dadc
add esp, 4
movzx eax, word [0x441880]
mov dword [0x4418b4], eax
mov dword [0x4418ac], eax
lea eax, [esp + 0xd28]
xor ebx, ebx
push eax
mov eax, 0x432fd8
lea edi, [esp + 0x568]
mov dword [esp + 0x174], 0xf
mov dword [esp + 0x170], ebx
mov byte [esp + 0x160], bl
call fcn.00416620
add esp, 4
push ebx
push eax
or eax, 0xffffffff
mov esi, 0x441884
call fcn.00415be0
cmp dword [esp + 0x57c], 0x10
jb 0x40f016
mov ecx, dword [esp + 0x568]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x578], ebx
mov dword [esp + 0x57c], 0xf
mov byte [esp + 0x568], 0
mov ebx, 0xf
xor esi, esi
jmp 0x40f03b
mov ebx, eax
push 4
push esi
lea edx, [esp + 0xd30]
push edx
lea ecx, [esp + 0x2d0]
mov dword [esp + 0x2e8], ebx
mov dword [esp + 0x2e4], esi
mov byte [esp + 0x2d4], 0
call fcn.00415960
mov ecx, str._pw:
lea edi, [esp + 0x2c4]
call fcn.004165c0
cmp dword [esp + 0x2dc], 0x10
mov byte [esp + 0xf], al
jb 0x40f097
mov eax, dword [esp + 0x2c8]
push eax
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x2dc], ebx
mov dword [esp + 0x2d8], esi
mov byte [esp + 0x2c8], 0
je 0x40f1a9
push 8
push 4
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x108], esi
mov byte [esp + 0xf8], 0
call fcn.00415960
mov edx, dword [esp + 0xec]
mov esi, 0x10
cmp dword [esp + 0x100], esi
jae 0x40f102
lea edx, [esp + 0xec]
mov ecx, 0x441676
mov al, byte [edx]
mov byte [ecx], al
inc edx
inc ecx
test al, al
jne 0x40f107
cmp dword [esp + 0x100], esi
jb 0x40f12a
mov edx, dword [esp + 0xec]
push edx
call fcn.0041dadc
add esp, 4
lea eax, [esp + 0xd28]
xor ebx, ebx
push eax
mov eax, 0x432fd8
lea edi, [esp + 0x7d0]
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
call fcn.00416620
add esp, 4
push ebx
push eax
or eax, 0xffffffff
mov esi, 0x441884
call fcn.00415be0
cmp dword [esp + 0x7e4], 0x10
jb 0x40f18a
mov ecx, dword [esp + 0x7d0]
push ecx
call fcn.0041dadc
add esp, 4
xor esi, esi
mov dword [esp + 0x7e0], ebx
mov dword [esp + 0x7e4], 0xf
mov byte [esp + 0x7d0], 0
lea ebx, [esi + 0xf]
mov ecx, 0x4331f4
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40f229
mov edx, edi
push edx
mov eax, 0x432fd8
lea edi, [esp + 0x5a0]
mov byte [0x441674], 0
call fcn.00416620
add esp, 4
push 0
push eax
or eax, 0xffffffff
mov esi, 0x441884
call fcn.00415be0
cmp dword [esp + 0x5b4], 0x10
jb 0x40f206
mov eax, dword [esp + 0x5a0]
push eax
call fcn.0041dadc
add esp, 4
xor esi, esi
mov dword [esp + 0x5b4], 0xf
mov dword [esp + 0x5b0], 0
mov byte [esp + 0x5a0], 0
lea ebx, [esi + 0xf]
mov ecx, 0x4331f8
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40f245
mov byte [0x441675], 1
mov ecx, 0x433144
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40f269
cmp dword [0x441644], 2
je 0x40f269
mov dword [0x441644], esi
push 3
push esi
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x378]
mov dword [esp + 0x390], ebx
mov dword [esp + 0x38c], esi
mov byte [esp + 0x37c], 0
call fcn.00415960
mov ecx, 0x4331fc
lea edi, [esp + 0x36c]
call fcn.004165c0
cmp dword [esp + 0x384], 0x10
mov byte [esp + 0xf], al
jb 0x40f2c5
mov edx, dword [esp + 0x370]
push edx
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x384], ebx
mov dword [esp + 0x380], esi
mov byte [esp + 0x370], 0
je 0x40f3f6
cmp dword [0x441644], 2
je 0x40f2f5
mov dword [0x441644], esi
mov eax, dword [esp + 0xd3c]
add eax, 0xfffffffd
push eax
push 3
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1e8], esi
mov byte [esp + 0x1d8], 0
call fcn.00415960
mov eax, dword [esp + 0x1cc]
mov esi, 0x10
cmp dword [esp + 0x1e0], esi
jae 0x40f348
lea eax, [esp + 0x1cc]
push eax
call fcn.0041d453
dec eax
add esp, 4
mov dword [0x44185c], eax
cmp dword [esp + 0x1e0], esi
jb 0x40f370
mov edx, dword [esp + 0x1cc]
push edx
call fcn.0041dadc
add esp, 4
lea eax, [esp + 0xd28]
xor ebx, ebx
push eax
mov eax, 0x432fd8
lea edi, [esp + 0x6f0]
mov dword [esp + 0x1e4], 0xf
mov dword [esp + 0x1e0], ebx
mov byte [esp + 0x1d0], bl
call fcn.00416620
add esp, 4
push ebx
push eax
or eax, 0xffffffff
mov esi, 0x441884
call fcn.00415be0
cmp dword [esp + 0x704], 0x10
jb 0x40f3d0
mov ecx, dword [esp + 0x6f0]
push ecx
call fcn.0041dadc
add esp, 4
xor esi, esi
mov dword [esp + 0x700], ebx
mov dword [esp + 0x704], 0xf
mov byte [esp + 0x6f0], 0
mov byte [0x441860], 0
lea ebx, [esi + 0xf]
mov ecx, str._log
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40f476
mov edx, edi
push edx
mov eax, 0x432fd8
lea edi, [esp + 0x5d8]
mov byte [0x44136b], 1
call fcn.00416620
add esp, 4
push 0
push eax
or eax, 0xffffffff
mov esi, 0x441884
call fcn.00415be0
cmp dword [esp + 0x5ec], 0x10
jb 0x40f453
mov eax, dword [esp + 0x5d8]
push eax
call fcn.0041dadc
add esp, 4
xor esi, esi
mov dword [esp + 0x5ec], 0xf
mov dword [esp + 0x5e8], 0
mov byte [esp + 0x5d8], 0
lea ebx, [esi + 0xf]
mov ecx, str._old
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40f4f8
mov ecx, edi
push ecx
mov eax, 0x432fd8
lea edi, [esp + 0x798]
mov byte [0x4418ee], 0
call fcn.00416620
add esp, 4
push 0
push eax
or eax, 0xffffffff
mov esi, 0x441884
call fcn.00415be0
cmp dword [esp + 0x7ac], 0x10
jb 0x40f4d3
mov edx, dword [esp + 0x798]
push edx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x7ac], 0xf
mov dword [esp + 0x7a8], 0
mov byte [esp + 0x798], 0
xor esi, esi
mov ebx, 0xf
push 3
push esi
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x308]
mov dword [esp + 0x320], ebx
mov dword [esp + 0x31c], esi
mov byte [esp + 0x30c], 0
call fcn.00415960
mov ecx, 0x4331c4
lea edi, [esp + 0x2fc]
call fcn.004165c0
cmp dword [esp + 0x314], 0x10
mov byte [esp + 0xf], al
jb 0x40f554
mov ecx, dword [esp + 0x300]
push ecx
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x314], ebx
mov dword [esp + 0x310], esi
mov byte [esp + 0x300], 0
je 0x40f5fb
mov edx, dword [esp + 0xd3c]
add edx, 0xfffffffd
push edx
push 3
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x228]
mov dword [0x441644], 1
mov dword [esp + 0x240], ebx
mov dword [esp + 0x23c], esi
mov byte [esp + 0x22c], 0
call fcn.00415960
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x224]
push ecx
mov ecx, 0x441864
call fcn.00415960
cmp dword [esp + 0x234], 0x10
jb 0x40f5e5
mov edx, dword [esp + 0x220]
push edx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x234], ebx
mov dword [esp + 0x230], esi
mov byte [esp + 0x220], 0
mov ecx, 0x433210
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40f617
mov byte [0x4418ba], 1
push 3
push esi
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x244]
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x258], esi
mov byte [esp + 0x248], 0
call fcn.00415960
mov ecx, 0x433214
lea edi, [esp + 0x238]
call fcn.004165c0
cmp dword [esp + 0x250], 0x10
mov byte [esp + 0xf], al
jb 0x40f673
mov ecx, dword [esp + 0x23c]
push ecx
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x250], ebx
mov dword [esp + 0x24c], esi
mov byte [esp + 0x23c], 0
je 0x40f734
mov edx, dword [esp + 0xd3c]
add edx, 0xfffffffd
push edx
push 3
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x12c]
mov dword [esp + 0x144], ebx
mov dword [esp + 0x140], esi
mov byte [esp + 0x130], 0
call fcn.00415960
cmp dword [esp + 0x138], 0x10
mov eax, dword [esp + 0x124]
jae 0x40f6e3
lea eax, [esp + 0x124]
push eax
call fcn.0041d453
add esp, 4
cmp dword [esp + 0x138], 0x10
mov edi, eax
jb 0x40f708
mov ecx, dword [esp + 0x124]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0x38]
mov edx, eax
neg edx
cmp edi, edx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x134], esi
mov byte [esp + 0x124], 0
jle 0x40f734
cmp edi, eax
jge 0x40f734
mov dword [0x43fe7c], edi
push 3
push esi
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x27c]
mov dword [esp + 0x294], ebx
mov dword [esp + 0x290], esi
mov byte [esp + 0x280], 0
call fcn.00415960
mov ecx, 0x433218
lea edi, [esp + 0x270]
call fcn.004165c0
cmp dword [esp + 0x288], 0x10
mov byte [esp + 0xf], al
jb 0x40f790
mov ecx, dword [esp + 0x274]
push ecx
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x288], ebx
mov dword [esp + 0x284], esi
mov byte [esp + 0x274], 0
je 0x40f845
mov edx, dword [esp + 0xd3c]
add edx, 0xfffffffd
push edx
push 3
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], esi
mov byte [esp + 0x88], 0
call fcn.00415960
cmp dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x7c]
jae 0x40f7fa
lea eax, [esp + 0x7c]
push eax
call fcn.0041d453
add esp, 4
cmp dword [esp + 0x90], 0x10
mov edi, eax
jb 0x40f81c
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0x3c]
mov edx, eax
neg edx
cmp edi, edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x8c], esi
mov byte [esp + 0x7c], 0
jle 0x40f845
cmp edi, eax
jge 0x40f845
mov dword [0x43fe78], edi
push 4
push esi
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0x2b4]
mov dword [esp + 0x2cc], ebx
mov dword [esp + 0x2c8], esi
mov byte [esp + 0x2b8], 0
call fcn.00415960
mov ecx, str._cx:
lea edi, [esp + 0x2a8]
call fcn.004165c0
cmp dword [esp + 0x2c0], 0x10
mov byte [esp + 0xf], al
jb 0x40f8a1
mov ecx, dword [esp + 0x2ac]
push ecx
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2bc], esi
mov byte [esp + 0x2ac], 0
je 0x40f971
mov edx, dword [esp + 0xd3c]
add edx, 0xfffffffc
push edx
push 4
lea eax, [esp + 0xd30]
push eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb4], esi
mov byte [esp + 0xa4], 0
call fcn.00415960
cmp dword [esp + 0xac], 0x10
mov eax, dword [esp + 0x98]
jae 0x40f911
lea eax, [esp + 0x98]
push eax
call fcn.0041d453
add esp, 4
cmp dword [esp + 0xac], 0x10
mov edi, eax
jb 0x40f936
mov ecx, dword [esp + 0x98]
push ecx
call fcn.0041dadc
add esp, 4
cmp edi, esi
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], esi
mov byte [esp + 0x98], 0
jle 0x40f95c
cmp edi, dword [esp + 0x38]
jg 0x40f95c
mov dword [0x43fe74], edi
mov byte [0x441368], 0
mov byte [0x441369], 0
mov byte [0x44136a], 0
push 4
push esi
lea edx, [esp + 0xd30]
push edx
lea ecx, [esp + 0x2ec]
mov dword [esp + 0x304], ebx
mov dword [esp + 0x300], esi
mov byte [esp + 0x2f0], 0
call fcn.00415960
mov ecx, str._cy:
lea edi, [esp + 0x2e0]
call fcn.004165c0
cmp dword [esp + 0x2f8], 0x10
mov byte [esp + 0xf], al
jb 0x40f9cd
mov eax, dword [esp + 0x2e4]
push eax
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x2f8], ebx
mov dword [esp + 0x2f4], esi
mov byte [esp + 0x2e4], 0
je 0x40fa9d
mov ecx, dword [esp + 0xd3c]
add ecx, 0xfffffffc
push ecx
push 4
lea edx, [esp + 0xd30]
push edx
lea ecx, [esp + 0xd8]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xec], esi
mov byte [esp + 0xdc], 0
call fcn.00415960
cmp dword [esp + 0xe4], 0x10
mov eax, dword [esp + 0xd0]
jae 0x40fa3d
lea eax, [esp + 0xd0]
push eax
call fcn.0041d453
add esp, 4
cmp dword [esp + 0xe4], 0x10
mov edi, eax
jb 0x40fa62
mov eax, dword [esp + 0xd0]
push eax
call fcn.0041dadc
add esp, 4
cmp edi, esi
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], esi
mov byte [esp + 0xd0], 0
jle 0x40fa88
cmp edi, dword [esp + 0x3c]
jg 0x40fa88
mov dword [0x43fe70], edi
mov byte [0x441368], 0
mov byte [0x441369], 0
mov byte [0x44136a], 0
push 7
push esi
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x324]
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x338], esi
mov byte [esp + 0x328], 0
call fcn.00415960
mov ecx, str._codec:
lea edi, [esp + 0x318]
call fcn.004165c0
cmp dword [esp + 0x330], 0x10
mov byte [esp + 0xf], al
jb 0x40faf9
mov edx, dword [esp + 0x31c]
push edx
call fcn.0041dadc
add esp, 4
cmp byte [esp + 0xf], 0
mov dword [esp + 0x330], ebx
mov dword [esp + 0x32c], esi
mov byte [esp + 0x31c], 0
je 0x40fc61
mov eax, dword [esp + 0xd3c]
add eax, 0xfffffff9
push eax
push 7
lea ecx, [esp + 0xd30]
push ecx
mov ebx, 0xf
xor edi, edi
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], edi
mov byte [esp + 0x6c], 0
call fcn.00415960
cmp dword [esp + 0x74], 0x10
mov edx, dword [esp + 0x60]
jae 0x40fb5e
lea edx, [esp + 0x60]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40fb63
sub eax, esi
push eax
push edx
mov ecx, 0x43e21c
call fcn.00415de0
cmp dword [esp + 0x74], 0x10
jb 0x40fb8c
mov edx, dword [esp + 0x60]
push edx
call fcn.0041dadc
add esp, 4
cmp dword [0x43e230], 3
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], edi
mov byte [esp + 0x60], 0
jae 0x40fba7
call fcn.0041d729
mov eax, dword [0x43e234]
mov ecx, dword [0x43e220]
mov edi, ecx
cmp eax, 0x10
jae 0x40fbbe
mov edi, 0x43e220
cmp dword [0x43e230], 2
jae 0x40fbd7
call fcn.0041d729
mov eax, dword [0x43e234]
mov ecx, dword [0x43e220]
mov esi, ecx
cmp eax, 0x10
jae 0x40fbe3
mov esi, 0x43e220
cmp dword [0x43e230], 1
jae 0x40fbfc
call fcn.0041d729
mov eax, dword [0x43e234]
mov ecx, dword [0x43e220]
mov edx, ecx
cmp eax, 0x10
jae 0x40fc0a
mov edx, 0x43e220
mov ecx, edx
movsx eax, byte [edi + 3]
movsx esi, byte [esi + 2]
movsx edx, byte [edx + 1]
movsx ecx, byte [ecx]
shl eax, 8
add eax, esi
shl eax, 8
add eax, edx
shl eax, 8
push 4
add eax, ecx
push eax
push 0x63646976
call sub.MSVFW32.dll_ICOpen
mov esi, eax
push 0
test esi, esi
jne 0x40fc4e
push 0x432e83
mov ecx, 0x43e21c
call fcn.00415de0
jmp 0x40fc61
push 0
push 0x4009
push esi
call sub.MSVFW32.dll_ICSendMessage
push esi
call sub.MSVFW32.dll_ICClose
push 6
xor esi, esi
push esi
lea edx, [esp + 0xd30]
push edx
lea ecx, [esp + 0x35c]
mov dword [esp + 0x374], 0xf
mov dword [esp + 0x370], esi
mov byte [esp + 0x360], 0
call fcn.00415960
mov ecx, str._wait:
lea edi, [esp + 0x350]
call fcn.004165c0
mov edi, 0x10
mov bl, al
cmp dword [esp + 0x368], edi
jb 0x40fcc5
mov eax, dword [esp + 0x354]
push eax
call fcn.0041dadc
add esp, 4
mov eax, 0xf
mov dword [esp + 0x368], eax
mov dword [esp + 0x364], esi
mov byte [esp + 0x354], 0
test bl, bl
je 0x40fd93
mov ecx, dword [esp + 0xd3c]
add ecx, 0xfffffffa
push ecx
push 6
lea edx, [esp + 0xd30]
push edx
lea ecx, [esp + 0x148]
mov dword [esp + 0x160], eax
mov dword [esp + 0x15c], esi
mov byte [esp + 0x14c], 0
call fcn.00415960
mov eax, dword [esp + 0x140]
cmp dword [esp + 0x154], edi
jae 0x40fd36
lea eax, [esp + 0x140]
push eax
call fcn.0041d453
add esp, 4
mov esi, eax
cmp dword [esp + 0x154], edi
jb 0x40fd5a
mov eax, dword [esp + 0x140]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x154], 0xf
mov dword [esp + 0x150], 0
mov byte [esp + 0x140], 0
test esi, esi
jge 0x40fd80
xor esi, esi
jmp 0x40fd8d
cmp esi, 0xc8
jle 0x40fd8d
mov esi, 0xc8
mov dword [0x43e130], esi
mov ecx, str._ibd
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40fdaf
mov byte [0x4418ef], 0
mov ecx, str._hisnd
lea edi, [esp + 0xd28]
call fcn.004165c0
test al, al
je 0x40fdcb
mov byte [0x44136c], 1
push 5
xor esi, esi
push esi
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x394]
mov dword [esp + 0x3ac], 0xf
mov dword [esp + 0x3a8], esi
mov byte [esp + 0x398], 0
call fcn.00415960
mov ecx, str._zip:
lea edi, [esp + 0x388]
call fcn.004165c0
cmp dword [esp + 0x3a0], 0x10
mov bl, al
jb 0x40fe2b
mov edx, dword [esp + 0x38c]
push edx
call fcn.0041dadc
add esp, 4
mov edi, 0xf
mov dword [esp + 0x3a0], edi
mov dword [esp + 0x39c], esi
mov byte [esp + 0x38c], 0
test bl, bl
je 0x40fefa
mov eax, dword [esp + 0xd3c]
add eax, 0xfffffffb
push eax
push 5
lea ecx, [esp + 0xd30]
push ecx
lea ecx, [esp + 0x180]
mov dword [esp + 0x198], edi
mov dword [esp + 0x194], esi
mov byte [esp + 0x184], 0
call fcn.00415960
cmp dword [esp + 0x18c], 0x10
mov eax, dword [esp + 0x178]
jae 0x40fe9d
lea eax, [esp + 0x178]
push eax
call fcn.0041d453
add esp, 4
cmp dword [esp + 0x18c], 0x10
mov esi, eax
jb 0x40fec2
mov edx, dword [esp + 0x178]
push edx
call fcn.0041dadc
add esp, 4
cmp esi, 1
mov dword [esp + 0x18c], edi
mov dword [esp + 0x188], 0
mov byte [esp + 0x178], 0
jge 0x40fee8
mov esi, 1
jmp 0x40fef2
cmp esi, 9
jle 0x40fef2
mov esi, 9
mov dword [0x4418f0], esi
xor esi, esi
cmp dword [esp + 0xd40], 0x10
jb 0x40ff14
mov eax, dword [esp + 0xd2c]
push eax
call fcn.0041dadc
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [0x43f3a4]
inc ecx
cmp ecx, eax
mov dword [esp + 0xd40], edi
mov dword [esp + 0xd3c], esi
mov byte [esp + 0xd2c], 0
mov dword [esp + 0x14], ecx
jl 0x40ee60
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, 1
cmp eax, esi
jle 0x41002a
mov eax, 0xf
xor edi, edi
lea ebx, [ebx]
mov ecx, dword [0x43f3a8]
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0xdb0], eax
mov eax, ecx
mov dword [esp + 0xdac], edi
mov byte [esp + 0xd9c], 0
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40ff84
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0xda0]
call fcn.00415de0
mov ecx, str._service
lea edi, [esp + 0xd98]
call fcn.004165c0
test al, al
je 0x40ffc4
mov dword [0x441330], 1
mov dword [0x441644], 2
mov ecx, str._service_sub
lea edi, [esp + 0xd98]
call fcn.004165c0
xor edi, edi
test al, al
je 0x40ffe8
mov byte [0x4412f1], 1
mov dword [0x441644], edi
cmp dword [esp + 0xdb0], 0x10
jb 0x410002
mov edx, dword [esp + 0xd9c]
push edx
call fcn.0041dadc
add esp, 4
inc esi
cmp esi, dword [0x43f3a4]
mov eax, 0xf
mov dword [esp + 0xdb0], eax
mov dword [esp + 0xdac], edi
mov byte [esp + 0xd9c], 0
jl 0x40ff60
mov eax, dword [0x441360]
mov ecx, dword [0x441364]
add dword [0x43fe74], eax
add dword [0x43fe70], ecx
push 0x20
call ebx
mov edx, dword [0x43fe74]
lea eax, [edx + eax*2]
push 4
mov dword [0x43fe74], eax
call ebx
add dword [0x43fe70], eax
push 0x21
call ebx
mov ecx, dword [0x43fe70]
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [0x43fe70], edx
or edx, 0xffffffff
push 0x441150
mov dword [0x441140], edx
mov dword [0x441144], edx
mov dword [0x43ff90], edx
mov dword [0x43ff94], edx
mov dword [0x441654], eax
mov dword [0x441658], ecx
mov dword [0x44164c], eax
mov dword [0x441650], ecx
mov dword [0x44166c], eax
mov dword [0x441670], ecx
mov dword [0x441664], edx
mov dword [0x441668], edx
mov dword [0x441150], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea eax, [esp + 0xf20]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x101
lea ecx, [esp + 0x11e4]
push ecx
call dword [sym.imp.WS2_32.dll_gethostname]
lea edx, [esp + 0x11e0]
push edx
call dword [sym.imp.WS2_32.dll_gethostbyname]
xor esi, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], esi
mov edi, 0x441680
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0xc]
cmp dword [ecx + esi*4], 0
lea eax, [ecx + esi*4]
je 0x410179
mov edx, dword [eax]
mov eax, dword [edx]
push eax
mov dword [esp + 0x18], esi
call dword [sym.imp.WS2_32.dll_inet_ntoa]
lea edx, [esp + 0x11e0]
jmp 0x410140
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x410140
lea eax, [esp + 0x11e0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410154
sub eax, edx
push eax
lea eax, [esp + 0x11e4]
push eax
mov ecx, edi
call fcn.00415de0
add edi, 0x1c
inc esi
cmp edi, 0x441840
jl 0x410115
mov eax, dword [0x44185c]
test eax, eax
jl 0x410188
cmp eax, dword [esp + 0x14]
jle 0x41018f
xor eax, eax
mov dword [0x44185c], eax
lea ecx, [eax*8]
push 0xffffffffffffffff
sub ecx, eax
lea edx, [ecx*4 + 0x441680]
push 0
push edx
mov ecx, 0x441840
call fcn.00415960
push 0x2000000
push 0
push 0
push str.Default
call dword [sym.imp.USER32.dll_OpenDesktopA]
mov dword [0x4413a0], eax
mov edi, str._recv
mov eax, 0x441628
lea esi, [esp + 0x60c]
call fcn.00416470
cmp dword [eax + 0x18], 0x10
jb 0x4101e8
mov eax, dword [eax + 4]
jmp 0x4101eb
add eax, 4
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp dword [esp + 0x624], 0x10
jb 0x41020e
mov eax, dword [esp + 0x610]
push eax
call fcn.0041dadc
add esp, 4
cmp dword [0x441644], 2
mov dword [esp + 0x624], 0xf
mov dword [esp + 0x620], 0
mov byte [esp + 0x610], 0
je 0x412a52
mov eax, 0x20
push eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
call ebx
lea eax, [eax + eax + 0x20]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
add eax, dword [0x441360]
push 0x21
mov dword [esp + 0x4c], eax
call ebx
mov esi, eax
push 4
add esi, esi
call ebx
push str.Tahoma
push 0
push 0
push 0
lea eax, [eax + esi + 0x20]
push 0
cdq
push 0x80
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x54]
push 0
push 0
cdq
push 0
push 0x190
sub eax, edx
push 0
sar eax, 1
sar ecx, 1
push 0
sub eax, ecx
add eax, dword [0x441364]
push 0
push 0xd
mov dword [esp + 0x84], eax
call dword [sym.imp.GDI32.dll_CreateFontA]
push 0xf
mov dword [esp + 0x14], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edx, dword [0x4413d0]
push eax
push 0xfffffffffffffff6
push edx
call dword [sym.imp.USER32.dll_SetClassLongA]
cmp dword [0x441644], 0xffffffff
jne 0x412a52
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
push 0
push eax
mov eax, dword [esp + 0x54]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push eax
push ecx
push 0x4a0000
push 0
push 0x441248
push 0x200
mov byte [0x43ff9e], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp byte [0x441675], 0
mov esi, dword [esp + 0x10]
mov ebx, eax
mov dword [esp + 0x18], ebx
jne 0x410456
push 0
push esi
push 0x30
push 0
push 0
push 0x3f0
push ebx
push 0x20
push 0x92
push 6
push 6
push 0x40010000
push 0x433280
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3e9
push ebx
push 0x20
push 0x92
push 0x2c
push 6
push 0x40010000
push 0x433290
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3ea
push ebx
push 0x20
push 0x92
push 0x52
push 6
push 0x40010000
push 0x43329c
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3f1
push ebx
push 0x20
push 0x92
push 0x78
push 6
push 0x40010000
push str.EnglishMode
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3eb
push ebx
push 0x20
push 0x92
push 0x9e
push 6
push 0x40010000
push 0x4332b4
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
jmp 0x41045c
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x441675], 1
jne 0x410570
push 0
push esi
push 0x30
push 0
push 0
push 0x3f0
push ebx
push 0x20
push 0x92
push 6
push 6
push 0x40010000
push str.OfficialSite
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3e9
push ebx
push 0x20
push 0x92
push 0x2c
push 6
push 0x40010000
push str.ClientMode
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3ea
push ebx
push 0x20
push 0x92
push 0x52
push 6
push 0x40010000
push str.ServerMode
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3f1
push ebx
push 0x20
push 0x92
push 0x78
push 6
push 0x40010000
push str.JapaneseMode
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x3eb
push ebx
push 0x20
push 0x92
push 0x9e
push 6
push 0x40010000
push str.Quit
push str.Button
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
cmp byte [0x441675], 0
jne 0x4106a3
push 0
push esi
push 0x30
push 0
push 0
push 0x44d
push ebx
push 0x10
push 0x50
push 0xa
push 2
push 0x40000001
push 0x4332fc
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x44e
push ebx
push 0x10
push 0x50
push 0x20
push 2
push 0x40000001
push 0x433310
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x44f
push ebx
push 0x10
push 0x50
push 0x36
push 2
push 0x40000001
push 0x43331c
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x450
push ebx
push 0x10
push 0x50
push 0x4c
push 2
push 0x40000001
push 0x433324
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x45d
push ebx
push 0x10
push 0x50
push 0x62
push 2
push 0x40000001
push 0x433330
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x451
push ebx
push 0x10
push 0x50
push 0x78
push 2
push 0x40000001
push 0x433338
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
cmp byte [0x441675], 1
jne 0x4107d6
push 0
push esi
push 0x30
push 0
push 0
push 0x44d
push ebx
push 0x10
push 0x50
push 0xa
push 2
push 0x40000001
push str.HostIP
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x44e
push ebx
push 0x10
push 0x50
push 0x20
push 2
push 0x40000001
push str.Port
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x44f
push ebx
push 0x10
push 0x50
push 0x36
push 2
push 0x40000001
push str.Password
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x450
push ebx
push 0x10
push 0x50
push 0x4c
push 2
push 0x40000001
push 0x433360
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x45d
push ebx
push 0x10
push 0x50
push 0x62
push 2
push 0x40000001
push 0x433370
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
push 0
push esi
push 0x30
push 0
push 0
push 0x451
push ebx
push 0x10
push 0x50
push 0x78
push 2
push 0x40000001
push str.Service
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
cmp dword [0x441858], 0x10
mov eax, dword [0x441844]
jae 0x4107e9
mov eax, 0x441844
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExA]
push 0
push 0x4b1
push ebx
push 0x14
push 0x72
push 6
push 0x52
push 0x40010881
push eax
push str.Edit
push 0x200
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x51c
push ebx
push 0xc8
push 0x72
push 6
push 0x52
push 0x40010103
push 0x432e83
push str.ComboBox
push 0x200
call esi
push eax
call edi
mov ecx, dword [0x4418ac]
push ecx
lea esi, [esp + 0x418]
call fcn.004167e0
cmp dword [eax + 0x18], 0x10
jb 0x410874
mov eax, dword [eax + 4]
jmp 0x410877
add eax, 4
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x4b2
push ebx
push 0x14
push 0x30
push 0x1c
push 0x52
push 0x40010081
push eax
push str.Edit
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
cmp dword [esp + 0x42c], 0x10
jb 0x4108c5
mov eax, dword [esp + 0x418]
push eax
call fcn.0041dadc
add esp, 4
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x458
push ebx
push 0x14
push 0xa
push 0x20
push 0x87
push 0x40000001
push 0x432fd0
push str.Static
push 0
mov dword [esp + 0x468], 0xf
mov dword [esp + 0x464], 0
mov byte [esp + 0x454], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
mov edx, dword [0x4418ac]
add edx, 2
push edx
lea esi, [esp + 0x728]
call fcn.004167e0
cmp dword [eax + 0x18], 0x10
jb 0x41093c
mov eax, dword [eax + 4]
jmp 0x41093f
add eax, 4
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExA]
push 0
push 0x4b4
push ebx
push 0x14
push 0x30
push 0x1c
push 0x94
push 0x40000881
push eax
push str.Edit
push 0x200
call esi
push eax
call edi
cmp dword [esp + 0x73c], 0x10
jb 0x410992
mov edx, dword [esp + 0x728]
push edx
call fcn.0041dadc
add esp, 4
mov eax, 0xf
xor ecx, ecx
mov dword [esp + 0x73c], eax
mov dword [esp + 0x3d8], eax
mov eax, 0x441676
mov dword [esp + 0x738], ecx
mov byte [esp + 0x728], cl
mov dword [esp + 0x3d4], ecx
mov byte [esp + 0x3c4], cl
lea edx, [eax + 1]
jmp 0x4109d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4109d0
sub eax, edx
push eax
push 0x441676
lea ecx, [esp + 0x3c8]
call fcn.00415de0
push 8
push 0
lea eax, [esp + 0x3c8]
push eax
lea ecx, [esp + 0x1b8]
mov dword [esp + 0x1d0], 0xf
mov dword [esp + 0x1cc], 0
mov byte [esp + 0x1bc], 0
call fcn.00415960
cmp dword [esp + 0x1c4], 0x10
mov eax, dword [esp + 0x1b0]
jae 0x410a39
lea eax, [esp + 0x1b0]
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x4b3
push ebx
push 0x14
push 0x72
push 0x32
push 0x52
push 0x400100a1
push eax
push str.Edit
push 0x200
call esi
push eax
call edi
cmp dword [esp + 0x1c4], 0x10
jb 0x410a83
mov edx, dword [esp + 0x1b0]
push edx
call fcn.0041dadc
add esp, 4
cmp dword [esp + 0x3d8], 0x10
mov dword [esp + 0x1c4], 0xf
mov dword [esp + 0x1c0], 0
mov byte [esp + 0x1b0], 0
jb 0x410abb
mov eax, dword [esp + 0x3c4]
push eax
call fcn.0041dadc
add esp, 4
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x515
push ebx
push 0xc8
push 0x38
push 0x48
push 0x52
push 0x40010103
push 0x432e83
push str.ComboBox
push 0x200
mov dword [esp + 0x414], 0xf
mov dword [esp + 0x410], 0
mov byte [esp + 0x400], 0
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x51d
push ebx
push 0xc8
push 0x38
push 0x5e
push 0x52
push 0x40010103
push 0x432e83
push str.ComboBox
push 0x200
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x516
push ebx
push 0xc8
push 0x38
push 0x74
push 0x52
push 0x40010103
push 0x432e83
push str.ComboBox
push 0x200
call esi
push eax
call edi
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x452
push ebx
push 8
push 0xc4
push 0x8e
push 6
push 0x40000010
push 0x432e83
push str.Static
push 0x200
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x3ec
push ebx
push 0x1c
push 0x5c
push 0x96
push 6
push 0x40010000
push 0x433390
push str.Button
push 0
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x3ed
push ebx
push 0x1c
push 0x5c
push 0x96
push 0x68
push 0x40010000
push str.Cancel
push str.Button
push 0
call esi
push eax
call edi
cmp byte [0x441675], 0
jne 0x410d53
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x453
push ebx
push 0x10
push 0x50
push 0xa
push 2
push 0x40000001
push 0x43339c
push str.Static
push 0
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x454
push ebx
push 0x10
push 0x50
push 0x20
push 2
push 0x40000001
push 0x4333a8
push str.Static
push 0
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x455
push ebx
push 0x10
push 0x50
push 0x36
push 2
push 0x40000001
push 0x43331c
push str.Static
push 0
call esi
push eax
call edi
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x456
push ebx
push 0x10
push 0x50
push 0x4c
push 2
push 0x40000001
push 0x433324
push str.Static
push 0
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x45a
push ebx
push 0x10
push 0x50
push 0x62
push 2
push 0x40000001
push 0x4333b4
push str.Static
push 0
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x45b
push ebx
push 0x10
push 0x50
push 0x78
push 2
push 0x40000001
push 0x4333c0
push str.Static
push 0
call esi
push eax
call edi
cmp byte [0x441675], 1
jne 0x410e86
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x453
push ebx
push 0x10
push 0x50
push 0xa
push 2
push 0x40000001
push str.ConnectIP
push str.Static
push 0
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x454
push ebx
push 0x10
push 0x50
push 0x20
push 2
push 0x40000001
push str.ConnectPort
push str.Static
push 0
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x455
push ebx
push 0x10
push 0x50
push 0x36
push 2
push 0x40000001
push str.Password
push str.Static
push 0
call esi
push eax
call edi
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x456
push ebx
push 0x10
push 0x50
push 0x4c
push 2
push 0x40000001
push 0x433360
push str.Static
push 0
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x45a
push ebx
push 0x10
push 0x50
push 0x62
push 2
push 0x40000001
push 0x4333e4
push str.Static
push 0
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x45b
push ebx
push 0x10
push 0x50
push 0x78
push 2
push 0x40000001
push str.CompressCodec
push str.Static
push 0
call esi
push eax
call edi
cmp dword [0x44187c], 0x10
mov eax, dword [0x441868]
jae 0x410e99
mov eax, 0x441868
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x4b7
push ebx
push 0x14
push 0x72
push 6
push 0x52
push 0x40010081
push eax
push str.Edit
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
mov edx, dword [0x4418b4]
push edx
lea esi, [esp + 0x434]
call fcn.004167e0
cmp dword [eax + 0x18], 0x10
jb 0x410eeb
mov eax, dword [eax + 4]
jmp 0x410eee
add eax, 4
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x4b8
push ebx
push 0x14
push 0x30
push 0x1c
push 0x52
push 0x40010081
push eax
push str.Edit
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
cmp dword [esp + 0x448], 0x10
jb 0x410f3c
mov edx, dword [esp + 0x434]
push edx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x459
push ebx
push 0x14
push 0xa
push 0x20
push 0x87
push 0x40000001
push 0x432fd0
push str.Static
push 0
mov dword [esp + 0x484], 0xf
mov dword [esp + 0x480], 0
mov byte [esp + 0x470], 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push eax
call edi
mov ecx, dword [0x4418b4]
add ecx, 2
push ecx
lea esi, [esp + 0x46c]
call fcn.004167e0
cmp dword [eax + 0x18], 0x10
jb 0x410fb3
mov eax, dword [eax + 4]
jmp 0x410fb6
add eax, 4
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
mov esi, dword [sym.imp.USER32.dll_CreateWindowExA]
push 0
push 0x4b5
push ebx
push 0x14
push 0x30
push 0x1c
push 0x94
push 0x40000881
push eax
push str.Edit
push 0x200
call esi
push eax
call edi
cmp dword [esp + 0x480], 0x10
jb 0x411009
mov eax, dword [esp + 0x46c]
push eax
call fcn.0041dadc
add esp, 4
push 0x441676
lea ecx, [esp + 0x4a4]
mov dword [esp + 0x484], 0xf
mov dword [esp + 0x480], 0
mov byte [esp + 0x470], 0
call fcn.00415760
push 8
push 0
push eax
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x208], 0xf
mov dword [esp + 0x204], 0
mov byte [esp + 0x1f4], 0
call fcn.00415960
cmp dword [esp + 0x1fc], 0x10
mov eax, dword [esp + 0x1e8]
jae 0x41107f
lea eax, [esp + 0x1e8]
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x4b9
push ebx
push 0x14
push 0x72
push 0x32
push 0x52
push 0x400100a1
push eax
push str.Edit
push 0x200
call esi
push eax
call edi
cmp dword [esp + 0x1fc], 0x10
jb 0x4110c9
mov edx, dword [esp + 0x1e8]
push edx
call fcn.0041dadc
add esp, 4
cmp dword [esp + 0x4b8], 0x10
mov dword [esp + 0x1fc], 0xf
mov dword [esp + 0x1f8], 0
mov byte [esp + 0x1e8], 0
jb 0x411101
mov eax, dword [esp + 0x4a4]
push eax
call fcn.0041dadc
add esp, 4
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x517
push ebx
push 0xc8
push 0x38
push 0x48
push 0x52
push 0x40010103
push 0x432e83
push str.ComboBox
push 0x200
mov dword [esp + 0x4f4], 0xf
mov dword [esp + 0x4f0], 0
mov byte [esp + 0x4e0], 0
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x51b
push ebx
push 0xc8
push 0x38
push 0x5e
push 0x52
push 0x40010103
push 0x432e83
push str.ComboBox
push 0x200
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x518
push ebx
push 0xc8
push 0x72
push 0x74
push 0x52
push 0x40210003
push 0x432e83
push str.ComboBox
push 0x200
call esi
push eax
call edi
mov ecx, dword [esp + 0x10]
push 0
push ecx
push 0x30
push 0
push 0
push 0x457
push ebx
push 8
push 0xc4
push 0x8e
push 6
push 0x40000010
push 0x432e83
push str.Static
push 0x200
call esi
push eax
call edi
mov edx, dword [esp + 0x10]
push 0
push edx
push 0x30
push 0
push 0
push 0x3ee
push ebx
push 0x1c
push 0x5c
push 0x96
push 6
push 0x40010000
push 0x433390
push str.Button
push 0
call esi
push eax
call edi
mov eax, dword [esp + 0x10]
push 0
push eax
push 0x30
push 0
push 0
push 0x3ef
push ebx
push 0x1c
push 0x5c
push 0x96
push 0x68
push 0x40010000
push str.Cancel
push str.Button
push 0
call esi
push eax
call edi
cmp byte [0x441675], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x4112d1
push 0x433404
push 0
push 0x14a
push 0x515
push ebx
call esi
push eax
call edi
push 0x43340c
push 1
push 0x14a
push 0x515
push ebx
call esi
push eax
call edi
push 0x433404
push 0
push 0x14a
push 0x51d
push ebx
call esi
push eax
call edi
push 0x43340c
push 1
push 0x14a
push 0x51d
push ebx
call esi
push eax
call edi
cmp byte [0x441675], 1
jne 0x411336
push 0x433414
push 0
push 0x14a
push 0x515
push ebx
call esi
push eax
call edi
push str._Off
push 1
push 0x14a
push 0x515
push ebx
call esi
push eax
call edi
push 0x433414
push 0
push 0x14a
push 0x51d
push ebx
call esi
push eax
call edi
push str._Off
push 1
push 0x14a
push 0x51d
push ebx
call esi
push eax
call edi
mov ecx, 0x432e83
mov edi, 0x441680
xor esi, esi
call fcn.004165c0
test al, al
jne 0x411474
nop
push 0xffffffffffffffff
push 0
push edi
lea ecx, [esp + 0xd88]
mov dword [esp + 0xda0], 0xf
mov dword [esp + 0xd9c], 0
mov byte [esp + 0xd8c], 0
call fcn.00415960
lea ecx, [esp + 0xd7c]
push ecx
mov eax, 0x432fd8
lea edi, [esp + 0x4dc]
call fcn.00416620
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xd88]
call fcn.00415960
cmp dword [esp + 0x4f0], 0x10
jb 0x4113c6
mov edx, dword [esp + 0x4dc]
push edx
call fcn.0041dadc
add esp, 4
mov eax, dword [esp + 0xd80]
mov edi, 0x10
mov dword [esp + 0x4f0], 0xf
mov dword [esp + 0x4ec], 0
mov byte [esp + 0x4dc], 0
cmp dword [esp + 0xd94], edi
jae 0x411400
lea eax, [esp + 0xd80]
push eax
push esi
push 0x14a
push 0x51c
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esp + 0xd94], edi
jb 0x411433
mov eax, dword [esp + 0xd80]
push eax
call fcn.0041dadc
add esp, 4
inc esi
lea edi, [esi*8]
sub edi, esi
lea edi, [edi*4 + 0x441680]
mov ecx, 0x432e83
mov dword [esp + 0xd94], 0xf
mov dword [esp + 0xd90], 0
mov byte [esp + 0xd80], 0
call fcn.004165c0
test al, al
je 0x411350
push str._______
push 0
push 0x14a
push 0x516
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
movzx ecx, word [0x441880]
push ecx
lea esi, [esp + 0x584]
mov dword [esp + 0x44], eax
call fcn.004167e0
push eax
mov edi, 0x43313c
mov eax, 0x4415d4
lea esi, [esp + 0x54c]
call fcn.00416470
lea edi, [esp + 0x514]
call fcn.00416550
add esp, 4
cmp dword [eax + 0x18], 0x10
jb 0x4114eb
mov eax, dword [eax + 4]
jmp 0x4114ee
add eax, 4
mov edx, dword [esp + 0x40]
push 0xf003f
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov esi, 0x10
mov dword [esp + 0x14], eax
cmp dword [esp + 0x528], esi
jb 0x411521
mov eax, dword [esp + 0x514]
push eax
call fcn.0041dadc
add esp, 4
xor edi, edi
mov dword [esp + 0x528], 0xf
mov dword [esp + 0x524], edi
mov byte [esp + 0x514], 0
cmp dword [esp + 0x560], esi
jb 0x411556
mov ecx, dword [esp + 0x54c]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x560], 0xf
mov dword [esp + 0x55c], edi
mov byte [esp + 0x54c], 0
cmp dword [esp + 0x598], esi
jb 0x411589
mov edx, dword [esp + 0x584]
push edx
call fcn.0041dadc
add esp, 4
cmp byte [0x441675], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [esp + 0x598], 0xf
mov dword [esp + 0x594], edi
mov byte [esp + 0x584], 0
jne 0x4115d1
push 0x433428
push 1
push 0x14a
push 0x516
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call edi
jmp 0x4115d7
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x441675], 1
jne 0x4115f7
push str._Add
push 1
push 0x14a
push 0x516
push ebx
call esi
push eax
call edi
cmp dword [esp + 0x14], 0
je 0x411609
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov ecx, dword [esp + 0x40]
push ecx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp byte [0x441675], 0
jne 0x411679
push 0x433404
push 0
push 0x14a
push 0x517
push ebx
call esi
push eax
call edi
push 0x43340c
push 1
push 0x14a
push 0x517
push ebx
call esi
push eax
call edi
push 0x433404
push 0
push 0x14a
push 0x51b
push ebx
call esi
push eax
call edi
push 0x43340c
push 1
push 0x14a
push 0x51b
push ebx
call esi
push eax
call edi
cmp byte [0x441675], 1
jne 0x4116de
push 0x433414
push 0
push 0x14a
push 0x517
push ebx
call esi
push eax
call edi
push str._Off
push 1
push 0x14a
push 0x517
push ebx
call esi
push eax
call edi
push 0x433414
push 0
push 0x14a
push 0x51b
push ebx
call esi
push eax
call edi
push str._Off
push 1
push 0x14a
push 0x51b
push ebx
call esi
push eax
call edi
push str.____ZeroRemote___
push 0
push 0x143
push 0x518
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, 0x432e83
mov edi, 0x43e21c
mov dword [esp + 0x40], 0
call fcn.004165c0
test al, al
jne 0x411729
push 0x518
push ebx
call esi
push eax
call fcn.0040dbc0
add esp, 4
mov dword [esp + 0x40], eax
cmp dword [0x441644], 0xffffffff
jne 0x412a28
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
call edi
lea edx, [eax + eax + 0xa0]
push 0x21
mov dword [esp + 0x2c], edx
call edi
lea eax, [eax + eax + 0xc6]
push 4
mov dword [esp + 0x18], eax
call edi
mov edi, eax
add edi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x24], edi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x3c]
cdq
push 0
sub eax, edx
mov edx, dword [esp + 0x2c]
push edi
sar eax, 1
push edx
sar ecx, 1
sub eax, ecx
push eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
push eax
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp dword [0x4415ec], 0x10
mov eax, dword [0x4415d8]
jae 0x4117d6
mov eax, 0x4415d8
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 5
push 0x3f0
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 5
push 0x3e9
push ebx
call esi
push eax
call edi
push 5
push 0x3ea
push ebx
call esi
push eax
call edi
push 5
push 0x3eb
push ebx
call esi
push eax
call edi
push 5
push 0x3f1
push ebx
call esi
push eax
call edi
cmp byte [0x43e113], 0
jne 0x41183f
push 0
push 0x3f0
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 5
push ebx
call edi
cmp byte [0x4418a2], 0
mov dword [0x4418a4], 0
jne 0x4118d5
cmp dword [0x4418a4], 0
jne 0x4118d5
push 0
push 0
push 0
lea ecx, [esp + 0x848]
push ecx
call dword [sym.imp.USER32.dll_GetMessageA]
mov eax, dword [esp + 0x83c]
xor esi, esi
test eax, eax
je 0x41189d
lea esp, [esp]
push eax
mov esi, eax
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x411890
lea edx, [esp + 0x83c]
push edx
push esi
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x4118cc
lea eax, [esp + 0x83c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0x83c]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp byte [0x4418a2], 0
je 0x41185b
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x3f0
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 0
push 0x3e9
push ebx
call esi
push eax
call edi
push 0
push 0x3ea
push ebx
call esi
push eax
call edi
push 0
push 0x3eb
push ebx
call esi
push eax
call edi
push 0
push 0x3f1
push ebx
call esi
push eax
call edi
cmp dword [0x4418a4], 4
jne 0x411932
mov byte [0x43ff9e], 1
mov eax, dword [0x441644]
cmp eax, 0xffffffff
je 0x412a2e
test eax, eax
jne 0x41233b
cmp byte [0x441675], al
jne 0x41195c
push 0x43345c
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp byte [0x441675], 1
jne 0x411971
push str.ServerMode
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x20
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea edx, [eax + eax + 0xcc]
push 0x21
mov dword [esp + 0x2c], edx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea eax, [eax + eax + 0xba]
push 4
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add eax, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x24], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x3c]
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
push 0
push edx
mov edx, dword [esp + 0x50]
sar ecx, 1
sar eax, 1
sub eax, ecx
mov ecx, dword [esp + 0x30]
push ecx
push eax
push edx
push 0
push ebx
mov dword [esp + 0x68], eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x44185c]
push 0
push eax
push 0x14e
push 0x51c
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x4418b0], 1
jne 0x411a45
push 0
push 0
push 0x14e
push 0x515
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x4418b0], 0
jne 0x411a66
push 0
push 1
push 0x14e
push 0x515
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x44136b], 1
jne 0x411a87
push 0
push 0
push 0x14e
push 0x51d
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x44136b], 0
jne 0x411aa8
push 0
push 1
push 0x14e
push 0x51d
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x14e
push 0x516
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 5
push 0x3ec
push ebx
call esi
push eax
call edi
push 5
push 0x3ed
push ebx
call esi
push eax
call edi
push 5
push 0x44d
push ebx
call esi
push eax
call edi
push 5
push 0x44e
push ebx
call esi
push eax
call edi
push 5
push 0x44f
push ebx
call esi
push eax
call edi
push 5
push 0x450
push ebx
call esi
push eax
call edi
push 5
push 0x451
push ebx
call esi
push eax
call edi
push 5
push 0x452
push ebx
call esi
push eax
call edi
push 5
push 0x458
push ebx
call esi
push eax
call edi
push 5
push 0x45d
push ebx
call esi
push eax
call edi
push 5
push 0x4b2
push ebx
call esi
push eax
call edi
push 5
push 0x4b3
push ebx
call esi
push eax
call edi
push 5
push 0x4b4
push ebx
call esi
push eax
call edi
push 5
push 0x515
push ebx
call esi
push eax
call edi
push 5
push 0x516
push ebx
call esi
push eax
call edi
push 5
push 0x51c
push ebx
call esi
push eax
call edi
push 5
push 0x51d
push ebx
call esi
push eax
call edi
cmp byte [0x4418a2], 0
mov dword [0x4418a4], 0
jne 0x412240
jmp 0x411bc0
cmp dword [0x4418a4], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x411c9e
push 0
push 0
push 0
lea ecx, [esp + 0x5c4]
push ecx
call dword [sym.imp.USER32.dll_GetMessageA]
cmp dword [esp + 0x5bc], 0x100
jne 0x411c02
cmp dword [esp + 0x5c0], 0xd
je 0x411cfc
lea ebx, [esp + 0x5b8]
call fcn.0040db90
test eax, eax
jne 0x411c87
mov edx, ebx
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
mov eax, ebx
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
mov edi, dword [esp + 0x18]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 9
lea ecx, [esp + 0x10d0]
push ecx
push 0x4b2
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp + 0x10cc]
push edx
call fcn.0041d453
add esp, 4
add eax, 2
push eax
lea esi, [esp + 0xc30]
call fcn.004167e0
call fcn.00415920
push eax
push 0x4b4
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, esi
call fcn.004157d0
cmp byte [0x4418a2], 0
mov ebx, dword [esp + 0x18]
je 0x411bc0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [0x4418a4], 1
jne 0x412240
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 9
lea eax, [esp + 0x10b8]
push eax
push 0x4b2
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_GetWindowTextA]
push eax
call edi
lea ecx, [esp + 0x10b4]
push ecx
call fcn.0041d453
add esp, 4
test eax, eax
jne 0x411d08
mov edx, 0xc80c
mov word [0x441880], dx
jmp 0x411d1e
mov dword [0x4418a4], 1
jmp 0x411cab
lea eax, [esp + 0x10b4]
push eax
call fcn.0041d453
add esp, 4
mov word [0x441880], ax
push 9
lea ecx, [esp + 0x10b8]
push ecx
push 0x4b3
push ebx
call esi
push eax
call edi
xor eax, eax
mov dword [0x441676], eax
mov dword [0x44167a], eax
mov byte [0x44167e], al
jmp 0x411d50
mov cl, byte [esp + eax + 0x10b4]
mov byte [eax + 0x441676], cl
test cl, cl
je 0x411d67
inc eax
cmp eax, 8
jl 0x411d50
push 0
push 0
push 0x147
push 0x515
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call edi
test eax, eax
jne 0x411d8c
mov byte [0x441674], 1
push 0
push 0
push 0x147
push 0x515
push ebx
call esi
push eax
call edi
cmp eax, 1
jne 0x411dac
mov byte [0x441674], 0
push 0
push 0
push 0x147
push 0x51d
push ebx
call esi
push eax
call edi
test eax, eax
jne 0x411dcb
mov byte [0x44136b], 1
push 0
push 0
push 0x147
push 0x51d
push ebx
call esi
push eax
call edi
cmp eax, 1
jne 0x411deb
mov byte [0x44136b], 0
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0x147
push 0x51c
push ebx
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call esi
lea edx, [eax*8]
sub edx, eax
lea eax, [edx*4 + 0x441680]
mov ecx, 0x441840
call fcn.00415800
movzx eax, word [0x441880]
mov cl, byte [0x441674]
push 0x441884
mov edx, 0x432e83
mov dword [0x4418ac], eax
mov byte [0x4418b0], cl
call fcn.00415810
push 0
push 0
push 0x147
push 0x51c
push ebx
call edi
push eax
call esi
inc eax
push eax
lea esi, [esp + 0xb50]
call fcn.004167e0
push eax
mov eax, str.__s:
lea edi, [esp + 0x958]
call fcn.00416620
add esp, 4
mov esi, 0x441884
call fcn.00415830
mov ecx, edi
call fcn.004157d0
lea ecx, [esp + 0xb4c]
call fcn.004157d0
cmp byte [0x441676], 0
je 0x411ee7
push 0x441676
lea ecx, [esp + 0xca0]
call fcn.00415760
push eax
mov eax, str.__pw:
lea edi, [esp + 0x990]
call fcn.00416620
add esp, 4
call fcn.00415830
mov ecx, edi
call fcn.004157d0
lea ecx, [esp + 0xc9c]
call fcn.004157d0
movzx edx, word [0x441880]
push edx
lea esi, [esp + 0xb88]
call fcn.004167e0
push eax
mov eax, str.__p:
lea edi, [esp + 0x9c8]
call fcn.00416620
add esp, 4
mov esi, 0x441884
call fcn.00415830
mov ecx, edi
call fcn.004157d0
lea ecx, [esp + 0xb84]
call fcn.004157d0
cmp byte [0x441674], 0
jne 0x411f41
push esi
mov edx, 0x433484
call fcn.00415840
cmp byte [0x44136b], 1
jne 0x411f59
push 0x441884
mov edx, str.__log
call fcn.00415840
cmp byte [0x441675], 1
jne 0x411f71
push 0x441884
mov edx, str.__en
call fcn.00415840
cmp byte [0x4418ee], 0
jne 0x411f89
push 0x441884
mov edx, str.__old
call fcn.00415840
push 0
push 0
push 0x147
push 0x516
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x41222c
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [esp + 0x14], eax
movzx eax, word [0x441880]
push 0xf003f
push eax
lea esi, [esp + 0xa3c]
call fcn.004167e0
push eax
mov edi, 0x43313c
mov eax, 0x4415d4
lea esi, [esp + 0xc6c]
call fcn.00416470
lea edi, [esp + 0xa04]
call fcn.00416550
add esp, 4
call fcn.00415920
mov ecx, dword [esp + 0x18]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov ecx, edi
mov esi, eax
call fcn.004157d0
lea ecx, [esp + 0xc64]
call fcn.004157d0
lea ecx, [esp + 0xa34]
call fcn.004157d0
test esi, esi
jne 0x41222c
push esi
push esi
push esi
push esi
push esi
push 0x441884
push 0x4415f0
mov eax, 0x441628
lea edi, [esp + 0x8ac]
call fcn.00416550
add esp, 4
mov edi, str..exe__service
lea esi, [esp + 0xaf4]
call fcn.00416470
lea edi, [esp + 0x88c]
call fcn.00416550
add esp, 4
call fcn.00415920
movzx edx, word [0x441880]
push eax
push 0
push 2
push 0x10
push 0xf003f
push edx
lea esi, [esp + 0x884]
call fcn.004167e0
push eax
mov edi, 0x43313c
mov eax, 0x4415d4
lea esi, [esp + 0xc20]
call fcn.00416470
lea edi, [esp + 0xad0]
call fcn.00416550
add esp, 4
call fcn.00415920
push eax
movzx eax, word [0x441880]
push eax
lea esi, [esp + 0xd20]
call fcn.004167e0
push eax
mov edi, 0x43313c
mov eax, 0x4415d4
lea esi, [esp + 0xa9c]
call fcn.00416470
lea edi, [esp + 0xbec]
call fcn.00416550
add esp, 4
call fcn.00415920
mov esi, dword [esp + 0x40]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov ecx, edi
call fcn.004157d0
lea ecx, [esp + 0xa6c]
call fcn.004157d0
lea ecx, [esp + 0xcf0]
call fcn.004157d0
lea ecx, [esp + 0xaa4]
call fcn.004157d0
lea ecx, [esp + 0xbf4]
call fcn.004157d0
lea ecx, [esp + 0x858]
call fcn.004157d0
lea ecx, [esp + 0x874]
call fcn.004157d0
lea ecx, [esp + 0xadc]
call fcn.004157d0
lea ecx, [esp + 0x890]
call fcn.004157d0
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
movzx ecx, word [0x441880]
mov dword [esp + 0x14], eax
push 0xf003f
push ecx
lea esi, [esp + 0x940]
call fcn.004167e0
push eax
mov edi, 0x43313c
mov eax, 0x4415d4
lea esi, [esp + 0x908]
call fcn.00416470
lea edi, [esp + 0x8d0]
call fcn.00416550
add esp, 4
call fcn.00415920
mov edx, dword [esp + 0x18]
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov ecx, edi
mov esi, eax
call fcn.004157d0
lea ecx, [esp + 0x900]
call fcn.004157d0
lea ecx, [esp + 0x938]
call fcn.004157d0
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceA]
push esi
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [0x441644], 0xffffffff
call fcn.00402c30
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x3ec
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 0
push 0x3ed
push ebx
call esi
push eax
call edi
push 0
push 0x44d
push ebx
call esi
push eax
call edi
push 0
push 0x44e
push ebx
call esi
push eax
call edi
push 0
push 0x44f
push ebx
call esi
push eax
call edi
push 0
push 0x450
push ebx
call esi
push eax
call edi
push 0
push 0x451
push ebx
call esi
push eax
call edi
push 0
push 0x452
push ebx
call esi
push eax
call edi
push 0
push 0x458
push ebx
call esi
push eax
call edi
push 0
push 0x45d
push ebx
call esi
push eax
call edi
push 0
push 0x4b2
push ebx
call esi
push eax
call edi
push 0
push 0x4b3
push ebx
call esi
push eax
call edi
push 0
push 0x4b4
push ebx
call esi
push eax
call edi
push 0
push 0x515
push ebx
call esi
push eax
call edi
push 0
push 0x516
push ebx
call esi
push eax
call edi
push 0
push 0x51c
push ebx
call esi
push eax
call edi
push 0
push 0x51d
push ebx
call esi
push eax
call edi
cmp dword [0x4418a4], 1
je 0x412a28
mov eax, dword [0x441644]
cmp eax, 1
jne 0x412a13
cmp byte [0x441675], 0
jne 0x412359
push 0x4334b0
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp byte [0x441675], 1
jne 0x41236e
push str.ClientMode
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
call esi
lea eax, [eax + eax + 0xcc]
push 0x21
mov dword [esp + 0x2c], eax
call esi
push 4
lea edi, [eax + eax + 0xba]
call esi
mov esi, eax
lea ecx, [esp + 0x30]
add esi, edi
push ecx
mov dword [esp + 0x24], esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar edi, 1
sar ecx, 1
sub ecx, edi
mov edi, eax
mov eax, dword [esp + 0x3c]
cdq
push 0
sub eax, edx
mov edx, dword [esp + 0x2c]
push esi
push edx
sar eax, 1
sar edi, 1
sub eax, edi
push eax
push ecx
push 0
push ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp byte [0x4418b8], 1
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x41241e
push 0
push 0
push 0x14e
push 0x517
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call edi
jmp 0x412424
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x4418b8], 0
jne 0x412441
push 0
push 1
push 0x14e
push 0x517
push ebx
call esi
push eax
call edi
cmp byte [0x4418a0], 1
jne 0x41245e
push 0
push 0
push 0x14e
push 0x51b
push ebx
call esi
push eax
call edi
cmp byte [0x4418a0], 0
jne 0x41247b
push 0
push 1
push 0x14e
push 0x51b
push ebx
call esi
push eax
call edi
mov eax, dword [esp + 0x40]
push 0
push eax
push 0x14e
push 0x518
push ebx
call esi
push eax
call edi
push 5
push 0x3ee
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 5
push 0x3ef
push ebx
call esi
push eax
call edi
push 5
push 0x453
push ebx
call esi
push eax
call edi
push 5
push 0x454
push ebx
call esi
push eax
call edi
push 5
push 0x455
push ebx
call esi
push eax
call edi
push 5
push 0x456
push ebx
call esi
push eax
call edi
push 5
push 0x457
push ebx
call esi
push eax
call edi
push 5
push 0x459
push ebx
call esi
push eax
call edi
push 5
push 0x45a
push ebx
call esi
push eax
call edi
push 5
push 0x45b
push ebx
call esi
push eax
call edi
push 5
push 0x4b5
push ebx
call esi
push eax
call edi
push 5
push 0x4b7
push ebx
call esi
push eax
call edi
push 5
push 0x4b8
push ebx
call esi
push eax
call edi
push 5
push 0x4b9
push ebx
call esi
push eax
call edi
push 5
push 0x517
push ebx
call esi
push eax
call edi
push 5
push 0x51b
push ebx
call esi
push eax
call edi
push 5
push 0x518
push ebx
call esi
push eax
call edi
cmp byte [0x4418a2], 0
mov dword [0x4418a4], 0
jne 0x412921
lea esp, [esp]
cmp dword [0x4418a4], 0
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
jne 0x4126ac
push 0
push 0
push 0
lea ecx, [esp + 0x404]
push ecx
call dword [sym.imp.USER32.dll_GetMessageA]
cmp dword [esp + 0x3fc], 0x100
jne 0x4125d2
cmp dword [esp + 0x400], 0xd
je 0x41270a
push 0x518
push ebx
call esi
cmp dword [esp + 0x3f8], eax
jne 0x412614
cmp dword [esp + 0x3fc], 0x201
jne 0x412614
mov ecx, 0x432e83
mov edi, 0x43e254
call fcn.004165c0
test al, al
je 0x412614
push 0x518
push ebx
call esi
push eax
call fcn.0040dbc0
add esp, 4
lea ebx, [esp + 0x3f8]
call fcn.0040db90
test eax, eax
jne 0x412695
mov edx, ebx
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
mov eax, ebx
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
mov edi, dword [esp + 0x18]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push 9
lea ecx, [esp + 0x10c4]
push ecx
push 0x4b8
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp + 0x10c0]
push edx
call fcn.0041d453
add esp, 4
add eax, 2
push eax
lea esi, [esp + 0x974]
call fcn.004167e0
call fcn.00415920
push eax
push 0x4b5
push edi
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, esi
call fcn.004157d0
cmp byte [0x4418a2], 0
mov ebx, dword [esp + 0x18]
je 0x412590
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [0x4418a4], 1
jne 0x412921
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 9
lea eax, [esp + 0x10dc]
push eax
push 0x4b8
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_GetWindowTextA]
push eax
call edi
lea ecx, [esp + 0x10d8]
push ecx
call fcn.0041d453
add esp, 4
test eax, eax
jne 0x412716
mov edx, 0xc80c
mov word [0x441880], dx
jmp 0x41272c
mov dword [0x4418a4], 1
jmp 0x4126b9
lea eax, [esp + 0x10d8]
push eax
call fcn.0041d453
add esp, 4
mov word [0x441880], ax
push 9
lea ecx, [esp + 0x10dc]
push ecx
push 0x4b9
push ebx
call esi
push eax
call edi
xor eax, eax
mov dword [0x441676], eax
mov dword [0x44167a], eax
mov byte [0x44167e], al
jmp 0x412760
mov cl, byte [esp + eax + 0x10d8]
mov byte [eax + 0x441676], cl
test cl, cl
je 0x412777
inc eax
cmp eax, 8
jl 0x412760
push 0
push 0
push 0x147
push 0x517
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call edi
test eax, eax
jne 0x41279c
mov byte [0x441674], 1
push 0
push 0
push 0x147
push 0x517
push ebx
call esi
push eax
call edi
cmp eax, 1
jne 0x4127bc
mov byte [0x441674], 0
movzx edx, word [0x441880]
mov al, byte [0x441674]
push 0x100
lea ecx, [esp + 0x10dc]
push ecx
push 0x4b7
push ebx
mov dword [0x4418b4], edx
mov byte [0x4418b8], al
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0x441864
lea edx, [esp + 0x10dc]
call fcn.00415810
mov ecx, 0x432e83
mov edi, 0x441864
call fcn.004165c0
test al, al
je 0x41281e
push edi
mov edx, str.127.0.0.1
call fcn.00415810
push 0
push 0
push 0x147
push 0x51b
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call edi
test eax, eax
jne 0x412843
mov byte [0x4418a0], 1
push 0
push 0
push 0x147
push 0x51b
push ebx
call esi
push eax
call edi
cmp eax, 1
jne 0x412863
mov byte [0x4418a0], 0
push 0
push 0
push 0x147
push 0x518
push ebx
call esi
push eax
call edi
test eax, eax
je 0x412895
lea edx, [eax*8]
sub edx, eax
lea eax, [edx*4 + 0x43e238]
mov ecx, 0x43e21c
call fcn.00415800
mov eax, 0x441864
call fcn.00415920
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
push 0x7f00
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
test esi, esi
jne 0x412921
cmp byte [0x441675], 0
jne 0x4128e7
push 0x10
mov eax, 0x4415d4
call fcn.00415920
push eax
mov eax, dword [0x4413d0]
push 0x432f80
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp byte [0x441675], 1
jne 0x41290f
push 0x10
mov eax, 0x4415d4
call fcn.00415920
mov ecx, dword [0x4413d0]
push eax
push str.Disconnected_
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x441644], 1
je 0x412344
jmp 0x412a13
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x3ee
push ebx
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 0
push 0x3ef
push ebx
call esi
push eax
call edi
push 0
push 0x453
push ebx
call esi
push eax
call edi
push 0
push 0x454
push ebx
call esi
push eax
call edi
push 0
push 0x455
push ebx
call esi
push eax
call edi
push 0
push 0x456
push ebx
call esi
push eax
call edi
push 0
push 0x457
push ebx
call esi
push eax
call edi
push 0
push 0x459
push ebx
call esi
push eax
call edi
push 0
push 0x45a
push ebx
call esi
push eax
call edi
push 0
push 0x45b
push ebx
call esi
push eax
call edi
push 0
push 0x4b5
push ebx
call esi
push eax
call edi
push 0
push 0x4b7
push ebx
call esi
push eax
call edi
push 0
push 0x4b8
push ebx
call esi
push eax
call edi
push 0
push 0x4b9
push ebx
call esi
push eax
call edi
push 0
push 0x517
push ebx
call esi
push eax
call edi
push 0
push 0x51b
push ebx
call esi
push eax
call edi
push 0
push 0x518
push ebx
call esi
push eax
call edi
cmp dword [0x4418a4], 1
je 0x412a28
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [0x441644], 0xffffffff
jmp 0x411736
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
cmp byte [0x43ff9e], 0
je 0x412a4d
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [0x441644], 0xffffffff
je 0x4102f3
jmp 0x412a52
push 0
push ebx
call edi
cmp dword [0x441644], 0
jne 0x412abd
movzx edx, word [0x441880]
push edx
lea esi, [esp + 0x664]
mov dword [esp + 0x28], 7
call fcn.004167e0
push eax
mov edi, 0x432ef8
mov eax, 0x4415f0
lea esi, [esp + 0x62c]
call fcn.00416470
lea edi, [esp + 0x5f4]
call fcn.00416550
add esp, 4
cmp dword [eax + 0x18], 0x10
jb 0x412aa8
mov eax, dword [eax + 4]
jmp 0x412aab
add eax, 4
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov byte [esp + 0xf], 1
test eax, eax
jne 0x412ac2
mov byte [esp + 0xf], 0
mov ebx, dword [esp + 0x24]
mov edi, 0x10
test bl, 4
je 0x412b0d
and ebx, 0xfffffffb
cmp dword [esp + 0x608], edi
jb 0x412aec
mov eax, dword [esp + 0x5f4]
push eax
call fcn.0041dadc
add esp, 4
mov esi, 0xf
mov dword [esp + 0x608], esi
mov dword [esp + 0x604], 0
mov byte [esp + 0x5f4], 0
jmp 0x412b12
mov esi, 0xf
test bl, 2
je 0x412b4d
and ebx, 0xfffffffd
cmp dword [esp + 0x640], edi
jb 0x412b33
mov ecx, dword [esp + 0x62c]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x640], esi
mov dword [esp + 0x63c], 0
mov byte [esp + 0x62c], 0
test bl, 1
je 0x412b85
cmp dword [esp + 0x678], edi
jb 0x412b6b
mov edx, dword [esp + 0x664]
push edx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x678], esi
mov dword [esp + 0x674], 0
mov byte [esp + 0x664], 0
cmp byte [esp + 0xf], 0
je 0x412b96
mov dword [0x441644], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call sub.IMM32.dll_ImmDisableIME
mov eax, dword [0x441644]
cmp eax, 0xffffffff
je 0x4138f9
cmp byte [0x441676], 0
jne 0x412bc0
mov byte [0x43e111], 0
test eax, eax
jne 0x413004
movzx eax, word [0x441880]
push eax
lea esi, [esp + 0x70c]
call fcn.004167e0
push eax
mov edi, 0x432ef8
mov eax, 0x4415f0
lea esi, [esp + 0x6d4]
call fcn.00416470
lea edi, [esp + 0x69c]
call fcn.00416550
mov ebx, 0x10
add esp, 4
cmp dword [eax + 0x18], ebx
jb 0x412c11
mov eax, dword [eax + 4]
jmp 0x412c14
add eax, 4
mov ecx, dword [0x4413d0]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [esp + 0x6b0], ebx
jb 0x412c3b
mov edx, dword [esp + 0x69c]
push edx
call fcn.0041dadc
add esp, 4
xor edi, edi
mov esi, 0xf
mov dword [esp + 0x6b0], esi
mov dword [esp + 0x6ac], edi
mov byte [esp + 0x69c], 0
cmp dword [esp + 0x6e8], ebx
jb 0x412c71
mov eax, dword [esp + 0x6d4]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x6e8], esi
mov dword [esp + 0x6e4], edi
mov byte [esp + 0x6d4], 0
cmp dword [esp + 0x720], ebx
jb 0x412ca0
mov ecx, dword [esp + 0x70c]
push ecx
call fcn.0041dadc
add esp, 4
mov ecx, dword [0x4413d0]
mov edx, 0x4418f4
mov dword [esp + 0x720], esi
mov dword [esp + 0x71c], edi
mov byte [esp + 0x70c], 0
call fcn.00416c50
test al, al
jne 0x412ccf
mov byte [0x4418a1], al
cmp byte [0x4418a8], 1
jne 0x412e58
cmp dword [0x441330], edi
jne 0x412e58
call fcn.004012c0
movzx eax, word [0x441880]
mov edx, dword [0x4413d0]
push eax
lea esi, [esp + 0xb34]
mov dword [0x4413d8], 0x1fc
mov dword [0x4413dc], edx
mov dword [0x4413e0], 0x1ff
call fcn.004167e0
push eax
push 0x441840
push 0x44160c
mov edi, str._Server
mov eax, 0x4415d4
lea esi, [esp + 0xb04]
call fcn.00416470
lea edi, [esp + 0xacc]
call fcn.00416550
add esp, 4
mov edi, 0x432efc
lea esi, [esp + 0xa90]
call fcn.00416470
lea edi, [esp + 0xa58]
call fcn.00416550
add esp, 4
mov edi, 0x432ef8
lea esi, [esp + 0xa1c]
call fcn.00416470
lea edi, [esp + 0x9e4]
call fcn.00416550
add esp, 4
mov edi, 0x432ef4
lea esi, [esp + 0x9a8]
call fcn.00416470
cmp dword [eax + 0x18], ebx
jb 0x412dac
mov ecx, dword [eax + 4]
jmp 0x412daf
lea ecx, [eax + 4]
mov edx, 0x4413f0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x412db4
lea ecx, [esp + 0x9a8]
call fcn.004157d0
lea ecx, [esp + 0x9e0]
call fcn.004157d0
lea ecx, [esp + 0xa18]
call fcn.004157d0
lea ecx, [esp + 0xa50]
call fcn.004157d0
lea ecx, [esp + 0xa88]
call fcn.004157d0
lea ecx, [esp + 0xac0]
call fcn.004157d0
lea ecx, [esp + 0xaf8]
call fcn.004157d0
lea ecx, [esp + 0xb30]
call fcn.004157d0
mov ecx, dword [0x4413d4]
push 0x84
push ecx
mov dword [0x4413e4], 7
mov dword [0x4413e8], 0x400
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x4413d8
push 0
mov dword [0x4413ec], eax
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
xor edi, edi
mov esi, dword [0x43ffa0]
fld qword [0x436dc0]
mov eax, dword [0x4411e8]
fld qword [0x436e60]
mov ebx, dword [0x4411f0]
sub eax, esi
mov dword [esp + 0x20], eax
sub ebx, esi
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
mov dword [esp + 0x14], 0
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld qword [0x436e58]
fmul st(1)
fstp qword [esp + 0x40]
fild dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x24], edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld qword [0x436e50]
fmul st(1)
fadd qword [esp + 0x40]
fstp qword [esp + 0x28]
fild dword [esp + 0x24]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld qword [0x436e48]
fmul st(1)
fadd qword [esp + 0x28]
call fcn.00429f00
cmp eax, 0xff
jle 0x412eee
mov eax, 0xff
jmp 0x412ef8
cmp eax, 1
jg 0x412ef8
mov eax, 2
mov edx, dword [esp + 0x20]
fld st(0)
fmul st(5)
mov byte [edx + esi], al
fld st(3)
fmul qword [0x436e40]
fld st(3)
fmul st(6)
faddp st(1)
fsubp st(1)
fld qword [0x436e38]
fadd st(1), st(0)
fxch st(1)
call fcn.00429f00
cmp eax, 0xff
jle 0x412f30
mov eax, 0xff
jmp 0x412f3a
cmp eax, 1
jg 0x412f3a
mov eax, 2
fld st(3)
mov byte [esi], al
fmul st(6)
fld st(3)
fmul qword [0x436e30]
fsubp st(1)
fxch st(2)
fmul qword [0x436e28]
fsubp st(2)
faddp st(1)
call fcn.00429f00
cmp eax, 0xff
jle 0x412f69
mov eax, 0xff
jmp 0x412f73
cmp eax, 1
jg 0x412f73
mov eax, 2
add edi, 2
mov byte [ebx + esi], al
inc esi
cmp edi, 0x100
mov dword [esp + 0x24], edi
jl 0x412ec3
mov eax, dword [esp + 0x14]
fstp st(0)
add eax, 2
cmp eax, 0x100
mov dword [esp + 0x14], eax
jl 0x412ea1
mov eax, dword [esp + 0x18]
fstp st(0)
add eax, 2
cmp eax, 0x100
mov dword [esp + 0x18], eax
jl 0x412e81
mov eax, dword [0x441388]
fstp st(1)
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
fstp st(0)
push eax
push 0
push 0
push 0
push 0x40bbb0
push 0
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push eax
call esi
mov ecx, dword [0x441388]
push ecx
push 0
push 0
push 0
push 0x40d3e0
push 0
push 0
call edi
push eax
call esi
mov eax, dword [0x441644]
cmp eax, 1
jne 0x4136d8
call fcn.004020a0
cmp byte [0x4418a1], 1
jne 0x41307d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0
push 0x441928
push 0
mov esi, eax
xor bl, bl
call sub.DSOUND.dll_DirectSoundCreate8
mov eax, dword [0x441928]
test eax, eax
je 0x41304e
mov edx, dword [eax]
push 1
push esi
push eax
mov eax, dword [edx + 0x18]
mov bl, 1
call eax
mov eax, dword [0x441928]
mov ecx, dword [0x4413b8]
lea ecx, [ecx + ecx*2]
add ecx, ecx
mov byte [0x4418a1], bl
mov dword [0x44121c], ecx
test eax, eax
je 0x41307d
mov edx, dword [eax]
push 0
push 0x44192c
push 0x441214
push eax
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [0x4413d0]
mov edx, 0x4418f4
call fcn.00416c50
test al, al
jne 0x413096
mov byte [0x4418a1], al
mov esi, dword [0x43fe70]
mov edx, dword [0x43fe74]
mov ecx, dword [0x43fe78]
mov eax, dword [0x43fe7c]
push 0
push esi
push edx
push ecx
push eax
mov dword [0x4418d8], ecx
mov ecx, dword [0x4413d0]
push 0
push ecx
mov dword [0x4418d4], eax
mov dword [0x4418cc], edx
mov dword [0x4418d0], esi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0xf0f0f0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edx, dword [0x4413d0]
push eax
push 0xfffffffffffffff6
push edx
call dword [sym.imp.USER32.dll_SetClassLongA]
cmp byte [0x441675], 0
jne 0x41316c
push 0x4415d4
mov eax, 0x4334cc
lea edi, [esp + 0x744]
call fcn.00416620
mov esi, 0x10
add esp, 4
cmp dword [eax + 0x18], esi
jb 0x413125
mov eax, dword [eax + 4]
jmp 0x413128
add eax, 4
push eax
mov eax, dword [0x4413d0]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [esp + 0x758], esi
jb 0x41314e
mov ecx, dword [esp + 0x744]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x758], 0xf
mov dword [esp + 0x754], 0
mov byte [esp + 0x744], 0
cmp byte [0x441675], 1
jne 0x4131e5
push 0x4415d4
mov eax, str.__Connecting________
lea edi, [esp + 0x77c]
call fcn.00416620
mov esi, 0x10
add esp, 4
cmp dword [eax + 0x18], esi
jb 0x41319d
mov eax, dword [eax + 4]
jmp 0x4131a0
add eax, 4
mov edx, dword [0x4413d0]
push eax
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [esp + 0x790], esi
jb 0x4131c7
mov eax, dword [esp + 0x77c]
push eax
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x790], 0xf
mov dword [esp + 0x78c], 0
mov byte [esp + 0x77c], 0
cmp byte [0x441648], 1
push 3
push 0
push 0
push 0
push 0
jne 0x413203
mov ecx, dword [0x4413d0]
push 0xffffffffffffffff
push ecx
jmp 0x41320c
mov edx, dword [0x4413d0]
push 0xfffffffffffffffe
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x4413d0]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0xc
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov ecx, dword [0x4413d0]
push esi
push ecx
mov dword [0x441338], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
movzx eax, word [0x441880]
mov edx, dword [0x4413d0]
push eax
lea esi, [esp + 0xd10]
mov dword [0x4413d8], 0x1fc
mov dword [0x4413dc], edx
mov dword [0x4413e0], 0x1ff
call fcn.004167e0
push eax
push 0x441864
push 0x44160c
mov edi, str._Client
mov eax, 0x4415d4
lea esi, [esp + 0xce0]
call fcn.00416470
lea edi, [esp + 0xc8c]
call fcn.00416550
add esp, 4
mov edi, 0x432efc
lea esi, [esp + 0xc50]
call fcn.00416470
lea edi, [esp + 0xc18]
call fcn.00416550
add esp, 4
mov edi, 0x432ef8
lea esi, [esp + 0xbdc]
call fcn.00416470
lea edi, [esp + 0xba4]
call fcn.00416550
add esp, 4
mov edi, 0x432ef4
lea esi, [esp + 0xb68]
call fcn.00416470
cmp dword [eax + 0x18], 0x10
jb 0x4132fc
mov ecx, dword [eax + 4]
jmp 0x4132ff
lea ecx, [eax + 4]
mov edx, 0x4413f0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x413304
lea ecx, [esp + 0xb68]
call fcn.004157d0
lea ecx, [esp + 0xba0]
call fcn.004157d0
lea ecx, [esp + 0xbd8]
call fcn.004157d0
lea ecx, [esp + 0xc10]
call fcn.004157d0
lea ecx, [esp + 0xc48]
call fcn.004157d0
lea ecx, [esp + 0xc80]
call fcn.004157d0
lea ecx, [esp + 0xcd4]
call fcn.004157d0
lea ecx, [esp + 0xd0c]
call fcn.004157d0
mov ecx, dword [0x4413d4]
push 0x88
push ecx
mov dword [0x4413e4], 7
mov dword [0x4413e8], 0x400
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x4413d8
push 0
mov dword [0x4413ec], eax
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
mov edx, dword [0x4413d0]
push 5
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
fld qword [0x436e20]
mov eax, dword [0x43ffa0]
fld qword [0x436e18]
mov ecx, dword [0x4411e8]
fld qword [0x436e10]
mov ebx, dword [0x4411f0]
sub ecx, eax
mov dword [esp + 0x20], ecx
sub ebx, eax
mov dword [esp + 0x18], 0
mov esi, eax
fild dword [esp + 0x18]
mov dword [esp + 0x14], 0xffffff80
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov edi, 0xffffff80
mov dword [esp + 0x24], edi
fild dword [esp + 0x24]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(0)
fmul st(5)
fadd st(2)
call fcn.00429f00
cmp eax, 0xff
jle 0x41342c
mov eax, 0xff
jmp 0x413436
cmp eax, 1
jg 0x413436
mov eax, 2
fild dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov byte [esi + ecx], al
fstp dword [esp + 0x1c]
fld st(1)
fld dword [esp + 0x1c]
fld st(0)
fmul st(6)
fsubp st(2)
fxch st(2)
fmul st(4)
fsubp st(1)
call fcn.00429f00
cmp eax, 0xff
jle 0x41346a
mov eax, 0xff
jmp 0x413474
cmp eax, 1
jg 0x413474
mov eax, 2
fmul qword [0x436e08]
mov byte [esi], al
fadd st(1)
call fcn.00429f00
cmp eax, 0xff
jle 0x413491
mov eax, 0xff
jmp 0x41349b
cmp eax, 1
jg 0x41349b
mov eax, 2
add edi, 2
mov byte [esi + ebx], al
inc esi
cmp edi, 0x80
mov dword [esp + 0x24], edi
jl 0x413407
mov eax, dword [esp + 0x14]
add eax, 2
cmp eax, 0x80
mov dword [esp + 0x14], eax
jl 0x4133fe
mov eax, dword [esp + 0x18]
fstp st(0)
add eax, 2
cmp eax, 0x100
mov dword [esp + 0x18], eax
jl 0x4133ea
mov edx, dword [0x441388]
fstp st(1)
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
fstp st(0)
push edx
fstp st(0)
push 0
push 0
push 0
push 0x40bbb0
push 0
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push eax
call esi
mov eax, dword [0x441388]
push eax
push 0
push 0
push 0
push 0x40d3e0
push 0
push 0
call edi
push eax
call esi
mov ecx, dword [0x44137c]
push ecx
push 0
push 0
push 0
push 0x407800
push 0
push 0
call edi
push eax
call esi
mov edx, dword [0x441380]
push edx
push 0
push 0
push 0
push 0x40a240
push 0
push 0
call edi
push eax
call esi
mov eax, dword [0x441384]
push eax
push 0
push 0
push 0
push 0x40a710
push 0
push 0
call edi
push eax
call esi
mov ecx, dword [0x4413d0]
push ecx
call sub.IMM32.dll_ImmGetContext
mov esi, eax
push esi
call sub.IMM32.dll_ImmGetOpenStatus
cmp eax, 1
jne 0x4135ba
mov edi, dword [sym.imp.USER32.dll_MapVirtualKeyA]
push 0
push 0
push 0
push 0x19
call edi
mov ebx, dword [sym.imp.USER32.dll_keybd_event]
push eax
push 0x19
call ebx
push 0
push 2
push 0
push 0x19
call edi
push eax
push 0x19
call ebx
mov edx, dword [0x4413d0]
push esi
push edx
call sub.IMM32.dll_ImmReleaseContext
mov eax, dword [0x4413d0]
push 0
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
cmp byte [0x441675], 0
mov ebx, eax
jne 0x41364c
mov edi, 0x433500
mov eax, 0x4415d4
lea esi, [esp + 0xcb8]
call fcn.00416470
call fcn.00415920
push eax
push 0xeaa8
push 0x400
push 0
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
mov ecx, esi
call fcn.004157d0
mov edi, 0x43350c
mov eax, 0x4415d4
lea esi, [esp + 0xb14]
call fcn.00416470
call fcn.00415920
push eax
push 0xeaad
push 0x400
push 1
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
mov ecx, esi
call fcn.004157d0
cmp byte [0x441675], 1
jne 0x4136c1
mov edi, str._OfficialSite
mov eax, 0x4415d4
lea esi, [esp + 0x8e4]
call fcn.00416470
call fcn.00415920
push eax
push 0xeaa8
push 0x400
push 0
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
mov ecx, esi
call fcn.004157d0
mov edi, str._Menu
mov eax, 0x4415d4
lea esi, [esp + 0x8ac]
call fcn.00416470
call fcn.00415920
push eax
push 0xeaad
push 0x400
push 1
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
mov ecx, esi
call fcn.004157d0
push 0
push 0
push 0xc00
push 2
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
mov eax, dword [0x441644]
cmp eax, 2
jne 0x41380b
movzx ecx, word [0x441880]
push ecx
lea esi, [esp + 0x824]
call fcn.004167e0
push eax
mov edi, 0x432f4c
mov eax, 0x4415f0
lea esi, [esp + 0x7ec]
call fcn.00416470
lea edi, [esp + 0x7b4]
call fcn.00416550
mov ebx, 0x10
add esp, 4
cmp dword [eax + 0x18], ebx
jb 0x41372a
mov eax, dword [eax + 4]
jmp 0x41372d
add eax, 4
mov edx, dword [0x4413d0]
push eax
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [esp + 0x7c8], ebx
jb 0x413754
mov eax, dword [esp + 0x7b4]
push eax
call fcn.0041dadc
add esp, 4
xor esi, esi
mov edi, 0xf
mov dword [esp + 0x7c8], edi
mov dword [esp + 0x7c4], esi
mov byte [esp + 0x7b4], 0
cmp dword [esp + 0x800], ebx
jb 0x41378a
mov ecx, dword [esp + 0x7ec]
push ecx
call fcn.0041dadc
add esp, 4
mov dword [esp + 0x800], edi
mov dword [esp + 0x7fc], esi
mov byte [esp + 0x7ec], 0
cmp dword [esp + 0x838], ebx
jb 0x4137b9
mov edx, dword [esp + 0x824]
push edx
call fcn.0041dadc
add esp, 4
mov eax, dword [0x441388]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
push esi
push esi
push esi
push 0x40bbb0
push esi
push esi
mov dword [esp + 0x854], edi
mov dword [esp + 0x850], esi
mov byte [esp + 0x840], 0
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push eax
call edi
mov ecx, dword [0x441388]
push ecx
push esi
push esi
push esi
push 0x40d3e0
push esi
push esi
call ebx
push eax
call edi
mov eax, dword [0x441644]
cmp eax, 0xffffffff
je 0x4138f9
mov edi, dword [sym.imp.USER32.dll_TranslateAcceleratorA]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x58]
cmp eax, 1
jne 0x413897
cmp byte [0x441358], al
jne 0x413897
mov byte [0x441358], 0
cmp byte [0x441674], al
jne 0x413897
mov eax, dword [0x4418bc]
mov ecx, dword [0x4418d4]
cmp eax, ecx
jl 0x413897
mov edx, dword [0x4418cc]
add ecx, edx
cmp eax, ecx
jg 0x413897
mov eax, dword [0x4418c0]
mov ecx, dword [0x4418d8]
cmp eax, ecx
jl 0x413897
mov edx, dword [0x4418d0]
add edx, ecx
cmp eax, edx
jg 0x413897
mov eax, dword [0x4412b4]
test eax, eax
je 0x413886
push eax
call dword [sym.imp.USER32.dll_DestroyCursor]
call fcn.00403560
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [0x4412b4], eax
push 0
push 0
push 0
lea eax, [esp + 0x458]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
mov edx, dword [esp + 0x44c]
lea ecx, [esp + 0x44c]
push ecx
push esi
push edx
call edi
test eax, eax
jne 0x4138de
lea eax, [esp + 0x44c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [esp + 0x44c]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp byte [0x4418a2], 1
je 0x4138f9
push 0xa
call ebx
mov eax, dword [0x441644]
cmp eax, 0xffffffff
jne 0x413824
call fcn.004024b0
mov esi, dword [esp + 0x454]
lea ecx, [esp + 0xeb0]
call fcn.004157d0
lea ecx, [esp + 0xecc]
call fcn.004157d0
lea ecx, [esp + 0xf04]
call fcn.004157d0
lea ecx, [esp + 0xee8]
call fcn.004157d0
lea ecx, [esp + 0xe24]
call fcn.004157d0
lea ecx, [esp + 0xe5c]
call fcn.004157d0
lea ecx, [esp + 0xe40]
call fcn.004157d0
lea ecx, [esp + 0xe94]
call fcn.004157d0
lea ecx, [esp + 0xe78]
call fcn.004157d0
lea ecx, [esp + 0xd44]
call fcn.004157d0
mov ecx, dword [esp + 0x12ec]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.0041c9bc
mov esp, ebp
pop ebp
ret 0x10