Function at 0x4790a0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea edi, [ebx + 0x18]
nop
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi + 0x5c]
mov dword [edi + 0x60], eax
push dword [ecx]
push 0xa
push eax
call fcn.0049db00
mov esi, eax
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x64], esi
test esi, esi
je 0x479dc8
sub esi, dword [edi + 0x5c]
inc esi
sub dword [eax], esi
mov eax, dword [edi + 0x64]
inc eax
mov dword [edi + 0x5c], eax
sub eax, dword [edi + 0x60]
push eax
push edi
push ebx
call fcn.0047a020
add esp, 0xc
test eax, eax
jne 0x479e09
cmp dword [edi + 0x50], 0
mov eax, dword [edi + 0x54]
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 0x598]
mov dword [edi + 0x68], eax
jne 0x47912f
cmp dword [edi + 0x58], 5
jbe 0x47912f
push dword [ebx + 0x598]
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.00479e80
add esp, 0xc
test eax, eax
je 0x479c9c
mov edx, dword [edi + 0x68]
mov al, byte [edx]
cmp al, 0xa
je 0x479a95
cmp al, 0xd
je 0x479a99
mov ecx, dword [edi + 0x50]
lea eax, [ecx + 1]
mov dword [edi + 0x50], eax
test ecx, ecx
jne 0x479349
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x294]
mov eax, dword [eax + 0x3c]
test al, 1
je 0x479297
lea eax, [edi + 0x78]
push eax
lea esi, [ecx + 0x118]
push esi
lea eax, [ebp - 4]
push eax
push str._HTTP__d._d__3d
push edx
call fcn.0040ab10
add esp, 0x14
cmp eax, 3
jne 0x47924f
mov eax, dword [ebp - 4]
lea eax, [eax + eax*4]
add eax, eax
add dword [esi], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x78]
mov dword [ebx + 0x8f34], eax
mov eax, dword [esi]
mov dword [ebx + 0x8f3c], eax
mov eax, dword [ebx + 0x8ed0]
test eax, eax
je 0x4791bb
cmp eax, dword [esi]
jle 0x4791c3
mov eax, dword [esi]
mov dword [ebx + 0x8ed0], eax
cmp dword [ebx + 0x2f0], 0
je 0x479224
mov edx, dword [edi + 0x78]
cmp edx, 0x190
jl 0x479224
cmp edx, 0x191
jne 0x4791e8
cmp dword [ecx + 0x230], 0
jne 0x479224
cmp edx, 0x197
jne 0x4791f9
cmp dword [ecx + 0x234], 0
jne 0x479224
mov eax, dword [ebx + 0x8ef8]
or eax, dword [ebx + 0x8efc]
je 0x479ccd
cmp dword [ebx + 0x250], 1
jne 0x479ccd
cmp edx, 0x1a0
jne 0x479ccd
mov eax, dword [esi]
cmp eax, 0xa
jne 0x4792ea
push str.HTTP_1.0__assume_close_after_body_n
push ebx
call fcn.00472f30
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [eax + 0x220], 1
jmp 0x479302
lea eax, [edi + 0x78]
push eax
push str._HTTP__3d
push dword [edi + 0x68]
call fcn.0040ab10
add esp, 0xc
mov dword [esi], 0xa
test eax, eax
jne 0x479199
push dword [edi + 0x68]
push ebx
call fcn.00479e10
add esp, 8
test eax, eax
je 0x479e00
mov dword [edi + 0x78], 0xc8
mov dword [esi], 0xa
jmp 0x479199
test eax, 0x40000
je 0x479e00
lea eax, [edi + 0x78]
push eax
lea esi, [ecx + 0x11c]
push esi
lea eax, [ebp - 8]
push eax
push str._RTSP__d._d__3d
push edx
call fcn.0040ab10
add esp, 0x14
cmp eax, 3
jne 0x479e00
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x118], 0xb
lea eax, [eax + eax*4]
add eax, eax
add dword [esi], eax
lea esi, [ecx + 0x118]
jmp 0x47919c
cmp eax, 0xb
jl 0x479302
cmp dword [ecx + 0x220], 0
jne 0x479302
mov dword [ecx + 0x2dc], 1
mov eax, dword [edi + 0x78]
sub eax, 0xcc
je 0x479311
sub eax, 0x64
jne 0x479349
cmp dword [ebx + 0x240], 0
je 0x479324
mov dword [ebx + 0x8f44], 1
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0xec], 1
cmp dword [edi + 0xec], 0
jne 0x47945d
cmp dword [ebx + 0x350], 0
jne 0x47945d
push 0xf
push dword [edi + 0x68]
push str.Content_Length:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47945d
mov eax, dword [edi + 0x68]
push 0xa
add eax, 0xf
push 0
push eax
call fcn.004ae636
mov ecx, dword [ebx + 0x2b8]
add esp, 0xc
mov esi, dword [ebx + 0x2bc]
or ecx, esi
je 0x4793b6
cmp edx, esi
jg 0x479ce2
jl 0x4793b6
cmp eax, dword [ebx + 0x2b8]
ja 0x479ce2
test edx, edx
jl 0x47943e
jg 0x4793c4
test eax, eax
jb 0x47943e
push edx
push eax
push ebx
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
call fcn.0047c490
add esp, 0xc
mov esi, dword [ebp + 0xc]
cmp dword [ebx + 0x300], 0
mov eax, 2
mov ecx, 3
cmovne eax, ecx
cmp dword [ebx + 0x31c], 0
mov dword [ebp + 8], eax
je 0x479412
push esi
push dword [edi + 0x58]
push dword [edi + 0x68]
push 1
push ebx
call fcn.00472db0
mov eax, dword [ebp + 8]
add esp, 0x14
push dword [edi + 0x58]
push dword [edi + 0x68]
push eax
push esi
call fcn.00472c50
add esp, 0x10
test eax, eax
jne 0x479e09
mov eax, dword [edi + 0x58]
add dword [ebx + 0x8f48], eax
mov eax, dword [edi + 0x58]
add dword [ebx + 0x48], eax
jmp 0x479c6b
mov esi, dword [ebp + 0xc]
push edx
push eax
push str.Negative_content_length:__lld__closing_after_transfer_n
push ebx
mov dword [esi + 0x220], 1
call fcn.00472f30
add esp, 0x10
jmp 0x4793dd
push 0xd
push dword [edi + 0x68]
push str.Content_Type:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4794c5
push dword [edi + 0x68]
call fcn.00479ed0
mov esi, eax
add esp, 4
test esi, esi
je 0x479cfc
cmp byte [esi], 0
jne 0x47949c
push esi
call dword [0x59a004]
add esp, 4
jmp 0x4793da
mov eax, dword [ebx + 0x8f5c]
test eax, eax
je 0x4794ba
push eax
call dword [0x59a004]
add esp, 4
mov dword [ebx + 0x8f5c], 0
mov dword [ebx + 0x8f5c], esi
jmp 0x4793da
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x118], 0xa
jne 0x479510
cmp dword [esi + 0x22c], 0
je 0x479510
push str.keep_alive
push str.Proxy_Connection:
push dword [edi + 0x68]
call fcn.00478a90
add esp, 0xc
test eax, eax
je 0x479510
push str.HTTP_1.0_proxy_connection_set_to_keep_alive__n
push ebx
mov dword [esi + 0x220], 0
call fcn.00472f30
add esp, 8
jmp 0x4793dd
cmp dword [esi + 0x118], 0xb
jne 0x479558
cmp dword [esi + 0x22c], 0
je 0x479558
push 0x5412d0
push str.Proxy_Connection:
push dword [edi + 0x68]
call fcn.00478a90
add esp, 0xc
test eax, eax
je 0x479558
push str.HTTP_1.1_proxy_connection_set_close__n
push ebx
mov dword [esi + 0x220], 1
call fcn.00472f30
add esp, 8
jmp 0x4793dd
cmp dword [esi + 0x118], 0xa
jne 0x479597
push str.keep_alive
push str.Connection:
push dword [edi + 0x68]
call fcn.00478a90
add esp, 0xc
test eax, eax
je 0x479597
push str.HTTP_1.0_connection_set_to_keep_alive__n
push ebx
mov dword [esi + 0x220], 0
call fcn.00472f30
add esp, 8
jmp 0x4793dd
push 0x5412d0
push str.Connection:
push dword [edi + 0x68]
call fcn.00478a90
add esp, 0xc
test eax, eax
je 0x4795bf
mov dword [esi + 0x220], 1
jmp 0x4793dd
push 0x12
push dword [edi + 0x68]
push str.Transfer_Encoding:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x479721
mov esi, dword [edi + 0x68]
add esi, 0x12
nop
mov al, byte [esi]
test al, al
je 0x479603
movzx eax, al
push eax
call fcn.004b1b8b
add esp, 4
test eax, eax
jne 0x4795fb
cmp byte [esi], 0x2c
jne 0x479603
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4795e6
push 7
push esi
push 0x540d30
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47962f
push dword [ebp + 0xc]
mov dword [edi + 0x100], 1
call fcn.00492cd0
add esp, 4
add esi, 7
cmp dword [edi + 0x88], 0
jne 0x4793da
push 8
push esi
push str.identity
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47965f
mov dword [edi + 0x88], 0
add esi, 8
jmp 0x4795e0
push 7
push esi
push str.deflate
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x479685
mov dword [edi + 0x88], 1
add esi, 7
jmp 0x4795e0
push 4
push esi
push 0x54133c
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4796ab
mov dword [edi + 0x88], 2
add esi, 4
jmp 0x4795e0
push 6
push esi
push str.x_gzip
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4796d1
mov dword [edi + 0x88], 2
add esi, 6
jmp 0x4795e0
push 8
push esi
push str.compress
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4796f7
mov dword [edi + 0x88], 3
add esi, 8
jmp 0x4795e0
push 0xa
push esi
push str.x_compress
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4793da
mov dword [edi + 0x88], 3
add esi, 0xa
jmp 0x4795e0
push 0x11
push dword [edi + 0x68]
push str.Content_Encoding:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x479824
cmp dword [ebx + 0x390], 0
je 0x479824
mov esi, dword [edi + 0x68]
add esi, 0x11
mov al, byte [esi]
test al, al
je 0x47976c
movzx eax, al
push eax
call fcn.004b1b8b
add esp, 4
test eax, eax
je 0x47976c
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x479754
push 8
push esi
push str.identity
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47978f
mov dword [edi + 0x88], 0
jmp 0x4793da
push 7
push esi
push str.deflate
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4797b2
mov dword [edi + 0x88], 1
jmp 0x4793da
push 4
push esi
push 0x54133c
call fcn.0047e840
add esp, 0xc
test eax, eax
jne 0x479815
push 6
push esi
push str.x_gzip
call fcn.0047e840
add esp, 0xc
test eax, eax
jne 0x479815
push 8
push esi
push str.compress
call fcn.0047e840
add esp, 0xc
test eax, eax
jne 0x479806
push 0xa
push esi
push str.x_compress
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4793da
mov dword [edi + 0x88], 3
jmp 0x4793da
mov dword [edi + 0x88], 2
jmp 0x4793da
push 0xe
push dword [edi + 0x68]
push str.Content_Range:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47989b
mov esi, dword [edi + 0x68]
add esi, 0xe
mov al, byte [esi]
test al, al
je 0x47985e
movzx eax, al
push eax
call fcn.004b1ad3
add esp, 4
test eax, eax
jne 0x47985e
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x479846
push 0xa
push 0
push esi
call fcn.004ae636
mov dword [edi + 0x70], eax
add esp, 0xc
mov dword [edi + 0x74], edx
mov eax, dword [ebx + 0x8ef8]
cmp eax, dword [edi + 0x70]
jne 0x4793da
mov esi, dword [ebp + 0xc]
cmp dword [ebx + 0x8efc], edx
jne 0x4793dd
mov dword [edi + 0x6c], 1
jmp 0x4793dd
cmp dword [ebx + 0x470], 0
je 0x479903
push 0xb
push dword [edi + 0x68]
push str.Set_Cookie:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x479903
push 2
push 2
push ebx
call fcn.0047e4c0
mov eax, dword [esi + 0x2c4]
add esp, 0xc
test eax, eax
jne 0x4798d7
mov eax, dword [esi + 0x80]
push dword [ebx + 0x8ee0]
push eax
mov eax, dword [edi + 0x68]
add eax, 0xb
push eax
push 1
push dword [ebx + 0x470]
push ebx
call fcn.0046a150
push 2
push ebx
call fcn.0047e500
add esp, 0x20
jmp 0x4793dd
push 0xe
push dword [edi + 0x68]
push str.Last_Modified:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47996f
cmp dword [ebx + 0x240], 0
jne 0x47992b
cmp dword [ebx + 0x2d4], 0
je 0x47996f
push 0
call fcn.004b0bc6
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [edi + 0x68]
add eax, 0xe
mov dword [ebp - 0xc], edx
push eax
call sym.GameDownload.exe_curl_getdate
add esp, 0xc
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], edx
cmp dword [ebx + 0x2d4], 0
je 0x4793dd
mov dword [ebx + 0x8f40], eax
jmp 0x4793dd
push 0x11
push dword [edi + 0x68]
push str.WWW_Authenticate:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x47998f
mov eax, dword [edi + 0x78]
cmp eax, 0x191
je 0x4799af
push 0x13
push dword [edi + 0x68]
push str.Proxy_authenticate:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x4799c9
mov eax, dword [edi + 0x78]
cmp eax, 0x197
jne 0x4799c9
push dword [edi + 0x68]
push eax
push esi
call fcn.00478d30
add esp, 0xc
test eax, eax
jne 0x479e09
jmp 0x4793dd
mov eax, dword [edi + 0x78]
cmp eax, 0x12c
jl 0x479a69
cmp eax, 0x190
jge 0x479a69
push 9
push dword [edi + 0x68]
push str.Location:
call fcn.0047e840
add esp, 0xc
test eax, eax
je 0x479a69
cmp dword [ebx + 0x108], 0
jne 0x479a69
push dword [edi + 0x68]
call fcn.00479ed0
add esp, 4
test eax, eax
je 0x479cfc
cmp byte [eax], 0
jne 0x479a28
push eax
call dword [0x59a004]
add esp, 4
jmp 0x4793dd
cmp dword [ebx + 0x2f4], 0
mov dword [ebx + 0x108], eax
je 0x4793dd
push eax
call dword [0x59a00c]
add esp, 4
mov dword [ebx + 0x10c], eax
test eax, eax
je 0x479cfc
push esi
call fcn.0047a1e0
add esp, 4
test eax, eax
jne 0x479e09
jmp 0x4793dd
mov eax, dword [esi + 0x294]
test dword [eax + 0x3c], 0x40000
je 0x4793dd
push dword [edi + 0x68]
push esi
call fcn.00482ac0
add esp, 8
test eax, eax
jne 0x479e09
jmp 0x4793dd
cmp al, 0xd
jne 0x479a9f
lea eax, [edx + 1]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x68]
cmp byte [eax], 0xa
jne 0x479aab
inc eax
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x78]
cmp eax, 0x64
jl 0x479ae7
cmp eax, 0xc7
jg 0x479ae7
cmp dword [edi + 0x84], 0
mov esi, dword [ebp + 0xc]
mov dword [edi + 0x48], 1
mov dword [edi + 0x50], 0
je 0x479b46
or dword [edi + 0xe0], 2
mov dword [edi + 0x84], 0
jmp 0x479b46
mov eax, dword [edi]
and eax, dword [edi + 4]
mov esi, dword [ebp + 0xc]
mov dword [edi + 0x48], 0
cmp eax, 0xffffffff
jne 0x479b46
cmp dword [edi + 0x100], 0
jne 0x479b46
cmp dword [esi + 0x220], 0
jne 0x479b46
cmp dword [esi + 0x118], 0xb
jl 0x479b46
mov eax, dword [esi + 0x294]
test dword [eax + 0x3c], 0x40000
jne 0x479b46
cmp dword [ebx + 0x250], 5
je 0x479b46
push str.no_chunk__no_close__no_size._Assume_close_to_signal_end_n
push ebx
call fcn.00472f30
add esp, 8
mov dword [esi + 0x220], 1
push esi
call fcn.0047a3a0
add esp, 4
test eax, eax
jne 0x479dab
cmp dword [ebx + 0x300], eax
mov ecx, 2
mov edx, dword [edi + 0x68]
mov eax, 3
cmovne ecx, eax
mov eax, dword [ebx + 0x598]
sub edx, eax
push edx
push eax
push ecx
push esi
mov dword [ebp + 8], edx
call fcn.00472c50
add esp, 0x10
test eax, eax
jne 0x479e09
mov eax, dword [ebp + 8]
add dword [ebx + 0x48], eax
add dword [ebx + 0x8f48], eax
mov eax, dword [edi + 0x78]
mov ecx, dword [ebx + 0x48]
cmp eax, 0x64
jl 0x479baa
cmp eax, 0xc7
jle 0x479bac
xor ecx, ecx
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x4c], ecx
cmp dword [eax], 0
jne 0x479c61
push esi
call fcn.00478b60
add esp, 4
test eax, eax
jne 0x479e09
cmp dword [edi + 0x78], 0x12c
jl 0x479c40
cmp dword [esi + 0x258], eax
jne 0x479c40
cmp dword [esi + 0x220], eax
jne 0x479c40
cmp dword [esi + 0x25c], eax
jne 0x479c49
mov eax, dword [ebx + 0x250]
add eax, 0xfffffffe
cmp eax, 2
ja 0x479c40
cmp dword [edi + 0xe4], 0
jne 0x479c40
push str.HTTP_error_before_end_of_send__stop_sending_n
push ebx
call fcn.00472f30
mov dword [esi + 0x220], 1
add esp, 8
and dword [edi + 0xe0], 0xfffffffd
mov dword [edi + 0xe4], 1
cmp dword [ebx + 0x8ed4], 0
je 0x479c40
mov dword [edi + 0x84], 3
cmp dword [esi + 0x25c], 0
je 0x479c5e
push str.Keep_sending_data_to_get_tossed_away__n
push ebx
call fcn.00472f30
add esp, 8
or dword [edi + 0xe0], 2
mov eax, dword [ebp + 0x14]
cmp dword [edi + 0x48], 0
je 0x479d08
mov eax, dword [ebx + 0x598]
mov dword [edi + 0x54], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x58], 0
cmp dword [eax], 0
jne 0x479e07
mov eax, dword [edi + 0x5c]
cmp byte [eax], 0
jne 0x4790b0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x48], 0
cmp dword [eax], 0
je 0x479cbb
mov dword [edi + 0x4c], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x4c], 2
pop edi
mov dword [eax], esi
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call fcn.0047a650
add esp, 4
mov eax, 0x16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_file_size_exceeded
push ebx
call fcn.00472e90
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x30c], 0
je 0x479d19
mov dword [eax], 1
jmp 0x479d3d
cmp dword [edi + 0x100], 0
je 0x479d3d
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov dword [edi + 0x10], 0xffffffff
mov dword [edi + 0x14], 0xffffffff
mov ecx, dword [edi]
mov eax, dword [edi + 4]
cmp ecx, 0xffffffff
jne 0x479d4b
cmp eax, ecx
je 0x479d61
push eax
push ecx
push ebx
call fcn.0047c490
mov eax, dword [edi]
add esp, 0xc
mov dword [edi + 0x10], eax
mov eax, dword [edi + 4]
mov dword [edi + 0x14], eax
cmp dword [edi + 0x10], 0
jne 0x479d78
cmp dword [edi + 0x14], 0
jne 0x479d78
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x479d80
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x479d87
and dword [edi + 0xe0], 0xfffffffe
cmp dword [ebx + 0x31c], 0
je 0x479e07
push esi
push dword [ebp + 8]
push dword [edi + 0x60]
push 1
push ebx
call fcn.00472db0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 0x78]
push str.The_requested_URL_returned_error:__d
push ebx
call fcn.00472e90
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [eax]
push edi
push ebx
call fcn.0047a020
add esp, 0xc
test eax, eax
jne 0x479e09
cmp dword [edi + 0x50], eax
jne 0x479e07
cmp dword [edi + 0x58], 5
jbe 0x479e07
push dword [ebx + 0x598]
push dword [ebp + 0xc]
push ebx
call fcn.00479e80
add esp, 0xc
test eax, eax
jne 0x479e07
mov dword [edi + 0x4c], 2
mov dword [edi + 0x48], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret