Function at 0x431c33
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x511397
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
push ebx
push esi
push edi
xor esi, esi
mov edi, ecx
mov dword [esp + 0xc], esi
call fcn.00432852
cmp dword [edi + 0x250], esi
jne 0x431cc2
push 0x53a15c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x535d5a
call fcn.00401644
lea eax, [esp + 0x168]
push eax
push edi
call fcn.00432fff
push eax
xor ebx, ebx
lea eax, [esp + 0x134]
mov dword [esp + 0x194], esi
inc ebx
push eax
mov dword [esp + 0x18], ebx
call fcn.00415771
add esp, 0xc
mov dword [esp + 0x18c], ebx
mov dword [esp + 0xc], 3
jmp 0x431ccb
xor ebx, ebx
lea eax, [edi + 0x23c]
inc ebx
push eax
lea ecx, [esp + 0x88]
call fcn.00403731
push 2
pop eax
mov dword [esp + 0x18c], eax
test byte [esp + 0xc], al
je 0x431cfb
and dword [esp + 0xc], 0xfffffffd
push esi
push ebx
lea ecx, [esp + 0x134]
call fcn.004017de
mov byte [esp + 0x18c], 4
test byte [esp + 0xc], bl
je 0x431d17
push esi
push ebx
lea ecx, [esp + 0x150]
call fcn.004017de
mov eax, edi
call fcn.00431b09
test al, al
jne 0x431d2b
call fcn.00431b22
test eax, eax
jne 0x431d34
cmp byte [edi + 0xef], 0
je 0x431d60
mov edi, 0x1a4
push esi
push ebx
lea ecx, [esp + 0x8c]
call fcn.004017de
mov ecx, dword [esp + 0x184]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esp + 0x9c], 0x10
mov ebx, dword [edi + 0xe8]
mov eax, dword [esp + 0x88]
jae 0x431d7e
lea eax, [esp + 0x88]
push dword [esp + 0x98]
push eax
call fcn.00438497
lea eax, [esp + 0xa0]
push eax
mov eax, edi
call fcn.0043331c
push 0xffffffffffffffff
xor ebx, ebx
push ebx
lea esi, [edi + 0x25c]
push eax
mov ecx, esi
mov byte [esp + 0x198], 5
call fcn.00401729
push ebx
push 1
lea ecx, [esp + 0xa8]
mov byte [esp + 0x194], 4
call fcn.004017de
push edi
mov ecx, esi
call fcn.0043333b
mov eax, dword [edi + 0x230]
cmp eax, 0xc8
je 0x431ee3
cmp eax, 0xce
je 0x431ee3
cmp eax, 0x12b
jle 0x4321fa
cmp eax, 0x131
jle 0x431e0d
cmp eax, 0x133
jne 0x4321fa
push str.LOCATION
lea ecx, [esp + 0xc0]
call fcn.00401644
lea eax, [esp + 0xbc]
push eax
lea ecx, [edi + 0x20c]
mov byte [esp + 0x190], 0x10
call fcn.004199cb
push eax
lea ecx, [esp + 0x14]
call fcn.00403731
push ebx
push 1
lea ecx, [esp + 0xc4]
mov byte [esp + 0x194], 0x12
call fcn.004017de
cmp dword [esp + 0x24], ebx
jbe 0x431ed7
sub esp, 0x1c
mov dword [esp + 0x28], esp
mov esi, esp
sub esp, 0x1c
lea eax, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00403731
sub esp, 0x1c
lea eax, [edi + 4]
mov ecx, esp
mov dword [esp + 0xb8], esp
push eax
mov byte [esp + 0x1e4], 0x13
call fcn.00403731
push esi
mov byte [esp + 0x1e4], 0x12
call fcn.00433fe8
lea eax, [esp + 0x180]
push eax
call fcn.00433f55
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [edi + 4]
mov byte [esp + 0x198], 0x14
call fcn.00401729
push ebx
push 1
lea ecx, [esp + 0x16c]
call fcn.004017de
push ebx
push 1
lea ecx, [esp + 0x18]
jmp 0x4321f5
push str.CONTENT_LENGTH
lea ecx, [esp + 0xdc]
call fcn.00401644
lea eax, [esp + 0xd8]
lea ecx, [edi + 0x20c]
push eax
mov byte [esp + 0x190], 6
call fcn.004199cb
push eax
lea ecx, [esp + 0x30]
call fcn.00403731
push ebx
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0x194], 8
call fcn.004017de
cmp dword [esp + 0x40], ebx
jbe 0x431f91
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
jae 0x431f45
lea eax, [esp + 0x30]
push eax
call fcn.0049ca3f
pop ecx
mov ecx, eax
add ecx, dword [edi + 0xf0]
mov eax, dword [ebp + 0xc]
adc edx, dword [edi + 0xf4]
cmp dword [esp + 0x44], 0x10
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x30]
jae 0x431f71
lea eax, [esp + 0x30]
push eax
lea esi, [edi + 0xf8]
call fcn.0049ca3f
add dword [esi], eax
pop ecx
mov byte [edi + 0xed], bl
adc dword [esi + 4], edx
mov byte [edi + 0x234], bl
jmp 0x431fa0
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov byte [edi + 0xed], 1
push str.TRANSFER_ENCODING
lea ecx, [esp + 0x114]
call fcn.00401644
lea eax, [esp + 0x110]
lea esi, [edi + 0x20c]
push eax
mov ecx, esi
mov byte [esp + 0x190], 9
call fcn.004199cb
push eax
lea ecx, [esp + 0x14]
call fcn.00403731
push ebx
push 1
lea ecx, [esp + 0x118]
mov byte [esp + 0x194], 0xb
call fcn.004017de
cmp dword [esp + 0x24], ebx
je 0x43202c
cmp dword [esp + 0x28], 0x10
mov eax, dword [esp + 0x14]
jae 0x432004
lea eax, [esp + 0x14]
push 7
push str.chunked
push eax
call fcn.0049d6bd
add esp, 0xc
test eax, eax
jne 0x43202c
push 0x53c5c8
call fcn.00413df9
pop ecx
mov byte [edi + 0x234], 1
jmp 0x432032
mov byte [edi + 0x234], bl
cmp dword [edi + 0xc4], ebx
je 0x43204c
cmp dword [edi + 0x22c], ebx
jne 0x43204c
mov dword [edi + 0x230], 0x1bc
push str.CONTENT_DISPOSITION
lea ecx, [esp + 0xf8]
call fcn.00401644
lea eax, [esp + 0xf4]
push eax
mov ecx, esi
mov byte [esp + 0x190], 0xc
call fcn.004199cb
push eax
lea ecx, [esp + 0x6c]
call fcn.00403731
push ebx
push 1
lea ecx, [esp + 0xfc]
mov byte [esp + 0x194], 0xe
call fcn.004017de
cmp dword [esp + 0x7c], ebx
jbe 0x432125
cmp dword [esp + 0x80], 0x10
mov eax, dword [esp + 0x6c]
jae 0x4320b1
lea eax, [esp + 0x6c]
push str.filename
push eax
call fcn.004b6040
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x432125
push str.filename
call fcn.0049db30
pop ecx
add esi, eax
jmp 0x4320d4
inc esi
cmp byte [esi], 0x20
je 0x4320d3
cmp byte [esi], 0x22
jne 0x4320df
inc esi
cmp byte [esi], 0x2f
jne 0x4320e5
inc esi
push esi
mov dword [esp + 0x10], ebx
call fcn.0049db30
pop ecx
test eax, eax
jbe 0x43211c
mov eax, dword [esp + 0xc]
mov cl, byte [eax + esi]
cmp cl, 0x3b
je 0x432119
cmp cl, 0x22
je 0x432119
inc eax
push esi
mov dword [esp + 0x10], eax
call fcn.0049db30
pop ecx
cmp dword [esp + 0xc], eax
jb 0x4320f4
jmp 0x43211c
mov byte [eax + esi], bl
mov ecx, dword [ebp + 8]
push esi
call fcn.004017bb
push str.CONNECTION
lea ecx, [esp + 0xa4]
call fcn.00401644
lea eax, [esp + 0xa0]
push eax
lea ecx, [edi + 0x20c]
mov byte [esp + 0x190], 0xf
call fcn.004199cb
push eax
lea ecx, [esp + 0x4c]
call fcn.00403731
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [esp + 0xa8]
call fcn.004017de
cmp dword [esp + 0x5c], ebx
jbe 0x4321c7
cmp dword [esp + 0x60], 0x10
mov eax, dword [esp + 0x4c]
jae 0x432181
lea eax, [esp + 0x4c]
push 0xa
push str.keep_alive
push eax
call fcn.0049d6bd
add esp, 0xc
test eax, eax
jne 0x43219c
mov byte [edi + 0xee], 1
cmp dword [esp + 0x60], 0x10
mov eax, dword [esp + 0x4c]
jae 0x4321ab
lea eax, [esp + 0x4c]
push 5
push str.close
push eax
call fcn.0049d6bd
add esp, 0xc
test eax, eax
jne 0x4321ce
mov byte [edi + 0xee], bl
jmp 0x4321ce
mov byte [edi + 0xee], 1
push ebx
push esi
lea ecx, [esp + 0x50]
call fcn.004017de
push ebx
push esi
lea ecx, [esp + 0x70]
call fcn.004017de
push ebx
push esi
lea ecx, [esp + 0x18]
call fcn.004017de
push ebx
push esi
lea ecx, [esp + 0x34]
call fcn.004017de
xor ebx, ebx
mov byte [edi + 0xec], 1
mov edi, dword [edi + 0x230]
inc ebx
xor esi, esi
jmp 0x431d39