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

Disassembly:
sub esp, 0x54
mov eax, dword [0x30333dc8]
push ebx
push ebp
xor ebp, ebp
push esi
mov esi, ecx
mov ebx, dword [esi + 0xc4]
push edi
xor edi, edi
and ebx, 0x200
cmp eax, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x30], edi
jne 0x3000c70f
push str.wininet.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebp
jne 0x3000c602
mov dword [0x30333dc8], 2
jmp 0x3000cb92
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.InternetOpenA
push edi
call ebp
push str.InternetConnectA
push edi
mov dword [0x30333dcc], eax
call ebp
push str.HttpOpenRequestA
push edi
mov dword [0x30333dd0], eax
call ebp
push str.HttpSendRequestA
push edi
mov dword [0x30333dd4], eax
call ebp
push 0x30293b54
push edi
mov dword [0x30333dd8], eax
call ebp
push str.InternetQueryOptionA
push edi
mov dword [0x30333ddc], eax
call ebp
push str.InternetQueryDataAvailable
push edi
mov dword [0x30333de0], eax
call ebp
push str.InternetReadFile
push edi
mov dword [0x30333de4], eax
call ebp
push str.InternetCloseHandle
push edi
mov dword [0x30333de8], eax
call ebp
push str.FtpOpenFileA
push edi
mov dword [0x30333dec], eax
call ebp
mov dword [0x30333df0], eax
mov eax, dword [0x30333dcc]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333dd0]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333dd4]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333dd8]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333ddc]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333de0]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333de4]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333de8]
test eax, eax
je 0x3000c5f3
mov eax, dword [0x30333dec]
test eax, eax
je 0x3000c5f3
mov edi, dword [esp + 0x30]
mov dword [0x30333dc8], 1
xor ebp, ebp
push ebp
push ebp
push ebp
push ebp
push 0x30293ad8
call dword [0x30333dcc]
cmp eax, ebp
mov dword [esp + 0x38], eax
je 0x3000cb92
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cb92
mov edx, dword [str.https:__]
mov eax, edx
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x3000c740
mov ecx, dword [esi + 0x34]
sub eax, ebp
push eax
push edx
push ecx
call fcn.3028d560
add esp, 0xc
test eax, eax
jne 0x3000c767
mov edi, 1
mov ecx, 0x1bb
jmp 0x3000c76a
mov ecx, dword [esi + 0x64]
mov eax, dword [esi + 0x68]
mov ebp, dword [esi + 0x40]
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x38]
push esi
sete dl
push 0
lea edx, [edx + edx + 1]
push edx
push 0
push 0
push ecx
push ebp
push eax
call dword [0x30333dd0]
test eax, eax
mov dword [esp + 0x20], eax
je 0x3000cb92
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cb92
mov ecx, dword [esi + 0xc8]
call fcn.300f88b0
push eax
lea ecx, [esi + 0x34]
call fcn.3011b010
test eax, eax
mov dword [esp + 0x1c], eax
je 0x3000cb92
mov eax, dword [esi + 0x68]
sub eax, 0
je 0x3000c80a
dec eax
jne 0x3000cdeb
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push esi
push 2
push SysReAllocString
push ecx
push edx
call dword [0x30333df0]
test eax, eax
mov dword [esp + 0x10], eax
je 0x3000cb92
mov al, byte [esi + 0x21]
test al, al
je 0x3000cdeb
jmp 0x3000cb92
test ebx, ebx
mov eax, dword [esi + 0xac]
jne 0x3000c82d
test eax, eax
je 0x3000c829
mov eax, dword [esi + 0xb0]
test eax, eax
jbe 0x3000c829
mov ebx, 1
jmp 0x3000c835
xor ebx, ebx
jmp 0x3000c835
test eax, eax
setne al
movzx ebx, al
mov eax, dword [esi + 0xb4]
push 1
push eax
lea ecx, [esp + 0x58]
call fcn.3011c4c0
test ebx, ebx
mov ebx, 0x30293ad0
jne 0x3000c855
mov ebx, 0x30293acc
push esi
lea ecx, [esp + 0x54]
call fcn.3011c590
mov ecx, dword [esi + 0xc4]
neg al
mov edx, dword [esp + 0x20]
sbb eax, eax
and eax, 0x200000
neg edi
sbb edi, edi
and ecx, 0xffffff80
and edi, 0x800000
or eax, edi
shl ecx, 0x18
or eax, ecx
push eax
mov eax, dword [esp + 0x28]
push 0
push 0
push 0
push edx
push ebx
push eax
call dword [0x30333dd4]
test eax, eax
mov dword [esp + 0x10], eax
je 0x3000cb89
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cb89
mov edx, dword [str.http:__]
mov ebx, dword [esi + 0x34]
mov eax, edx
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x3000c8c0
sub eax, edi
push eax
push edx
push ebx
call fcn.3028d560
add esp, 0xc
test eax, eax
je 0x3000c8fb
mov edx, dword [str.https:__]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x3000c8e3
sub eax, edi
push eax
push edx
push ebx
call fcn.3028d560
add esp, 0xc
test eax, eax
jne 0x3000c966
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x3000c966
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x3000c966
call fcn.3001f7d0
mov edi, dword [eax]
test edi, edi
je 0x3000c966
push str.https:
push edi
call fcn.30074f60
add esp, 8
test eax, eax
setne al
test al, al
je 0x3000c940
push str.https:
push ebx
call fcn.30074f60
add esp, 8
test eax, eax
je 0x3000c966
push str.Referer:
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push edi
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push 0x30293ab4
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push str.x_flash_version:
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push 0x30293a94
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push 0x30293ab4
lea ecx, [esp + 0x5c]
call fcn.30074eb0
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x3000c995
sub eax, edx
cmp eax, 4
jbe 0x3000c9e8
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x3000c9a8
sub eax, edx
lea edi, [eax + ebx - 4]
push str..jpg
push edi
call fcn.30074f60
add esp, 8
test eax, eax
jne 0x3000c9da
push str..jpeg
dec edi
push edi
call fcn.30074f60
add esp, 8
test eax, eax
je 0x3000c9e8
push str.Cache_Control:_no_transform_r_n
lea ecx, [esp + 0x5c]
call fcn.30074eb0
mov eax, dword [esi + 0xac]
test eax, eax
lea ecx, [esp + 0x58]
je 0x3000ca6f
mov edi, dword [esi + 0xb0]
push str.Content_Type:
mov ebp, eax
call fcn.30074eb0
mov eax, dword [esi + 0xc4]
test ah, 2
mov eax, dword [esi + 0xb4]
je 0x3000ca24
test eax, eax
jne 0x3000ca2d
mov eax, str.application_x_amf
jmp 0x3000ca2d
test eax, eax
jne 0x3000ca2d
mov eax, str.application_x_www_form_urlencoded
lea ecx, [esp + 0x58]
push eax
call fcn.30074eb0
push 0x30293ab4
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push str.Content_Length:
lea ecx, [esp + 0x5c]
call fcn.30074eb0
push 0xa
push edi
lea ecx, [esp + 0x60]
call fcn.30074b90
push 0x30293ab4
lea ecx, [esp + 0x5c]
call fcn.30074eb0
jmp 0x3000ca81
push 0x30293ab4
call fcn.30074eb0
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x3000ca8f
mov eax, dword [esp + 0x58]
jmp 0x3000ca97
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x10]
mov dl, byte [esi + 0x21]
push edi
push ebp
push ecx
push eax
push ebx
call dword [0x30333dd8]
mov edi, eax
neg edi
sbb edi, edi
xor ebp, ebp
push ebp
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x30]
push ecx
push 0x20000013
push ebx
inc edi
mov dword [esp + 0x40], 4
call dword [0x30333ddc]
mov edx, dword [esp + 0x28]
neg eax
sbb eax, eax
inc eax
push edx
or edi, eax
call fcn.3000be30
add esp, 4
test al, al
je 0x3000cc05
push ebp
lea eax, [esp + 0x18]
push eax
push ebp
push 0x21
push ebx
mov dword [esp + 0x28], ebp
call dword [0x30333ddc]
test eax, eax
jne 0x3000cb89
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x3000cb89
mov eax, dword [esp + 0x14]
cmp eax, ebp
jbe 0x3000cb89
push eax
call fcn.3007a1f0
add esp, 4
push ebp
lea ecx, [esp + 0x18]
push ecx
mov edi, eax
push edi
push 0x21
push ebx
mov byte [edi], 0
call dword [0x30333ddc]
cmp eax, 1
jne 0x3000cbfa
cmp byte [edi], 0
je 0x3000cbfa
push 0xc
call fcn.3007a1f0
add esp, 4
cmp eax, ebp
je 0x3000cb6b
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0x24]
mov dword [eax], edx
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
jmp 0x3000cb6d
xor eax, eax
push eax
mov eax, dword [esi + 0xf0]
push ebp
push 0x413
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [esp + 0x24], 1
lea ecx, [esp + 0x50]
call fcn.3011c570
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.30208320
mov eax, dword [esp + 0x14]
xor edi, edi
add esp, 4
cmp eax, edi
je 0x3000cbb0
push eax
call dword [0x30333dec]
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x3000cbbf
push eax
call dword [0x30333dec]
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x3000cbce
push eax
call dword [0x30333dec]
cmp dword [esp + 0x24], edi
jne 0x3000cfdb
push 0xc
call fcn.3007a1f0
add esp, 4
cmp eax, edi
je 0x3000cfc5
mov edx, dword [esi + 0x24]
mov dword [eax], edx
mov dword [eax + 4], edi
mov dword [eax + 8], edi
jmp 0x3000cfc7
push edi
call fcn.30208320
add esp, 4
jmp 0x3000cb89
push 0xc
call fcn.3007a1f0
add esp, 4
cmp eax, ebp
je 0x3000cc24
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x24]
mov dword [eax], edx
mov dword [eax + 4], ebp
mov dword [eax + 8], ecx
jmp 0x3000cc26
xor eax, eax
push eax
mov eax, dword [esi + 0xf0]
push ebp
push 0x411
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
cmp edi, ebp
jne 0x3000cb89
cmp dword [esp + 0x28], 0xc8
jne 0x3000cb89
push ebp
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x3c]
push edx
push 0x20000005
push ebx
mov dword [esp + 0x40], 4
call dword [0x30333ddc]
test eax, eax
jne 0x3000cc7b
mov dword [esp + 0x34], 0xffffffff
mov ebp, dword [esp + 0x10]
push 0
lea eax, [esp + 0x34]
push eax
push 0
push 0x16
push ebp
xor bl, bl
mov dword [esp + 0x44], 0
call dword [0x30333ddc]
test eax, eax
jne 0x3000cd3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x3000cd3a
mov eax, dword [esp + 0x30]
test eax, eax
jbe 0x3000cd3a
push eax
call fcn.3007a1f0
add esp, 4
push 0
lea ecx, [esp + 0x34]
push ecx
mov edi, eax
push edi
push 0x16
push ebp
mov byte [edi], bl
call dword [0x30333ddc]
cmp eax, 1
jne 0x3000cd09
cmp byte [edi], 0
je 0x3000cd09
push 0
push edi
lea ecx, [esp + 0x50]
call fcn.3011c4c0
lea edx, [esp + 0x48]
push edx
mov ecx, esi
call fcn.3011c840
lea ecx, [esp + 0x48]
mov bl, 1
call fcn.3011c570
push edi
call fcn.30208320
add esp, 4
test bl, bl
je 0x3000cd3a
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0x1c]
or dword [eax + 0x840], 1
mov ecx, dword [esi + 0xc8]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [eax + 0x840]
and ecx, 0xfffffffd
jmp 0x3000cd5c
mov edx, dword [esi + 0xc8]
mov eax, dword [edx + 0x1c]
or dword [eax + 0x840], 2
mov eax, dword [esi + 0xc8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0x840]
and ecx, 0xfffffffe
mov dword [eax + 0x840], ecx
lea ecx, [esp + 0x18]
push ecx
xor ebx, ebx
push ebx
push 0x22
push ebp
mov dword [esp + 0x28], ebx
call dword [0x30333de0]
test eax, eax
jne 0x3000cde2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x3000cde2
mov eax, dword [esp + 0x18]
cmp eax, ebx
jbe 0x3000cde2
push eax
call fcn.3007a1f0
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x3000cde2
lea edx, [esp + 0x18]
push edx
push edi
push 0x22
push ebp
call dword [0x30333de0]
test eax, eax
je 0x3000cdd9
push 0xc
call fcn.3007a1f0
add esp, 4
cmp eax, ebx
je 0x3000cdd3
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x24]
mov dword [eax], edx
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [esp + 0x14], eax
jmp 0x3000cde2
mov dword [esp + 0x14], ebx
jmp 0x3000cde2
push edi
call fcn.30208320
add esp, 4
lea ecx, [esp + 0x50]
call fcn.3011c570
mov ebx, dword [sym.imp.USER32.dll_PostMessageA]
push 0xc
call fcn.3007a1f0
add esp, 4
test eax, eax
je 0x3000ce14
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x3000ce16
xor eax, eax
mov edx, dword [esi + 0xf0]
push eax
push 0
push 0x40e
push edx
call ebx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x3000ce40
push eax
mov eax, dword [esi + 0xf0]
push 0
push 0x412
push eax
call ebx
push 0xc
call fcn.3007a1f0
add esp, 4
test eax, eax
je 0x3000ce63
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 0x24]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], ecx
jmp 0x3000ce65
xor eax, eax
push eax
mov eax, dword [esi + 0xf0]
push 0
push 0x410
push eax
call ebx
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cb92
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esp + 0x10]
push 0
push 0
lea ecx, [esp + 0x38]
push ecx
push edx
call dword [0x30333de4]
test eax, eax
je 0x3000cf50
mov eax, dword [esp + 0x30]
test eax, eax
je 0x3000cf50
mov cl, byte [esi + 0x21]
test cl, cl
jne 0x3000cf50
cmp eax, 0x10000
jbe 0x3000ceca
mov eax, 0x10000
mov dword [esp + 0x30], eax
push eax
call fcn.3007a1f0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, eax
lea eax, [esp + 0x18]
push eax
push ecx
push edi
push edx
call dword [0x30333de8]
test eax, eax
je 0x3000cf50
mov eax, dword [esp + 0x18]
test eax, eax
je 0x3000cf50
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cb92
push 0xc
call fcn.3007a1f0
add esp, 4
test eax, eax
je 0x3000cf23
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x24]
mov dword [eax + 4], edi
mov dword [eax], edx
mov dword [eax + 8], ecx
mov edi, eax
jmp 0x3000cf25
xor edi, edi
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cf80
mov eax, dword [esi + 0xf0]
push edi
push 0
push 0x40c
push eax
call ebx
test eax, eax
je 0x3000cf80
push 0
call ebp
mov al, byte [esi + 0x21]
test al, al
je 0x3000ce87
mov al, byte [esi + 0x21]
test al, al
jne 0x3000cb92
push 0xc
mov dword [esp + 0x28], 1
call fcn.3007a1f0
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x3000cfaa
mov edx, dword [esi + 0x24]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
jmp 0x3000cfac
test edi, edi
je 0x3000cf9d
mov eax, dword [edi + 4]
test eax, eax
je 0x3000cf94
push eax
call fcn.30208320
add esp, 4
push edi
call fcn.30208320
add esp, 4
mov dword [esp + 0x24], 1
jmp 0x3000cb92
xor eax, eax
push eax
mov eax, dword [esi + 0xf0]
push ecx
push 0x40f
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x3000cb92
xor eax, eax
push eax
mov eax, dword [esi + 0xf0]
push edi
push 0x40d
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [esp + 0x58]
push ecx
call fcn.30208320
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret