Function at 0x40801d
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0x10
call fcn.0044dbc8
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, eax
mov esi, 0x4995e5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x14
call fcn.0044dbc8
add esp, 4
mov dword [ebp - 0x18], eax
mov edi, eax
mov esi, 0x4b2061
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
push 0x10
call fcn.0044dbc8
add esp, 4
mov dword [ebp - 0x24], eax
mov edi, eax
mov esi, 0x4995e5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x14
call fcn.0044dbc8
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x4b2061
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], 0
mov eax, str..dataupdate.DAT
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4080eb
push ebx
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 4
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x408114
mov eax, 0x499305
push eax
push 3
mov ebx, 0x270
call fcn.0044e790
add esp, 0x28
mov dword [ebp - 8], eax
mov ebx, dword [0x4b5b19]
call fcn.00404c71
xor ecx, ecx
push eax
lea eax, [ebp - 0xc]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x408274
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x290
call fcn.00450dc0
add esp, 0x10
mov ebx, dword [0x4b5b19]
call fcn.004029aa
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x408188
push 4
call fcn.0044dbd4
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40819b
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000101
push 0
push 0x3d
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x34], eax
mov ebx, dword [0x4b5b1d]
call fcn.004029aa
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x4081e4
push 4
call fcn.0044dbd4
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4081f7
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
push dword [ebx]
push dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
push dword [ebx]
mov ecx, 3
call fcn.0040119e
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40822c
push ebx
call fcn.0044dbce
add esp, 4
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x40823f
mov eax, 0x499305
push eax
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0x2a8
call fcn.00450e20
add esp, 0x1c
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40826c
push ebx
call fcn.0044dbce
add esp, 4
pop eax
pop ebx
pop ecx
jmp 0x40813e
add esp, 0xc
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x278
call fcn.0044e870
add esp, 0x10
mov ebx, 6
call fcn.00408015
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x4082b0
mov eax, 0x499305
push eax
push 3
mov ebx, 0x270
call fcn.0044e790
add esp, 0x28
mov dword [ebp - 8], eax
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x28c
call fcn.00450aa0
add esp, 0x10
push 0
push 0
push 0
push 0x80000301
push 0
push dword [ebp - 8]
push 2
mov ebx, 0x2b4
call fcn.00450ff0
add esp, 0x1c
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x40904c
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x2a4
call fcn.00451150
add esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x408344
push ebx
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push 0x499305
push dword [ebp - 0x10]
call fcn.00401096
add esp, 8
cmp eax, 0
je 0x4089ac
push 0x80000101
push 0
push 0x3d
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x30], eax
push 0
push 0
push 0
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x40839b
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x4083af
mov eax, 0x499305
push eax
push 3
mov ebx, 0x190
call fcn.00451360
add esp, 0x28
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4083d5
push ebx
call fcn.0044dbce
add esp, 4
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4083f7
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4083f3
imul eax, dword [ebx]
jmp 0x4083e8
mov ecx, eax
test ecx, ecx
je 0x408416
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40840f
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4083fd
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x14]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x408440
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000101
push 0
push 0x7c
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0
push 0
push 0
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408482
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x408498
mov eax, 0x499305
push eax
push 3
mov ebx, 0x190
call fcn.00451360
add esp, 0x28
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x4084be
push ebx
call fcn.0044dbce
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4084e0
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4084dc
imul eax, dword [ebx]
jmp 0x4084d1
mov ecx, eax
test ecx, ecx
je 0x4084ff
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x4084f8
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4084e6
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
call fcn.0040205e
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x14]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x408531
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x34]
push dword [ebx]
push dword [ebp - 0x30]
mov ecx, 2
call fcn.0040119e
add esp, 8
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408561
push ebx
call fcn.0044dbce
add esp, 4
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x408574
mov eax, 0x499305
push eax
push 1
mov ebx, 0x268
call fcn.00450d50
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40859a
push ebx
call fcn.0044dbce
add esp, 4
push reloc.WSOCK32.dll_getpeername
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x4085ad
mov eax, 0x499775
push eax
push 1
mov ebx, 8
mov eax, 0x454360
call fcn.0044e000
add esp, 0x10
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4085d8
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x4085f6
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebx]
push eax
push dword [ebp - 0x40]
call fcn.00401096
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40862d
push ebx
call fcn.0044dbce
add esp, 4
cmp dword [ebp - 0x48], 0
je 0x4089ac
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
mov dword [ebp - 0x38], 0
push 0
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
push 0x4b5b75
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1dc]
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4086a5
push ebx
call fcn.0044dbce
add esp, 4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x14]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x4086c9
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 1
push dword [ebp - 0x30]
push 1
push 0
push dword [ebp - 0x1c]
push 0x4b5b75
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x18]
call fcn.004029aa
mov eax, 2
cmp eax, ecx
jl 0x408710
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 1
push dword [ebp - 0x30]
push 1
push 1
push dword [ebp - 0x1c]
push 0x4b5b75
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x18]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x408757
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 1
push dword [ebp - 0x30]
push 1
push 2
push dword [ebp - 0x1c]
push 0x4b5b75
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
push 1
mov eax, str._1_Bye
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 3
push dword [ebp - 0x1c]
push 0x4b5b75
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4087ba
push ebx
call fcn.0044dbce
add esp, 4
push 1
mov eax, 0x4b2029
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 4
push dword [ebp - 0x1c]
push 0x4b5b75
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4087f4
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x408812
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000101
push 0
push 0x5c
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x80000101
push 0
push 0x2f
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x38], eax
push reloc.WSOCK32.dll_bind
push 0
push 1
mov ebx, 6
call fcn.00408015
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x408885
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408899
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x4088af
mov eax, 0x499305
push eax
push 6
mov ebx, 0x180
call fcn.004514f0
add esp, 0x4c
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x4088d5
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4088e5
push ebx
call fcn.0044dbce
add esp, 4
push str..zip
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.0040119e
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40890d
push ebx
call fcn.0044dbce
add esp, 4
push 0x4b5b8d
push 4
mov eax, 2
call fcn.0044df80
add esp, 8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov ebx, dword [0x4b5b8d]
mov dword [ebp - 0x48], ebx
call fcn.004029aa
mov dword [ebp - 0x4c], ecx
mov edi, dword [ebp - 0x48]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408954
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x4c]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x48]
call fcn.0044dbe0
add esp, 8
mov dword [0x4b5b8d], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x4c]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x44]
push edi
test eax, eax
je 0x408999
push eax
mov ebx, eax
call fcn.00401133
inc eax
push eax
call fcn.0044dbc8
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4089ac
push ebx
call fcn.0044dbce
add esp, 4
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x2a4
call fcn.00451150
add esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4089df
push ebx
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push 0x499305
push dword [ebp - 0x20]
call fcn.00401096
add esp, 8
cmp eax, 0
je 0x409047
push 0x80000101
push 0
push 0x3d
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x30], eax
push 0
push 0
push 0
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x408a36
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x408a4a
mov eax, 0x499305
push eax
push 3
mov ebx, 0x190
call fcn.00451360
add esp, 0x28
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408a70
push ebx
call fcn.0044dbce
add esp, 4
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x24]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x408a92
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x408a8e
imul eax, dword [ebx]
jmp 0x408a83
mov ecx, eax
test ecx, ecx
je 0x408ab1
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x408aaa
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x408a98
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x24]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x408adb
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000101
push 0
push 0x7c
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0
push 0
push 0
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408b1d
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x408b33
mov eax, 0x499305
push eax
push 3
mov ebx, 0x190
call fcn.00451360
add esp, 0x28
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x408b59
push ebx
call fcn.0044dbce
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x408b7b
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x408b77
imul eax, dword [ebx]
jmp 0x408b6c
mov ecx, eax
test ecx, ecx
je 0x408b9a
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x408b93
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x408b81
call fcn.0044dbce
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
call fcn.0040205e
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x24]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x408bcc
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x34]
push dword [ebx]
push dword [ebp - 0x30]
mov ecx, 2
call fcn.0040119e
add esp, 8
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408bfc
push ebx
call fcn.0044dbce
add esp, 4
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x408c0f
mov eax, 0x499305
push eax
push 1
mov ebx, 0x268
call fcn.00450d50
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408c35
push ebx
call fcn.0044dbce
add esp, 4
push reloc.WSOCK32.dll_getpeername
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x408c48
mov eax, 0x499775
push eax
push 1
mov ebx, 8
mov eax, 0x454360
call fcn.0044e000
add esp, 0x10
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408c73
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x28]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x408c91
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebx]
push eax
push dword [ebp - 0x40]
call fcn.00401096
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x408cc8
push ebx
call fcn.0044dbce
add esp, 4
cmp dword [ebp - 0x48], 0
je 0x409047
mov dword [ebp - 0x30], 0
push 0
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
mov dword [ebp - 0x38], 0
push 0
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
push 0x4b5b79
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1dc]
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x408d40
push ebx
call fcn.0044dbce
add esp, 4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x24]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x408d64
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 1
push dword [ebp - 0x30]
push 1
push 0
push dword [ebp - 0x2c]
push 0x4b5b79
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x28]
call fcn.004029aa
mov eax, 2
cmp eax, ecx
jl 0x408dab
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 1
push dword [ebp - 0x30]
push 1
push 1
push dword [ebp - 0x2c]
push 0x4b5b79
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x28]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x408df2
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 1
push dword [ebp - 0x30]
push 1
push 2
push dword [ebp - 0x2c]
push 0x4b5b79
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
push 1
mov eax, str._1_Bye
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 3
push dword [ebp - 0x2c]
push 0x4b5b79
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408e55
push ebx
call fcn.0044dbce
add esp, 4
push 1
mov eax, 0x4b2029
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
push 1
push 4
push dword [ebp - 0x2c]
push 0x4b5b79
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1a4]
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408e8f
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x28]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x408ead
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000101
push 0
push 0x5c
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x80000101
push 0
push 0x2f
push 1
mov ebx, 0x140
call fcn.0044e300
add esp, 0x10
mov dword [ebp - 0x38], eax
push reloc.WSOCK32.dll_bind
push 0
push 1
mov ebx, 6
call fcn.00408015
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x408f20
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408f34
mov eax, 0x499305
push eax
push reloc.WSOCK32.dll_connect
push 0
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x408f4a
mov eax, 0x499305
push eax
push 6
mov ebx, 0x180
call fcn.004514f0
add esp, 0x4c
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x408f70
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408f80
push ebx
call fcn.0044dbce
add esp, 4
push str..zip
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.0040119e
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408fa8
push ebx
call fcn.0044dbce
add esp, 4
push 0x4b5b91
push 4
mov eax, 2
call fcn.0044df80
add esp, 8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov ebx, dword [0x4b5b91]
mov dword [ebp - 0x48], ebx
call fcn.004029aa
mov dword [ebp - 0x4c], ecx
mov edi, dword [ebp - 0x48]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408fef
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x4c]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x48]
call fcn.0044dbe0
add esp, 8
mov dword [0x4b5b91], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x4c]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x44]
push edi
test eax, eax
je 0x409034
push eax
mov ebx, eax
call fcn.00401133
inc eax
push eax
call fcn.0044dbc8
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x409047
push ebx
call fcn.0044dbce
add esp, 4
jmp 0x4082e2
mov ebx, dword [0x4b5b8d]
call fcn.00404c71
mov dword [ebp - 0x30], eax
mov ebx, dword [0x4b5b91]
call fcn.00404c71
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x30]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fild dword [ebp - 0x34]
fstp qword [ebp - 0x44]
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.00401e95
mov dword [0x4b5b95], eax
push 0x80000301
push 0
push dword [0x4b5b95]
push 1
mov ebx, 0x168
call fcn.0044e9f0
add esp, 0x10
mov dword [ebp - 0x30], eax
push 0x80000301
push 0
push dword [0x4b5b95]
push 1
mov ebx, 0x168
call fcn.0044e9f0
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x4b2037
push dword [ebp - 0x34]
push 0x4b203f
push dword [ebp - 0x30]
push 0x4b205c
mov ecx, 5
call fcn.0040119e
add esp, 0x14
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x409103
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x409113
push ebx
call fcn.0044dbce
add esp, 4
push 1
lea eax, [ebp - 0x38]
push eax
push 0x4b5b85
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x190]
mov ebx, eax
test ebx, ebx
je 0x40913a
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40914a
push ebx
call fcn.0044dbce
add esp, 4
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x278
call fcn.0044e870
add esp, 0x10
push dword [0x4b5b95]
push 1
push 0x4b5b81
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x194]
push 1
push 1
push 0x4b5b81
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x190]
mov dword [ebp - 0x30], esp
push dword [ebp - 4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
nop
nop
nop
nop
cmp dword [ebp - 0x30], esp
je 0x4091be
push 6
call fcn.0044dbd4
add esp, 4
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jne 0x4091f1
push reloc.WSOCK32.dll_connect
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x4091de
mov eax, 0x499305
push eax
push 1
mov ebx, 0x244
call fcn.0044e320
add esp, 0x10
mov ebx, dword [0x4b5b89]
call fcn.004029aa
mov eax, 0
cmp eax, ecx
jl 0x409212
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
mov ebx, dword [ebp - 0x30]
push dword [ebx]
push 1
mov ebx, 0x1c
mov eax, 0x454140
call fcn.0044e000
add esp, 0x10
mov ebx, dword [0x4b5b89]
call fcn.004029aa
mov eax, 1
cmp eax, ecx
jl 0x40925e
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push dword [ebp - 0x30]
push 0
push 0
push 0
push reloc.WSOCK32.dll_getsockname
push 0
push 0x40a2db
push 3
mov ebx, 0
mov eax, 0x4540e0
call fcn.0044e000
add esp, 0x28
mov ebx, dword [0x4b5b89]
call fcn.004029aa
mov eax, 2
cmp eax, ecx
jl 0x4092ba
push 1
call fcn.0044dbd4
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push dword [ebp - 0x30]
push 0
push 0
push 0
push reloc.WSOCK32.dll_getsockname
push 0
push 0x40aa4f
push 3
mov ebx, 0
mov eax, 0x4540e0
call fcn.0044e000
add esp, 0x28
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x409305
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x409315
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409333
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40932f
imul eax, dword [ebx]
jmp 0x409324
mov ecx, eax
test ecx, ecx
je 0x409352
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40934b
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409339
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409378
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409374
imul eax, dword [ebx]
jmp 0x409369
mov ecx, eax
test ecx, ecx
je 0x409397
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x409390
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40937e
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4093af
push ebx
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4093cd
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4093c9
imul eax, dword [ebx]
jmp 0x4093be
mov ecx, eax
test ecx, ecx
je 0x4093ec
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x4093e5
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4093d3
call fcn.0044dbce
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409412
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40940e
imul eax, dword [ebx]
jmp 0x409403
mov ecx, eax
test ecx, ecx
je 0x409431
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40942a
push ebx
push eax
call fcn.0044dbce
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409418
call fcn.0044dbce
add esp, 4
mov esp, ebp
pop ebp
ret