Function at 0x5cf0c0
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x3ac]
push ebx
push esi
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov eax, 1
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0x74]
call fcn.0040e9e0
call fcn.00404380
push eax
test eax, eax
jne 0x5d055c
mov byte [ebp - 0x10], 0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x58], 0x1f4
mov eax, dword [ebp - 0xc]
add eax, 0x5c
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x6c], 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.005d3b70
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x94]
call fcn.005d4980
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 0x30]
call fcn.00409190
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x94]
call fcn.005d4980
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 0x34]
call fcn.00409190
cmp dword [ebp - 0x30], 0
jne 0x5cf22c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
lea eax, [ebp - 0x30]
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x18]
lea eax, [ebp - 0x34]
call fcn.00409190
nop
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x94]
call fcn.00416250
mov eax, dword [ebp - 0x94]
mov edx, 0x6bc25c
call fcn.00409d40
test eax, eax
jne 0x5cf2b3
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x48], 0
setne byte [ebp - 0x54]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x208
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x48]
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x20c
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x4c]
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x21c
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x50]
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x220
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x54]
call fcn.00409190
jmp 0x5cf2ff
mov byte [ebp - 0x54], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x208
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x20c
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x21c
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
add eax, 0x220
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x48], 0
je 0x5cf314
cmp byte [ebp - 0x54], 0
jne 0x5cf314
mov byte [ebp - 0x60], 1
jmp 0x5cf318
mov byte [ebp - 0x60], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
test edx, edx
jg 0x5cf333
jl 0x5cf339
test eax, eax
jbe 0x5cf339
mov byte [ebp - 0x14], 1
jmp 0x5cf33d
mov byte [ebp - 0x14], 0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x44], 0
je 0x5cf366
cmp byte [ebp - 0x14], 0
je 0x5cf366
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov edx, 0x6bc270
call fcn.00409d40
test eax, eax
jne 0x5cf366
mov byte [ebp - 0x1c], 1
jmp 0x5cf36a
mov byte [ebp - 0x1c], 0
cmp byte [ebp - 0x1c], 0
je 0x5cf38c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
mov ecx, str.Expect:_100_continue
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
nop
cmp byte [ebp - 0x14], 0
je 0x5cf48c
lea eax, [ebp - 0x94]
call fcn.00403ec0
push 0
lea eax, [ebp - 0x98]
call fcn.00403ec0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
mov ecx, 0xff
lea edx, [ebp - 0x1a0]
mov eax, 0xffffffff
call fcn.004054c0
lea ecx, [ebp - 0x98]
xor dx, dx
lea eax, [ebp - 0x1a0]
call fcn.00409a00
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x98]
call fcn.0040a7d0
mov ecx, dword [ebp - 0x98]
mov edx, str.Content_Length:
lea eax, [ebp - 0x94]
call fcn.00409290
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x34], 0
je 0x5cf48c
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x34]
mov edx, str.Content_Type:
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
mov esi, esi
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x60], 0
je 0x5cf4d4
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x60]
mov edx, str.User_Agent:
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x70], 0
jg 0x5cf4ea
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x74], 0
jle 0x5cf6d4
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + 0x74]
cmp eax, dword [edx + 0x70]
jl 0x5cf61a
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov eax, str.Range:_bytes
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x1a4]
call fcn.00403ec0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0xac], eax
push 0xff
lea ecx, [ebp - 0x2a4]
mov edx, 0xffffffff
mov eax, dword [ebp - 0xac]
call fcn.00405350
lea ecx, [ebp - 0x1a4]
xor dx, dx
lea eax, [ebp - 0x2a4]
call fcn.00409a00
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x1a4]
call fcn.0040a7d0
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0xa4], eax
mov eax, 0x6bc318
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x2a8]
call fcn.00403ec0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0xac], eax
push 0xff
lea ecx, [ebp - 0x2a4]
mov edx, 0xffffffff
mov eax, dword [ebp - 0xac]
call fcn.00405350
lea ecx, [ebp - 0x2a8]
xor dx, dx
lea eax, [ebp - 0x2a4]
call fcn.00409a00
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x2a8]
call fcn.0040a7d0
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x9c], eax
lea edx, [ebp - 0xa8]
mov ecx, 3
lea eax, [ebp - 0x98]
call fcn.00409500
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
jmp 0x5cf6d1
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov eax, str.Range:_bytes
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x2a8]
call fcn.00403ec0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x1a8], eax
push 0xff
lea ecx, [ebp - 0x3a8]
mov edx, 0xffffffff
mov eax, dword [ebp - 0x1a8]
call fcn.00405350
lea ecx, [ebp - 0x2a8]
xor dx, dx
lea eax, [ebp - 0x3a8]
call fcn.00409a00
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x2a8]
call fcn.0040a7d0
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0xa0], eax
mov eax, 0x6bc318
mov dword [ebp - 0x9c], eax
lea edx, [ebp - 0xa4]
mov ecx, 2
lea eax, [ebp - 0x98]
call fcn.00409500
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
lea esi, [esi]
lea eax, [ebp - 0x4c]
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x64]
mov edx, dword [edx]
call dword [edx + pe_nt_image_headers32]
lea ebx, [eax - 1]
test ebx, ebx
jl 0x5cf750
mov dword [ebp - 0x58], 0xffffffff
add dword [ebp - 0x58], 1
cmp dword [ebp - 0x4c], 0
je 0x5cf71c
push 0
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x4c]
mov ecx, 0x6bc328
call fcn.00409290
push 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x98]
mov esi, dword [ebp - 0xc]
mov esi, dword [esi + 0x64]
mov esi, dword [esi]
call dword [esi + 0x78]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x4c]
call fcn.00409290
mov eax, dword [ebp - 0x58]
cmp eax, ebx
jl 0x5cf700
cmp dword [ebp - 0x4c], 0
je 0x5cf794
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov ecx, dword [ebp - 0x4c]
mov edx, str.Cookie:
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
mov esi, esi
lea eax, [ebp - 0x5c]
xor edx, edx
call fcn.00409190
cmp byte [ebp - 0x60], 0
je 0x5cf7b4
lea eax, [ebp - 0x5c]
mov edx, str.Proxy_
call fcn.00409190
lea esi, [esi]
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x5cf894
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov edx, dword [ebp - 0x5c]
mov ecx, str.Connection:_keep_alive
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
lea eax, [ebp - 0x94]
call fcn.00403ec0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x2ac], eax
push 0xff
lea ecx, [ebp - 0x2a4]
mov edx, 0xffffffff
mov eax, dword [ebp - 0x2ac]
call fcn.00405350
lea ecx, [ebp - 0x94]
xor dx, dx
lea eax, [ebp - 0x2a4]
call fcn.00409a00
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x94]
call fcn.0040a7d0
mov ecx, dword [ebp - 0x94]
mov edx, str.Keep_Alive:
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
jmp 0x5cf8d0
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
mov edx, dword [ebp - 0x5c]
mov ecx, str.Connection:_close
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
cmp dword [ebp - 0x30], 0
je 0x5cf96c
lea eax, [ebp - 0x98]
call fcn.00403ec0
push 0
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
push 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2b4], eax
mov eax, 0x6bc3c4
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2ac], eax
lea edx, [ebp - 0x2b4]
mov ecx, 2
lea eax, [ebp - 0x3ac]
call fcn.00409500
mov eax, dword [ebp - 0x3ac]
lea edx, [ebp - 0x94]
call fcn.005d4b40
mov ecx, dword [ebp - 0x94]
mov edx, str.Authorization:_Basic
lea eax, [ebp - 0x98]
call fcn.00409290
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
mov esi, esi
cmp byte [ebp - 0x60], 0
je 0x5cfa1c
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x50], 0
je 0x5cfa1c
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
push 0
lea eax, [ebp - 0x94]
call fcn.00403ec0
push 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x2b4], eax
mov eax, 0x6bc3c4
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x2ac], eax
lea edx, [ebp - 0x2b4]
mov ecx, 2
lea eax, [ebp - 0x94]
call fcn.00409500
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0x98]
call fcn.005d4b40
mov ecx, dword [ebp - 0x98]
mov edx, str.Proxy_Authorization:_Basic
lea eax, [ebp - 0x3ac]
call fcn.00409290
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
lea esi, [esi]
mov eax, dword [ebp - 0x38]
call fcn.005d4cc0
test al, al
je 0x5cfa5e
push 0
mov eax, 0x6bc420
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2b0], eax
mov eax, 0x6bc430
mov dword [ebp - 0x2ac], eax
lea edx, [ebp - 0x2b4]
lea eax, [ebp - 0x4c]
mov ecx, 2
call fcn.00409500
jmp 0x5cfa69
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x4c]
call fcn.00409190
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x78], 0
je 0x5cfb49
mov eax, dword [ebp - 0x3c]
mov edx, 0x6bc1a0
call fcn.00409d40
test eax, eax
je 0x5cfaa9
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x3ac]
call fcn.00416250
mov eax, dword [ebp - 0x3ac]
mov edx, str.HTTP
call fcn.00409d40
test eax, eax
je 0x5cfae0
mov eax, dword [ebp - 0x3c]
mov edx, 0x6bc454
call fcn.00409d40
test eax, eax
je 0x5cfb49
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x3ac]
call fcn.00416250
mov eax, dword [ebp - 0x3ac]
mov edx, 0x6bc25c
call fcn.00409d40
test eax, eax
jne 0x5cfb49
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
push 0
mov eax, str.Host:
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1b0], eax
mov eax, 0x6bc3c4
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1a8], eax
lea edx, [ebp - 0x1b4]
mov ecx, 3
lea eax, [ebp - 0x3ac]
call fcn.00409500
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
jmp 0x5cfb85
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
push 0
mov ecx, dword [ebp - 0x4c]
mov edx, str.Host:
lea eax, [ebp - 0x3ac]
call fcn.00409290
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
cmp byte [ebp - 0x60], 0
je 0x5cfbdc
push 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1bc], eax
mov eax, 0x6bc478
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1b4], eax
mov eax, 0x6bc3c4
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1a8], eax
lea edx, [ebp - 0x1bc]
lea eax, [ebp - 0x48]
mov ecx, 5
call fcn.00409500
mov esi, esi
mov eax, dword [ebp - 0x48]
mov edx, 0x6bc488
call fcn.00409d40
test eax, eax
jne 0x5cfbfc
lea eax, [ebp - 0x48]
mov edx, 0x6bc498
call fcn.00409190
mov esi, esi
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov edx, 0x6bc22c
call fcn.00409d40
test eax, eax
jne 0x5cfc82
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
push 0
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x2a8]
call fcn.00416250
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b4], eax
mov eax, 0x6bc21c
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2ac], eax
lea edx, [ebp - 0x2b4]
mov ecx, 2
lea eax, [ebp - 0x3ac]
call fcn.00409500
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
jmp 0x5cfd06
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
push 0
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x2a8]
call fcn.00416250
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2bc], eax
mov eax, 0x6bc21c
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2b4], eax
mov eax, str._HTTP_
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x2ac], eax
lea edx, [ebp - 0x2bc]
mov ecx, 4
lea eax, [ebp - 0x3ac]
call fcn.00409500
mov ecx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0xd4]
cmp byte [ebp - 0x60], 0
je 0x5cfd30
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0xc]
add eax, 4
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0xc]
add eax, 8
call fcn.00409190
jmp 0x5cfd4c
mov eax, dword [ebp - 0xc]
add eax, 4
mov edx, dword [ebp - 0x38]
call fcn.00409190
mov eax, dword [ebp - 0xc]
add eax, 8
mov edx, dword [ebp - 0x3c]
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x2c]
mov edx, dword [edx]
call dword [edx + pe_nt_image_headers32]
lea edx, [eax - 1]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
lea ecx, [ebp - 0x3ac]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x2c]
mov ebx, dword [ebx]
call dword [ebx + 0x78]
cmp dword [ebp - 0x3ac], 0
je 0x5cfd9c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx]
call dword [ecx + 0xa4]
lea esi, [esi]
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x3ac]
call fcn.00416250
mov eax, dword [ebp - 0x3ac]
mov edx, 0x6bc25c
call fcn.00409d40
test eax, eax
sete dl
mov eax, dword [ebp - 0xc]
call fcn.005cf030
test al, al
jne 0x5cfdec
mov eax, dword [ebp - 0xc]
add eax, 0x24
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
add eax, 0x28
xor edx, edx
call fcn.00409190
jmp 0x5d055c
push 0
push 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x6c]
lea eax, [ebp - 0x20]
xor edx, edx
call fcn.00409190
cmp byte [ebp - 0x1c], 0
je 0x5cff49
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x3ac]
call fcn.005cee80
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
jne 0x5d055c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
lea ecx, [ebp - 0x4c]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1c]
mov ebx, dword [ebx]
call dword [ebx + 0xbc]
cmp dword [ebp - 0x4c], 0
jne 0x5cfe83
nop
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
je 0x5cfe50
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
call fcn.005ced70
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x20]
call fcn.00409190
lea esi, [esi]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
lea ecx, [ebp - 0x4c]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1c]
mov ebx, dword [ebx]
call dword [ebx + 0xbc]
cmp dword [ebp - 0x4c], 0
je 0x5cfed3
nop
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
je 0x5cfea0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x58], 0x64
jl 0x5d0084
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x58], 0xc8
jge 0x5d0084
lea eax, [ebp - 0x20]
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x6c], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
mov ecx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1c]
mov ebx, dword [ebx]
call dword [ebx + 0x88]
lea esi, [esi]
jmp 0x5d0084
cmp byte [ebp - 0x14], 0
je 0x5d005c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
test edx, edx
jg 0x5cff75
jl 0x5cffe9
cmp eax, 0x10000
jb 0x5cffe9
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x3ac]
call fcn.005cee80
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x6c], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
mov ecx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1c]
mov ebx, dword [ebx]
call dword [ebx + 0x88]
jmp 0x5d0084
push 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x30]
mov edx, dword [edx]
call dword [edx + 0x70]
mov edx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
lea ecx, [ebp - 0x3ac]
call fcn.005d4480
mov ebx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x98]
call fcn.005cee80
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x4c]
mov ecx, ebx
call fcn.00409290
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x5d0040
mov edx, dword [edx - 4]
mov dword [eax + 0x6c], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx]
call dword [ecx + 0x90]
jmp 0x5d0084
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x3ac]
call fcn.005cee80
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
jne 0x5d055c
nop
mov eax, dword [ebp - 0xc]
call fcn.005ced20
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x20], 0
cmp dword [ebp - 0x20], 0
jne 0x5d017f
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
lea ecx, [ebp - 0x4c]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1c]
mov ebx, dword [ebx]
call dword [ebx + 0xbc]
cmp dword [ebp - 0x4c], 0
jne 0x5d00eb
nop
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
je 0x5d00b8
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x2a8]
call fcn.00416250
mov edx, dword [ebp - 0x2a8]
mov ecx, 1
mov eax, str.HTTP_
call fcn.0040a050
cmp eax, 1
jne 0x5d0137
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx]
call dword [ecx + 0xa4]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
call fcn.005ced70
jmp 0x5d0161
push 0
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x4c]
mov ecx, 0x6bc23c
call fcn.00409290
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x4c]
call fcn.005d44e0
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x58], 0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
jne 0x5d0196
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x58], 0x64
je 0x5d00b8
jmp 0x5d0196
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx]
call dword [ecx + 0xa4]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov edx, 0x6bc270
call fcn.00409d40
test eax, eax
setne byte [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x2c]
mov edx, dword [edx]
call dword [edx + pe_nt_image_headers32]
test eax, eax
jle 0x5d0424
mov edx, 1
mov eax, 0x6399f0
call fcn.00442f70
mov dword [ebp - 0x64], eax
mov eax, 1
lea edx, [ebp - 0x1bc]
lea ecx, [ebp - 0x2b4]
call fcn.0040e9e0
call fcn.00404380
push eax
test eax, eax
jne 0x5d040b
mov esi, esi
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
lea ecx, [ebp - 0x4c]
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1c]
mov ebx, dword [ebx]
call dword [ebx + 0xbc]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
call dword [ecx + 0xa4]
cmp dword [ebp - 0x4c], 0
je 0x5d0243
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
je 0x5d0200
mov dword [ebp - 0x68], 0
jmp 0x5d03f4
lea ecx, [ebp - 0x4c]
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x64]
call fcn.005d4550
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx]
call dword [ecx + 0xa4]
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
call fcn.00416250
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.CONTENT_LENGTH:
call fcn.0040a050
cmp eax, 1
jne 0x5d02e4
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x98]
mov edx, 0x6bc3c4
call fcn.005d3b00
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x3ac]
call fcn.004163b0
mov eax, dword [ebp - 0x3ac]
mov edx, 0xffffffff
call fcn.00416c30
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x5d02e4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x20], 0
jne 0x5d02e4
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x20], 1
nop
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.CONTENT_TYPE:
call fcn.0040a050
cmp eax, 1
jne 0x5d0330
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x98]
mov edx, 0x6bc3c4
call fcn.005d3b00
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x3ac]
call fcn.004163b0
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0xc]
add eax, 0x34
call fcn.00409190
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.TRANSFER_ENCODING:
call fcn.0040a050
cmp eax, 1
jne 0x5d0388
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x3ac]
mov edx, 0x6bc3c4
call fcn.005d3b00
mov eax, dword [ebp - 0x3ac]
lea edx, [ebp - 0x4c]
call fcn.004163b0
mov edx, dword [ebp - 0x4c]
mov ecx, 1
mov eax, str.CHUNKED
call fcn.0040a050
test eax, eax
jle 0x5d0388
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x20], 2
lea esi, [esi]
cmp byte [ebp - 0x60], 0
je 0x5d03c2
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.PROXY_CONNECTION:
call fcn.0040a050
cmp eax, 1
jne 0x5d03f4
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.CLOSE
call fcn.0040a050
test eax, eax
jle 0x5d03f4
mov byte [ebp - 0x24], 1
nop
jmp 0x5d03f4
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.CONNECTION:
call fcn.0040a050
cmp eax, 1
jne 0x5d03f4
mov edx, dword [ebp - 0x50]
mov ecx, 1
mov eax, str.CLOSE
call fcn.0040a050
test eax, eax
jle 0x5d03f4
mov byte [ebp - 0x24], 1
nop
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx]
call dword [edx + pe_nt_image_headers32]
cmp eax, dword [ebp - 0x68]
jg 0x5d0250
call fcn.0040ec50
mov eax, dword [ebp - 0x64]
call fcn.0040dd50
pop eax
test eax, eax
je 0x5d0422
call fcn.0040ed80
mov esi, esi
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1b8], 0
sete byte [ebp - 0x10]
cmp byte [ebp - 0x10], 0
jne 0x5d046c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x1c]
mov edx, dword [edx]
call dword [edx + 0x74]
mov eax, dword [ebp - 0xc]
add eax, 0x24
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
add eax, 0x28
xor edx, edx
call fcn.00409190
jmp 0x5d055c
mov eax, dword [ebp - 4]
mov edx, str.HEAD
call fcn.00409d40
test eax, eax
setne byte [ebp - 0x18]
cmp byte [ebp - 0x18], 0
je 0x5d0497
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x58], 0xcc
je 0x5d0497
mov byte [ebp - 0x18], 1
jmp 0x5d049b
mov byte [ebp - 0x18], 0
cmp byte [ebp - 0x18], 0
je 0x5d04b3
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x58], 0x130
je 0x5d04b3
mov byte [ebp - 0x18], 1
jmp 0x5d04b7
mov byte [ebp - 0x18], 0
cmp byte [ebp - 0x18], 0
je 0x5d0508
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x20]
test al, al
je 0x5d04d4
sub al, 1
je 0x5d04e4
sub al, 1
je 0x5d04f8
jmp 0x5d0508
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x64]
mov byte [ebp - 0x10], al
jmp 0x5d0508
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
call dword [ecx + 0x68]
mov byte [ebp - 0x10], al
jmp 0x5d0508
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
call dword [edx + 0x6c]
mov byte [ebp - 0x10], al
mov esi, esi
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
xor cx, cx
xor edx, edx
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x30]
mov ebx, dword [ebx]
call dword [ebx + 0x88]
cmp byte [ebp - 0x24], 0
je 0x5d0554
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x1c]
mov edx, dword [edx]
call dword [edx + 0x74]
mov eax, dword [ebp - 0xc]
add eax, 0x24
xor edx, edx
call fcn.00409190
mov eax, dword [ebp - 0xc]
add eax, 0x28
xor edx, edx
call fcn.00409190
mov esi, esi
mov eax, dword [ebp - 0xc]
call fcn.005d08c0
call fcn.0040ec50
lea eax, [ebp - 0x3ac]
call fcn.00403ec0
lea eax, [ebp - 0x2a8]
call fcn.00403ec0
lea eax, [ebp - 0x1a4]
call fcn.00403ec0
lea eax, [ebp - 0x98]
call fcn.00403ec0
lea eax, [ebp - 0x94]
call fcn.00403ec0
lea eax, [ebp - 0x20]
call fcn.00403ec0
lea eax, [ebp - 0x2c]
call fcn.00403ec0
lea eax, [ebp - 0x30]
call fcn.00403ec0
lea eax, [ebp - 0x34]
call fcn.00403ec0
lea eax, [ebp - 0x38]
call fcn.00403ec0
lea eax, [ebp - 0x3c]
call fcn.00403ec0
lea eax, [ebp - 0x40]
call fcn.00403ec0
lea eax, [ebp - 0x44]
call fcn.00403ec0
lea eax, [ebp - 0x48]
call fcn.00403ec0
lea eax, [ebp - 0x4c]
call fcn.00403ec0
lea eax, [ebp - 0x50]
call fcn.00403ec0
lea eax, [ebp - 0x5c]
call fcn.00403ec0
pop eax
test eax, eax
je 0x5d0602
call fcn.0040ed80
mov al, byte [ebp - 0x10]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret