Function at 0x4246ec
Capabilities:
Connect to http server

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
push ebx
push esi
push edi
lea ecx, [esp + 0x10]
mov edi, eax
call fcn.004019d1
lea ecx, [esp + 0x20]
call fcn.004019d1
lea ecx, [esp + 0x30]
call fcn.004019d1
lea ecx, [esp + 0x40]
call fcn.004019d1
lea ecx, [esp + 0x50]
call fcn.004019d1
lea ecx, [esp + 0x60]
call fcn.004019d1
lea ecx, [esp + 0x70]
call fcn.004019d1
push dword [edi + 0x20]
lea esi, [esp + 0x14]
call fcn.004249f9
test al, al
jne 0x4247b3
mov dword [edi + 0x18], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x1c], eax
mov edi, dword [edi + 0xd4]
test edi, edi
je 0x42476d
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea ecx, [esp + 0x70]
call fcn.00401a04
lea ecx, [esp + 0x60]
call fcn.00401a04
lea ecx, [esp + 0x50]
call fcn.00401a04
lea ecx, [esp + 0x40]
call fcn.00401a04
lea ecx, [esp + 0x30]
call fcn.00401a04
lea ecx, [esp + 0x20]
call fcn.00401a04
lea ecx, [esp + 0x10]
call fcn.00401a04
xor al, al
jmp 0x424966
push 3
pop ebx
cmp dword [esp + 0x80], ebx
je 0x4247d2
cmp dword [esp + 0x80], 1
je 0x4247d2
mov dword [edi + 0x18], 2
jmp 0x424753
push dword [esp + 0x80]
mov esi, edi
call fcn.0042496f
test al, al
jne 0x424808
mov dword [edi + 0x18], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x1c], eax
mov edi, dword [edi + 0xd4]
test edi, edi
je 0x424801
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor bl, bl
jmp 0x424925
mov eax, dword [esp + 0x80]
dec eax
je 0x42483e
dec eax
dec eax
je 0x424822
mov dword [edi + 0x18], 4
jmp 0x424753
push dword [ebp + 8]
lea eax, [edi + 0x58]
call fcn.00424b8b
movzx eax, al
push eax
lea eax, [esp + 0x18]
mov ecx, edi
call fcn.00424bee
jmp 0x42485c
lea eax, [edi + 0x8c]
call fcn.00424b8b
test al, al
je 0x424863
push dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
mov eax, edi
call fcn.00424d86
mov bl, al
jmp 0x424925
mov esi, dword [edi + 0x54]
xor ebx, ebx
push ebx
push ebx
push 1
push dword [esp + 0x4c]
push dword [esp + 0x40]
push dword [esp + 0x9c]
push dword [esp + 0x38]
push dword [edi + 4]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [edi], eax
cmp eax, ebx
jne 0x4248b1
mov dword [edi + 0x18], 0x15
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0x1c], eax
mov edi, dword [edi + 0xd4]
cmp edi, ebx
je 0x424925
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x424925
push ebx
push esi
push accept
push dword [esp + 0x7c]
push eax
call dword [sym.imp.WININET.dll_FtpOpenFileW]
mov esi, eax
cmp esi, ebx
jne 0x4248d2
mov dword [edi + 0x18], 0x16
jmp 0x424895
lea eax, [esp + 0xc]
push eax
push esi
call dword [sym.imp.WININET.dll_FtpGetFileSize]
mov edx, dword [esp + 0xc]
xor ecx, ecx
xor ebx, ebx
or ecx, eax
or edx, ebx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], edx
cmp byte [ebp + 8], bl
je 0x424908
push esi
mov eax, edi
call fcn.00424e9d
push esi
mov bl, al
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x424925
and dword [edi + 0x18], ebx
mov edi, dword [edi + 0xd4]
test edi, edi
je 0x42491c
push edi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov bl, 1
lea ecx, [esp + 0x70]
call fcn.00401a04
lea ecx, [esp + 0x60]
call fcn.00401a04
lea ecx, [esp + 0x50]
call fcn.00401a04
lea ecx, [esp + 0x40]
call fcn.00401a04
lea ecx, [esp + 0x30]
call fcn.00401a04
lea ecx, [esp + 0x20]
call fcn.00401a04
lea ecx, [esp + 0x10]
call fcn.00401a04
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4