Function at 0x10004fd0
Capabilities:
Check for software breakpoints
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x234
mov eax, dword [0x1013dd8c]
xor eax, esp
mov dword [esp + 0x230], eax
push ebx
mov ebx, ecx
push esi
push edi
mov dword [esp + 0x34], ebx
mov eax, dword [ebx + 0x34]
cmp byte [eax], 0
jne 0x10005040
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax + 0xc]
cmp dword [eax + 8], ecx
ja 0x1000500c
mov eax, dword [eax]
add eax, ecx
jmp 0x1000500e
xor eax, eax
mov dword [ebx + 0x40], eax
mov eax, 1
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x5c], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.10065961
mov esp, ebp
pop ebp
ret
mov edi, dword [ebx + 0xb4]
mov esi, edi
and esi, 0x7fffffff
cmp dword [ebx + 0xac], 9
jne 0x10005143
lea eax, [esi - 0x64]
cmp eax, 0x1f3
ja 0x1000508f
mov eax, 0x51eb851f
mov ecx, esi
mul esi
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
cmp dword [edx*8 + 0x10115270], ecx
jbe 0x1000508f
mov eax, dword [edx*8 + 0x10115274]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x18], eax
jmp 0x10005097
mov dword [esp + 0x18], str.Unknown
test edi, edi
jns 0x100050a2
mov ecx, 0x10141cdc
jmp 0x100050be
mov edx, dword [ebx + 0x34]
mov ecx, 0x10141ce0
call fcn.10008a10
test eax, eax
mov ecx, 0x10141cec
mov edx, 0x10141cf8
cmove ecx, edx
push dword [esp + 0x18]
lea eax, [esp + 0x13c]
push esi
push ecx
push str._s__u__s_r_n
push 0x100
push eax
call fcn.10001400
lea edi, [esp + 0x150]
add esp, 0x18
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x100050e8
mov eax, dword [ebx + 0x10]
sub edi, ecx
mov dword [esp + 0x20], 1
test byte [eax + 0xdc], 0x80
lea ecx, [edi + 2]
mov dword [esp + 0x14], ecx
jne 0x10005128
mov ecx, dword [ebx + 0x1c]
mov edx, str.Date
call fcn.100076e0
test eax, eax
jne 0x10005128
lea ecx, [esp + 0x38]
call fcn.10004ec0
jmp 0x1000512d
mov byte [esp + 0x38], 0
lea ecx, [esp + 0x38]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005134
sub ecx, edx
add dword [esp + 0x14], ecx
jmp 0x10005155
mov dword [esp + 0x14], 2
xor edi, edi
mov dword [esp + 0x20], 0x10
xor eax, eax
mov dword [esp + 0x18], 1
xor edx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
xor ch, ch
mov eax, dword [ebx + 0xac]
xor cl, cl
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
mov byte [esp + 0xe], ch
cmp eax, 9
je 0x100051c9
cmp eax, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
jne 0x10005195
mov byte [esp + 0xe], ch
xor esi, esi
cmp dword [ebx + 0x38], 0xffffffff
je 0x100053f3
test edx, edx
jne 0x100053ec
test cl, cl
jne 0x100053ec
test esi, esi
jne 0x100051bd
test ch, ch
je 0x100053f3
mov dword [ebx + 0x38], 1
jmp 0x100053f3
mov ecx, dword [ebx + 0x1c]
mov edx, 0x10141d20
push 5
push 0x10141d18
call fcn.10007750
mov ecx, dword [ebx + 0x1c]
mov edx, 0x10141d38
push 0xa
push 0x10141d2c
mov byte [esp + 0x1f], al
call fcn.10007750
push 5
push str.close
mov edx, 0x10141d4c
mov byte [esp + 0x26], al
mov ecx, ebx
call fcn.100049a0
mov cl, al
add esp, 0x18
mov eax, dword [ebx + 0x1c]
test dword [eax + 0x60], 1
jne 0x10005223
cmp dword [eax + 0x14], 0
je 0x1000522a
mov dword [ebx + 0x38], 0xffffffff
mov byte [ebx + 0xb8], 0
cmp dword [eax + 0x38], 0xffffffff
jne 0x100052d3
cmp dword [eax + 0x3c], 0xffffffff
jne 0x100052d3
cmp dword [eax + 0x14], 0
jne 0x100052d3
cmp byte [esp + 0xf], 0
jne 0x100052d3
test cl, cl
jne 0x100052ed
mov ecx, ebx
call fcn.10004e00
cmp eax, 1
jne 0x100052c6
mov edx, dword [ebx + 0x34]
mov ecx, 0x10141d58
call fcn.10008a10
test eax, eax
je 0x100052c6
mov ecx, dword [ebx + 0x1c]
mov edx, 0x10141d64
call fcn.100076e0
test eax, eax
jne 0x100052a0
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x28], 1
mov byte [ebx + 0xb8], 1
jmp 0x100052d7
mov edx, str.identity
mov ecx, eax
call fcn.10008a10
test eax, eax
mov eax, dword [ebx + 0x1c]
je 0x100052bd
mov dword [esp + 0x10], 1
jmp 0x100052d7
mov byte [ebx + 0xb8], 1
jmp 0x100052d7
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x10], 1
jmp 0x100052d7
test cl, cl
jne 0x100052e6
cmp byte [ebx + 0xa5], 0
jne 0x100052e6
cmp dword [ebx + 0x38], 0xffffffff
jne 0x10005304
cmp byte [esp + 0xf], 0
jne 0x10005304
cmp dword [eax + 0x14], 0
jne 0x10005304
test byte [eax + 0x60], 1
mov ecx, dword [esp + 0x10]
cmove ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 0x38]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], ecx
cmp edx, 0xffffffff
jne 0x1000531b
cmp ecx, edx
je 0x10005384
cmp esi, 0xcc
je 0x10005384
cmp esi, 0x130
je 0x10005384
cmp esi, 0xc8
jb 0x10005384
mov edx, 0x10141d84
mov ecx, eax
call fcn.100076e0
test eax, eax
jne 0x10005384
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x10005358
mov edx, str.CONNECT
call fcn.10008a10
test eax, eax
jne 0x10005384
push dword [esp + 0x1c]
lea eax, [esp + 0xbc]
push dword [esp + 0x28]
push str.Content_Length:__llu_r_n
push 0x80
push eax
call fcn.10001400
add esp, 0x14
mov dword [esp + 0x2c], 1
jmp 0x10005388
mov eax, dword [esp + 0x18]
mov ch, byte [esp + 0xe]
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
test ch, ch
jne 0x10005195
test cl, cl
jne 0x10005195
test edx, edx
jne 0x10005195
cmp dword [ebx + 0x38], 0xffffffff
je 0x10005195
mov eax, dword [ebx + 0x1c]
cmp dword [eax + 0x14], edx
jne 0x10005195
mov ecx, ebx
call fcn.10004e00
mov cl, byte [esp + 0xf]
xor esi, esi
mov edx, dword [esp + 0x10]
cmp eax, 1
mov ch, byte [esp + 0xe]
cmove esi, dword [esp + 0x18]
mov dword [esp + 0x30], esi
jmp 0x10005197
mov dword [ebx + 0x38], 0xffffffff
mov ecx, dword [esp + 0x14]
test edx, edx
lea eax, [ecx + 0x13]
cmove eax, ecx
test esi, esi
lea ecx, [eax + 0x18]
cmove ecx, eax
cmp dword [esp + 0x28], 0
mov eax, dword [ebx + 0x1c]
lea edx, [ecx + 0x1c]
mov esi, dword [eax]
cmove edx, ecx
mov ecx, dword [esp + 0x24]
add ecx, edx
cmp dword [esp + 0x2c], 0
cmove ecx, edx
mov dword [esp + 0x14], ecx
test esi, esi
je 0x100054c2
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
nop dword [eax]
cmp dword [esi + 0xc], eax
jne 0x100054b8
cmp ebx, 1
jne 0x10005473
cmp byte [esp + 0xe], 0
je 0x10005473
mov ecx, dword [esi + 4]
mov edx, 0x10141db4
call fcn.10008a10
test eax, eax
je 0x10005473
mov ecx, dword [esi + 8]
mov edx, 0x10141dc0
call fcn.10008a10
test eax, eax
jne 0x100054b0
mov edx, dword [esi + 4]
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10005480
sub edx, ecx
mov ecx, dword [esi + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005493
sub ecx, dword [esp + 0x1c]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x14]
add ecx, 4
add ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x100054b4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov esi, dword [esi]
test esi, esi
jne 0x10005440
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + 0x20]
lea edx, [ecx + 1]
lea ecx, [edx + 7]
and ecx, 0xfffffff8
jne 0x100054d8
test edx, edx
jne 0x100056cb
mov edx, dword [eax + 8]
lea esi, [edx + ecx]
cmp esi, dword [eax + 0xc]
ja 0x100056cb
cmp esi, edx
jb 0x100056cb
mov ecx, dword [eax]
add ecx, edx
mov dword [eax + 8], esi
mov dword [esp + 0x1c], ecx
je 0x100056cb
cmp dword [ebx + 0xac], 9
jne 0x1000551f
push edi
lea eax, [esp + 0x13c]
push eax
push ecx
call fcn.100a5270
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 0x10]
test edx, edx
je 0x10005549
movups xmm0, xmmword [str.Connection:_close_r_n]
movups xmmword [ecx + edi], xmm0
mov ax, word [0x10141dfc]
mov word [ecx + edi + 0x10], ax
mov al, byte [0x10141dfe]
mov byte [ecx + edi + 0x12], al
add edi, 0x13
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1000556d
movups xmm0, xmmword [str.Connection:_Keep_Alive_r_n]
movups xmmword [ecx + edi], xmm0
movq xmm0, qword [0x10141e10]
movq qword [ecx + edi + 0x10], xmm0
add edi, 0x18
cmp dword [esp + 0x28], 0
je 0x10005599
movups xmm0, xmmword [str.Transfer_Encoding:_chunked_r_n]
movups xmmword [ecx + edi], xmm0
movq xmm0, qword [0x10141e2c]
movq qword [ecx + edi + 0x10], xmm0
mov eax, dword [0x10141e34]
mov dword [ecx + edi + 0x18], eax
add edi, 0x1c
cmp dword [esp + 0x2c], 0
je 0x100055bf
mov esi, dword [esp + 0x24]
lea eax, [esp + 0xb8]
push esi
push eax
lea eax, [ecx + edi]
push eax
call fcn.100a5270
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edi, esi
mov eax, dword [ebx + 0x1c]
mov esi, dword [eax]
test esi, esi
je 0x10005635
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp dword [esi + 0xc], eax
jne 0x10005627
cmp edx, 1
jne 0x10005603
cmp byte [esp + 0xe], 0
je 0x10005603
mov ecx, dword [esi + 4]
mov edx, 0x10141e3c
call fcn.10008a10
test eax, eax
je 0x10005603
mov ecx, dword [esi + 8]
mov edx, str.Keep_Alive
call fcn.10008a10
test eax, eax
jne 0x10005623
push dword [esi + 8]
mov eax, dword [esp + 0x18]
push dword [esi + 4]
sub eax, edi
push str._s:__s_r_n
push eax
lea eax, [ebx + edi]
push eax
call fcn.10001400
add esp, 0x14
add edi, eax
mov eax, dword [esp + 0x20]
mov esi, dword [esi]
mov edx, dword [esp + 0x10]
test esi, esi
jne 0x100055d0
mov ebx, dword [esp + 0x34]
cmp dword [ebx + 0xac], 9
mov esi, dword [esp + 0x1c]
jne 0x1000566f
lea ecx, [esp + 0x38]
lea edx, [esi + edi]
mov eax, ecx
sub edx, eax
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x10005650
lea ecx, [esp + 0x38]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005664
sub ecx, edx
add edi, ecx
mov ax, word [0x10141e60]
mov word [esi + edi], ax
lea eax, [edi + 2]
mov edi, dword [esp + 0x14]
cmp eax, edi
je 0x1000569f
push 0
push 0x566
push 0x10141e70
push dword [0x10149f20]
call dword [0x10149f24]
add esp, 0x10
mov eax, dword [esp + 0x18]
lea ecx, [edi + 1]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x64], edi
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x5c], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.10065961
mov esp, ebp
pop ebp
ret
push str.Not_enough_memory_for_write__n
push dword [ebx + 0x10]
call fcn.100085c0
mov ecx, dword [esp + 0x244]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10065961
mov esp, ebp
pop ebp
ret