Function at 0x40eb00
Capabilities:
Check http status code
Link many functions at runtime

Disassembly:
sub esp, 0x30
mov eax, dword [0x450998]
push ebx
push ebp
push esi
push edi
xor edi, edi
xor ebp, ebp
cmp eax, edi
mov ebx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
jne 0x40ec49
push str.wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, edi
jne 0x40eb5a
mov dword [0x450998], 2
jmp 0x40ef76
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.InternetOpenA
push esi
call edi
push str.InternetConnectA
push esi
mov dword [0x45099c], eax
call edi
push str.HttpOpenRequestA
push esi
mov dword [0x4509a0], eax
call edi
push str.HttpSendRequestA
push esi
mov dword [0x4509a4], eax
call edi
push str.HttpQueryInfoA
push esi
mov dword [0x4509a8], eax
call edi
push str.InternetQueryDataAvailable
push esi
mov dword [0x4509ac], eax
call edi
push str.InternetReadFile
push esi
mov dword [0x4509b0], eax
call edi
push str.InternetCloseHandle
push esi
mov dword [0x4509b4], eax
call edi
push str.FtpOpenFileA
push esi
mov dword [0x4509b8], eax
call edi
mov dword [0x4509bc], eax
mov eax, dword [0x45099c]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509a0]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509a4]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509a8]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509ac]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509b0]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509b4]
test eax, eax
je 0x40ecf2
mov eax, dword [0x4509b8]
test eax, eax
je 0x40ecf2
mov dword [0x450998], 1
xor edi, edi
push edi
push edi
push edi
push edi
push str.Shockwave_Flash
call dword [0x45099c]
mov edi, eax
test edi, edi
mov dword [esp + 0x20], edi
je 0x40ef74
mov eax, dword [0x450990]
test eax, eax
jne 0x40ef6d
mov eax, dword [ebx + 0x2c]
mov cx, word [ebx + 0x20]
neg eax
sbb eax, eax
mov edx, dword [ebx + 8]
and al, 0xfe
push ebx
add eax, 3
push 0
push eax
push 0
push 0
push ecx
push edx
push edi
call dword [0x4509a0]
mov esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
je 0x40ef6d
mov eax, dword [0x450990]
test eax, eax
jne 0x40ef66
mov eax, dword [ebx + 0x2c]
sub eax, 0
je 0x40ed01
dec eax
jne 0x40ee87
mov eax, dword [ebx + 0x24]
push ebx
push 2
push 0x80000000
push eax
push esi
call dword [0x4509bc]
test eax, eax
mov dword [esp + 0x10], eax
je 0x40ef66
mov eax, dword [0x450990]
test eax, eax
je 0x40ee87
jmp 0x40ef4f
mov dword [0x450998], 2
jmp 0x40ef74
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebx + 0x24]
and ecx, 0xffffff80
push ebx
shl ecx, 0x18
push ecx
push 0
push 0
push 0
push edx
push 0
push esi
call dword [0x4509a4]
test eax, eax
mov dword [esp + 0x10], eax
je 0x40ef66
mov eax, dword [0x450990]
test eax, eax
jne 0x40ef4f
mov edx, dword [str.http:__]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x450988]
not ecx
dec ecx
push ecx
mov ecx, dword [eax + 0xbd4]
push edx
push ecx
call fcn.00440180
add esp, 0xc
test eax, eax
je 0x40ed91
mov edx, dword [str.https:__]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
mov edx, dword [0x450988]
mov eax, dword [edx + 0xbd4]
push eax
call fcn.00440180
add esp, 0xc
test eax, eax
jne 0x40edc3
push str.Referer:
lea ecx, [esp + 0x38]
call fcn.0042f7d0
mov ecx, dword [0x450988]
mov edx, dword [ecx + 0xbd4]
lea ecx, [esp + 0x34]
push edx
call fcn.0042f7d0
push 0x44e1f0
lea ecx, [esp + 0x38]
call fcn.0042f7d0
mov edi, dword [ebx + 0x28]
test edi, edi
je 0x40ee02
or ecx, 0xffffffff
xor eax, eax
mov esi, edi
push str.Content_Type:_application_x_www_form_urlencoded_r_nContent_Length:
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x38]
call fcn.0042f7d0
push 0xa
push ebp
lea ecx, [esp + 0x3c]
call fcn.0042f670
push 0x44e1f0
lea ecx, [esp + 0x38]
call fcn.0042f7d0
jmp 0x40ee06
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40ee14
mov ecx, dword [esp + 0x34]
jmp 0x40ee1c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push ebp
push esi
push eax
mov eax, dword [esp + 0x1c]
push ecx
push eax
call dword [0x4509a8]
test eax, eax
je 0x40ef4f
mov eax, dword [0x450990]
test eax, eax
jne 0x40ef4f
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x2c]
push 0
lea edx, [esp + 0x34]
push ecx
push edx
push 0x20000013
push eax
mov dword [esp + 0x40], 4
call dword [0x4509ac]
test eax, eax
je 0x40ef4f
cmp dword [esp + 0x30], 0xc8
jne 0x40ef4f
mov eax, dword [0x450990]
test eax, eax
jne 0x40ef47
mov edi, dword [esp + 0x10]
push 0
lea ecx, [esp + 0x18]
push 0
push ecx
push edi
call dword [0x4509b0]
test eax, eax
je 0x40ef47
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40ef47
mov ecx, dword [0x450990]
test ecx, ecx
jne 0x40ef47
cmp eax, 0x10000
jbe 0x40eecd
mov eax, 0x10000
mov dword [esp + 0x14], eax
push eax
call fcn.0040b0a0
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push eax
push esi
push edi
call dword [0x4509b4]
test eax, eax
je 0x40ef47
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40ef47
mov eax, dword [0x450990]
test eax, eax
jne 0x40ef47
push 0xc
call fcn.0040b0a0
add esp, 4
test eax, eax
je 0x40ef1d
mov ecx, dword [esp + 0x18]
push ecx
push esi
push ebx
mov ecx, eax
call fcn.0040f540
jmp 0x40ef1f
xor eax, eax
mov edx, dword [0x450988]
push eax
push 0
push 0x402
mov eax, dword [edx + 0xbf0]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x450990]
test eax, eax
je 0x40ee8b
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x40ef5e
push eax
call dword [0x4509b8]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
push esi
call dword [0x4509b8]
push edi
call dword [0x4509b8]
xor edi, edi
cmp dword [0x450990], edi
jne 0x40ef9c
mov edx, dword [0x450988]
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov eax, dword [edx + 0xbf0]
push 0x403
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00426af0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret