Function at 0x5c3d90
Capabilities:
Check http status code

Disassembly:
sub esp, 0x24
mov eax, dword [esp + 0x2c]
push ebx
push ebp
mov ebp, dword [esp + 0x30]
mov ebx, dword [ebp]
mov ecx, dword [ebp + eax*4 + 0x198]
push esi
mov esi, dword [ebp + 0x56c]
push edi
xor edi, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
cmp esi, edi
je 0x5c478c
cmp dword [esi + 0x401c], 2
je 0x5c478c
mov dword [ebp + 0x2d8], edi
lea esp, [esp]
cmp dword [esi + 0x401c], edi
jne 0x5c403c
mov edx, dword [ebx + 0x124]
push edx
call dword [0x6a2b10]
add esp, 4
mov dword [ebx + 0x124], edi
call fcn.005c9490
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, edi
je 0x5c45e6
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
push str._s:_hu
call fcn.005cee50
mov ebp, eax
add esp, 0xc
cmp ebp, edi
je 0x5c45dd
mov edx, dword [esp + 0x38]
push 1
push ebp
push str.CONNECT
push edx
call fcn.005c9110
push ebp
mov edi, eax
call dword [0x6a2b10]
add esp, 0x14
test edi, edi
jne 0x5c400f
mov edi, dword [esp + 0x38]
mov eax, 0x5f708c
xor ebx, ebx
cmp dword [edi + 0xf0], 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x62a358
je 0x5c3e88
mov dword [esp + 0x24], 0x62a354
mov ebp, dword [esp + 0x40]
mov eax, dword [edi + 0x298]
cmp ebp, dword [edi + 0xa0]
je 0x5c3eac
push 0x3a
push ebp
call dword [sym.imp.msvcrt.dll_strchr]
add esp, 8
neg eax
sbb eax, eax
neg eax
test eax, eax
je 0x5c3ebc
mov ecx, 0x629a74
mov eax, 0x629a58
jmp 0x5c3ec3
mov ecx, 0x5f708c
mov eax, ecx
mov edx, dword [esp + 0x44]
push edx
push ecx
push ebp
push eax
push str._s_s_s:_hu
call fcn.005cee50
mov ebp, eax
add esp, 0x14
test ebp, ebp
je 0x5c45f3
push 0x62a340
push edi
call fcn.005c8cc0
add esp, 8
test eax, eax
jne 0x5c3f0c
push ebp
push str.Host:__s_r_n
call fcn.005cee50
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5c460d
push str.Proxy_Connection:
push edi
call fcn.005c8cc0
add esp, 8
test eax, eax
jne 0x5c3f26
mov dword [esp + 0x1c], str.Proxy_Connection:_Keep_Alive_r_n
push str.User_Agent:
push edi
call fcn.005c8cc0
add esp, 8
test eax, eax
jne 0x5c3f4f
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x630], 0
je 0x5c3f4f
mov ecx, dword [edi + 0x328]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x324]
test ecx, ecx
jne 0x5c3f5e
mov ecx, 0x5f708c
mov eax, ebx
test ebx, ebx
jne 0x5c3f69
mov eax, 0x5f708c
mov edx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push edx
push ecx
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x34]
push eax
push ebp
push str.CONNECT__s_HTTP__s_r_n_s_s_s_s
push ecx
call fcn.005c9f30
add esp, 0x20
mov edi, eax
test ebx, ebx
je 0x5c3f9d
push ebx
call dword [0x6a2b10]
add esp, 4
push ebp
call dword [0x6a2b10]
add esp, 4
test edi, edi
jne 0x5c3ff5
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x38]
push ebx
push 1
push ebp
call fcn.005ca030
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x5c3ff5
push 0x613fcc
push ebx
call fcn.005c9f30
mov edi, eax
add esp, 8
test edi, edi
jne 0x5c3ff5
mov edx, dword [esp + 0x3c]
push edx
push eax
mov eax, dword [esp + 0x20]
add eax, 0x10b00
push eax
push ebp
push ebx
call fcn.005c94d0
add esp, 0x14
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x5c4013
mov ecx, dword [esp + 0x18]
push str.Failed_sending_CONNECT_to_proxy
push ecx
call fcn.005bfec0
add esp, 8
jmp 0x5c4013
mov ebx, dword [esp + 0x10]
push ebx
call fcn.005c94a0
add esp, 4
test edi, edi
jne 0x5c462e
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
mov dword [esi + 0x401c], 1
mov dword [esi + 0x4000], edi
push 1
push edi
push ebx
call fcn.005c2830
add esp, 0xc
test eax, eax
jle 0x5c4638
mov edx, dword [esp + 0x3c]
push edx
push ebp
call fcn.005c33a0
add esp, 8
test eax, eax
je 0x5c478c
mov dword [esp + 0x24], edi
cmp dword [esi + 0x4004], edi
je 0x5c413e
jmp 0x5c4080
mov eax, dword [esi + 0x400c]
lea ecx, [esi + 0x4000]
cmp eax, ecx
jae 0x5c4653
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
lea ecx, [esp + 0x28]
push ecx
push 1
push eax
push edx
push ebp
call fcn.005bfb00
mov edi, eax
add esp, 0x14
cmp edi, 0x51
je 0x5c478c
push ebp
call fcn.005c78a0
add esp, 4
test eax, eax
jne 0x5c466e
test edi, edi
jne 0x5c4132
cmp dword [esp + 0x28], edi
jle 0x5c453b
mov edx, 1
cmp dword [esi + 0x4004], edx
jle 0x5c41d2
mov eax, dword [esi + 0x4010]
mov ecx, dword [esi + 0x4014]
mov edi, eax
or edi, ecx
mov dword [esi + 0x400c], esi
je 0x5c41a1
sub eax, edx
sbb ecx, 0
mov dword [esi + 0x4010], eax
mov dword [esi + 0x4014], ecx
test ecx, ecx
jl 0x5c4128
jg 0x5c4525
test eax, eax
ja 0x5c4525
mov dword [esi + 0x401c], 2
mov dword [esi + 0x4004], 0
xor edi, edi
push ebp
call fcn.005c78a0
add esp, 4
test eax, eax
jne 0x5c466e
cmp dword [esp + 0x24], edi
jne 0x5c4661
mov eax, 0x51eb851f
imul dword [ebx + 0x10aec]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
je 0x5c4577
push ebp
call fcn.005c9d60
add esp, 4
cmp eax, edi
jne 0x5c478e
cmp dword [ebp + 0x274], edi
je 0x5c4577
mov dword [esp + 0x14], 1
jmp 0x5c457d
lea eax, [esp + 0x20]
push eax
push 1
push esi
push ebp
mov dword [esp + 0x30], 0
call fcn.005d4000
add esp, 0x10
cmp eax, 0xffffffff
jne 0x5c4525
mov dword [esi + 0x4004], 0
jmp 0x5c451b
add dword [esi + 0x4000], edx
mov eax, dword [esi + 0x400c]
cmp byte [eax], 0xa
mov ecx, dword [esi + 0x4000]
je 0x5c41f5
inc eax
mov dword [esi + 0x400c], eax
jmp 0x5c4525
cmp dword [ebx + 0x548], 0
je 0x5c4212
push ebp
push ecx
mov ecx, dword [esi + 0x4008]
push ecx
push 1
push ebx
call fcn.005bfc90
add esp, 0x14
cmp dword [ebx + 0x6dc], 0
jne 0x5c424e
cmp dword [ebx + 0x530], 0
mov eax, 2
je 0x5c422e
mov eax, 3
mov edx, dword [esi + 0x4000]
mov ecx, dword [esi + 0x4008]
push edx
push ecx
push eax
push ebp
call fcn.005c03f0
add esp, 0x10
test eax, eax
jne 0x5c478e
mov edx, dword [esi + 0x4000]
add dword [ebx + 0x10afc], edx
mov eax, dword [esi + 0x4000]
add dword [ebx + 0xa0], eax
mov eax, dword [esi + 0x4008]
mov cl, byte [eax]
cmp cl, 0xd
je 0x5c4485
cmp cl, 0xa
je 0x5c4485
mov ecx, dword [esi + 0x4000]
mov byte [eax + ecx], 0
mov edx, dword [esi + 0x4008]
push 0x11
push edx
push str.WWW_Authenticate:
call fcn.005d1c40
add esp, 0xc
test eax, eax
je 0x5c42b1
mov eax, dword [ebx + 0xe8]
cmp eax, 0x191
je 0x5c42d8
mov eax, dword [esi + 0x4008]
push 0x13
push eax
push str.Proxy_authenticate:
call fcn.005d1c40
add esp, 0xc
test eax, eax
je 0x5c4327
mov eax, dword [ebx + 0xe8]
cmp eax, 0x197
jne 0x5c4327
mov edx, dword [esi + 0x4008]
xor ecx, ecx
cmp eax, 0x197
sete cl
push edx
mov ebp, ecx
call fcn.005c8d30
mov edi, eax
add esp, 4
test edi, edi
je 0x5c45e6
mov eax, dword [esp + 0x38]
push edi
push ebp
push eax
call fcn.005c9250
push edi
mov ebp, eax
call dword [0x6a2b10]
add esp, 0x10
test ebp, ebp
je 0x5c446a
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x24
ret
mov ecx, dword [esi + 0x4008]
push 0xf
push ecx
push str.Content_Length:
call fcn.005d1c40
add esp, 0xc
test eax, eax
je 0x5c4381
mov eax, 0x51eb851f
imul dword [ebx + 0xe8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x5c446a
mov edx, dword [esi + 0x4008]
lea ecx, [esi + 0x4010]
push ecx
push 0xa
add edx, 0xf
push 0
push edx
call fcn.005d3cc0
add esp, 0x10
jmp 0x5c446a
mov eax, dword [esi + 0x4008]
push str.close
push str.Connection:
push eax
call fcn.005c9780
add esp, 0xc
test eax, eax
je 0x5c43ab
mov dword [esp + 0x14], 1
jmp 0x5c446a
mov ecx, dword [esi + 0x4008]
push 0x12
push ecx
push str.Transfer_Encoding:
call fcn.005d1c40
add esp, 0xc
test eax, eax
je 0x5c4415
mov eax, 0x51eb851f
imul dword [ebx + 0xe8]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x5c446a
mov ecx, dword [esi + 0x4008]
push str.chunked
push str.Transfer_Encoding:
push ecx
call fcn.005c9780
add esp, 0xc
test eax, eax
je 0x5c446a
push ebp
mov dword [esi + 0x4018], 1
call fcn.005d3ff0
add esp, 4
jmp 0x5c446a
mov edx, dword [esi + 0x4008]
push str.close
push str.Proxy_Connection:
push edx
call fcn.005c9780
add esp, 0xc
test eax, eax
je 0x5c443c
mov dword [esp + 0x14], 1
jmp 0x5c446a
mov ecx, dword [esi + 0x4008]
lea edi, [ebx + 0xe8]
push edi
lea eax, [esp + 0x34]
push eax
push str.HTTP_1._d__d
push ecx
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0x10
cmp eax, 2
jne 0x5c446a
mov edx, dword [edi]
mov dword [ebx + 0x10aec], edx
mov dword [esi + 0x4000], 0
mov dword [esi + 0x400c], esi
mov dword [esi + 0x4008], esi
jmp 0x5c4525
mov dword [esi + 0x400c], esi
cmp dword [ebx + 0xe8], 0x197
jne 0x5c4503
cmp dword [ebx + 0x10924], 0
jne 0x5c4503
mov eax, dword [esi + 0x4010]
or eax, dword [esi + 0x4014]
mov dword [esi + 0x4004], 2
jne 0x5c450d
cmp dword [esi + 0x4018], eax
je 0x5c4503
mov dword [ebx + 0x118], 1
mov eax, dword [esi + 0x4008]
inc eax
cmp byte [eax], 0xa
jne 0x5c44dc
mov dword [esi + 0x4008], eax
mov edx, dword [esi + 0x4008]
lea ecx, [esp + 0x28]
push ecx
push 1
inc edx
push edx
push ebp
call fcn.005d4000
add esp, 0x10
cmp eax, 0xffffffff
jne 0x5c450d
mov dword [esi + 0x401c], 2
mov dword [esi + 0x4004], 0
mov eax, dword [esi + 0x4010]
or eax, dword [esi + 0x4014]
jne 0x5c4525
mov dword [esi + 0x401c], 2
cmp dword [esi + 0x4004], 0
jne 0x5c4080
mov ebp, dword [esp + 0x38]
jmp 0x5c413c
cmp dword [ebx + 0x170], 0
je 0x5c455c
cmp dword [ebx + 0x10914], 0
je 0x5c455c
mov dword [ebp + 0x2d8], 1
jmp 0x5c4132
push str.Proxy_CONNECT_aborted
push ebx
mov dword [esp + 0x2c], 1
call fcn.005bfec0
add esp, 8
jmp 0x5c4132
cmp dword [esp + 0x14], edi
je 0x5c4589
cmp dword [ebx + 0x124], edi
jne 0x5c467b
cmp dword [ebx + 0x124], edi
je 0x5c469f
cmp dword [esi + 0x401c], 2
jne 0x5c45cc
mov eax, dword [ebp + 0x56c]
mov dword [eax + 0x401c], edi
mov dword [eax + 0x4004], 1
mov dword [eax + 0x4008], eax
mov dword [eax + 0x400c], eax
mov dword [eax + 0x4010], edi
mov dword [eax + 0x4014], edi
cmp dword [ebx + 0x124], edi
jne 0x5c3de0
jmp 0x5c469f
push ebx
call fcn.005c94a0
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x24
ret
mov edx, dword [esp + 0x10]
push edx
call fcn.005c94a0
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x24
ret
push ebp
call dword [0x6a2b10]
mov eax, dword [esp + 0x14]
push eax
call fcn.005c94a0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x24
ret
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push str.Proxy_CONNECT_aborted_due_to_timeout
push ebx
call fcn.005bfec0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1c
pop ebx
add esp, 0x24
ret
push str.CONNECT_response_too_large_
push ebx
call fcn.005bfec0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x24
ret
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebp + ecx*4 + 0x198]
push edx
push ebp
call fcn.005c3210
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [ebp + eax*4 + 0x198], 0xffffffff
mov eax, 0x51eb851f
imul dword [ebx + 0x10aec]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
je 0x5c4756
cmp dword [esp + 0x14], edi
je 0x5c46e7
cmp dword [ebx + 0x124], edi
je 0x5c46e7
mov edx, dword [ebp + 0x56c]
mov dword [ebp + 0x2d8], 1
mov dword [edx + 0x401c], 2
jmp 0x5c4726
mov eax, dword [ebx + 0x124]
push eax
call dword [0x6a2b10]
push 2
push ebp
mov dword [ebx + 0x124], edi
call fcn.005c3350
mov ecx, dword [esp + 0x48]
mov edx, dword [ebp + ecx*4 + 0x198]
push edx
push ebp
call fcn.005c3210
mov eax, dword [esp + 0x50]
add esp, 0x14
mov dword [ebp + eax*4 + 0x198], 0xffffffff
mov dword [esi + 0x401c], edi
cmp dword [ebp + 0x2d8], edi
jne 0x5c478c
mov ecx, dword [ebx + 0xe8]
push ecx
push str.Received_HTTP_code__d_from_proxy_after_CONNECT
push ebx
call fcn.005bfec0
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 0x38
pop ebx
add esp, 0x24
ret
mov dword [esi + 0x401c], 2
mov edx, dword [ebp + 0x324]
push edx
call dword [0x6a2b10]
mov dword [ebp + 0x324], edi
mov dword [ebx + 0x10918], 1
mov dword [ebx + 0x118], edi
add esp, 4
mov dword [ebp + 0x2bc], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret