Function at 0x401f50
Capabilities:
Check http status code

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x2a4]
cmp eax, 5
ja case.0x401f68.0
jmp dword [eax*4 + 0x4021b8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
jmp 0x4021d0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
mov dword [esp + 0x28], 1
call fcn.004028c0
test al, al
je 0x401fa6
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
jmp 0x402540
mov ebp, dword [esi + 0x288]
cmp ebp, dword [esi + 0x284]
jge case.0x401f68.1
mov dword [esi], 1
lea edi, [esi + 0x18c]
mov ebp, dword [esi + ebp*4 + 0x274]
mov ebx, 0xa
add edi, ebp
nop dword [eax]
mov ecx, 6
call fcn.004015d0
mov byte [edi], al
lea edi, [edi + 0x14]
sub ebx, 1
jne 0x401fe0
mov eax, dword [esi + 0x180]
mov ecx, ebp
cmp eax, ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], 9
cmovg ecx, eax
mov eax, dword [esi + 0x178]
cmp eax, ebp
mov dword [esp + 0x2c], ecx
cmovl ebp, eax
lea eax, [ebx + 4]
mov dword [esp + 0x24], ebp
movups xmm0, xmmword [esp + 0x20]
movups xmmword [esi + 0x174], xmm0
mov dword [esi + 0x2a4], 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov ecx, dword [esi + 0x288]
mov eax, dword [esi]
mov ebp, dword [esi + ecx*4 + 0x274]
cmp eax, 7
jge 0x4020bc
inc eax
lea edi, [esi + 0x18c]
mov dword [esi], eax
add edi, ebp
mov ebx, 0xa
mov ecx, 6
call fcn.004015d0
mov byte [edi], al
lea edi, [edi + 0x14]
sub ebx, 1
jne 0x402065
mov eax, dword [esi + 0x180]
mov ecx, ebp
cmp eax, ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], 9
cmovg ecx, eax
mov eax, dword [esi + 0x178]
cmp eax, ebp
mov dword [esp + 0x2c], ecx
cmovl ebp, eax
lea eax, [ebx + 4]
mov dword [esp + 0x24], ebp
movups xmm0, xmmword [esp + 0x20]
movups xmmword [esi + 0x174], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
lea eax, [ecx + 1]
mov edi, 0x13
mov dword [esi + 0x288], eax
lea edx, [esi + 0x18c]
xor eax, eax
mov dword [esp + 0x1c], edx
xor ecx, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
movzx ebx, byte [esi + eax + 0x268]
cmp ebx, edi
mov eax, ebx
cmovge eax, edi
mov edi, eax
mov dword [esp + 0x20], edi
cmp ebp, ebx
jle 0x40211a
mov edi, ebp
add edx, ebp
sub edi, ebx
nop
mov al, byte [edx - 1]
lea edx, [edx - 1]
mov byte [edx + 1], al
sub edi, 1
jne 0x402100
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
lea eax, [ecx + esi]
add edx, 0x14
mov byte [eax + ebx + 0x18c], 0x13
add ecx, 0x14
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
cmp ecx, 0xc8
jl 0x4020e0
lea eax, [esi + 0x18c]
push eax
push ebp
lea ecx, [esi + 0x254]
call fcn.00403380
mov eax, dword [esi + 0x180]
cmp eax, ebp
mov dword [esp + 0x20], 0
cmovg ebp, eax
mov dword [esp + 0x28], 9
mov eax, dword [esi + 0x178]
cmp eax, edi
mov dword [esp + 0x2c], ebp
cmovl edi, eax
mov eax, 5
mov dword [esp + 0x24], edi
movups xmm0, xmmword [esp + 0x20]
movups xmmword [esi + 0x174], xmm0
mov dword [esi + 0x2a4], 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
add esp, 0x24
ret
sub esp, 0xc
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea edi, [ebp + 0x298]
mov dword [esp + 0x14], ebp
mov esi, dword [ebp + 0x28c]
lea ecx, [ebp + 0x18c]
mov edx, edi
mov dword [esp + 0x18], edi
mov dword [edi], esi
mov dword [ebp + 0x29c], 3
mov dword [ebp + 0x2a0], 0
call fcn.00403200
test al, al
je 0x40251f
movzx eax, byte [esi*8 + 0x4063b8]
movzx edx, byte [esi*8 + 0x4063b9]
mov ecx, dword [ebp + 0x290]
add ecx, eax
mov eax, dword [ebp + 0x294]
add eax, edx
lea eax, [eax + ecx*2]
mov byte [eax + ebp + 0x184], 0x13
mov eax, dword [ebp + 0x28c]
mov edx, dword [ebp + 0x290]
movzx ecx, byte [eax*8 + 0x4063ba]
movzx esi, byte [eax*8 + 0x4063bb]
add edx, ecx
mov eax, dword [ebp + 0x294]
add eax, esi
lea eax, [eax + edx*2]
mov byte [eax + ebp + 0x184], 0x13
mov eax, dword [ebp + 0x28c]
mov edx, dword [ebp + 0x290]
movzx ecx, byte [eax*8 + 0x4063bc]
movzx esi, byte [eax*8 + 0x4063bd]
add edx, ecx
mov eax, dword [ebp + 0x294]
add eax, esi
lea eax, [eax + edx*2]
mov byte [eax + ebp + 0x184], 0x13
mov eax, dword [ebp + 0x28c]
mov edx, dword [ebp + 0x290]
movzx ecx, byte [eax*8 + 0x4063be]
movzx esi, byte [eax*8 + 0x4063bf]
add edx, ecx
mov eax, dword [ebp + 0x294]
mov ecx, 6
add eax, esi
lea eax, [eax + edx*2]
mov byte [eax + ebp + 0x184], 0x13
call fcn.004015d0
mov ecx, ebp
mov dword [ebp + 0x28c], eax
call fcn.00402ad0
mov ebx, dword [ebp + 0x28c]
mov ecx, dword [ebp + 0x290]
movzx eax, byte [ebx*8 + 0x4063b8]
movzx edx, byte [ebx*8 + 0x4063b9]
add ecx, eax
mov eax, dword [ebp + 0x294]
add eax, edx
lea eax, [eax + ecx*2]
mov byte [eax + ebp + 0x184], bl
mov ebx, dword [ebp + 0x28c]
mov ecx, dword [ebp + 0x290]
movzx eax, byte [ebx*8 + 0x4063ba]
movzx edx, byte [ebx*8 + 0x4063bb]
add ecx, eax
mov eax, dword [ebp + 0x294]
add eax, edx
lea eax, [eax + ecx*2]
mov byte [eax + ebp + 0x184], bl
mov ebx, dword [ebp + 0x28c]
mov ecx, dword [ebp + 0x290]
movzx eax, byte [ebx*8 + 0x4063bc]
movzx edx, byte [ebx*8 + 0x4063bd]
add ecx, eax
mov eax, dword [ebp + 0x294]
add eax, edx
lea eax, [eax + ecx*2]
mov byte [eax + ebp + 0x184], bl
mov ecx, dword [ebp + 0x28c]
mov edx, dword [ebp + 0x290]
movzx eax, byte [ecx*8 + 0x4063be]
movzx esi, byte [ecx*8 + 0x4063bf]
add edx, eax
mov eax, dword [ebp + 0x294]
add eax, esi
lea eax, [eax + edx*2]
mov edx, edi
mov byte [eax + ebp + 0x184], cl
lea ecx, [ebp + 0x18c]
call fcn.004032d0
mov eax, dword [ebp + 0x28c]
movzx edi, byte [eax + 0x406484]
movzx ecx, byte [eax*8 + 0x4063bf]
movzx ebp, byte [eax*8 + 0x4063b9]
movzx ebx, byte [eax + 0x406450]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
movzx ecx, byte [eax + 0x406484]
movzx edx, byte [eax*8 + 0x4063bf]
cmp ecx, edi
movzx esi, byte [eax + 0x406450]
movzx eax, byte [eax*8 + 0x4063b9]
cmovg edi, ecx
mov ecx, dword [esp + 0x10]
cmp edx, ecx
cmovg ecx, edx
cmp esi, ebx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
cmovl ebx, esi
cmp eax, ebp
cmovl ebp, eax
mov eax, dword [ecx + 0x290]
mov ecx, dword [ecx + 0x294]
add ebp, ecx
lea edx, [eax + ebx]
mov ebx, dword [esp + 0x14]
lea esi, [eax + edi]
mov edi, dword [esp + 0x10]
add edi, ecx
mov eax, dword [ebx + 0x16c]
cmp eax, esi
mov ecx, dword [ebx + 0x170]
cmovg esi, eax
mov eax, dword [ebx + 0x164]
cmp ecx, edi
cmovg edi, ecx
mov ecx, dword [ebx + 0x168]
cmp eax, edx
cmovl edx, eax
cmp ecx, ebp
mov dword [ebx + 0x164], edx
cmovl ebp, ecx
mov dword [ebx + 0x168], ebp
mov ebp, ebx
mov dword [ebp + 0x16c], esi
mov dword [ebp + 0x170], edi
mov eax, dword [ebp + 0x298]
mov ecx, dword [ebp + 0x180]
movzx ebx, byte [eax*8 + 0x4063bf]
movzx edi, byte [eax*8 + 0x4063b9]
movzx esi, byte [eax + 0x406484]
movzx edx, byte [eax + 0x406450]
mov eax, dword [ebp + 0x29c]
add esi, eax
add ebx, dword [ebp + 0x2a0]
add edx, eax
add edi, dword [ebp + 0x2a0]
mov eax, dword [ebp + 0x17c]
cmp eax, esi
cmovg esi, eax
mov eax, dword [ebp + 0x174]
cmp ecx, ebx
cmovg ebx, ecx
mov ecx, dword [ebp + 0x178]
cmp eax, edx
cmovl edx, eax
cmp ecx, edi
mov dword [ebp + 0x174], edx
mov eax, 1
cmovl edi, ecx
mov dword [ebp + 0x178], edi
mov dword [ebp + 0x17c], esi
mov dword [ebp + 0x180], ebx
mov dword [ebp + 0x2a4], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
pop edi
pop esi
mov dword [ebp + 0x2a4], 0
mov eax, 6
pop ebp
pop ebx
add esp, 0xc
ret
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esi + 0x284], 0
lea ebx, [esi + 0x298]
lea ebp, [esi + 0x284]
push edi
mov dword [esi + 0x288], 0
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
movzx edx, byte [eax*8 + 0x4063b8]
movzx ecx, byte [eax*8 + 0x4063b9]
add edi, edx
add ecx, dword [ebx + 8]
lea edx, [esi + 0x254]
inc byte [ecx + edx]
movzx eax, byte [edi + edx + 0x14]
cmp ecx, eax
jge 0x402599
mov byte [edi + edx + 0x14], cl
cmp byte [ecx + esi + 0x254], 0xa
jne 0x4025c8
mov eax, dword [ebp]
lea edi, [esi + 0x284]
lea ebx, [esi + 0x298]
mov dword [esi + eax*4 + 0x274], ecx
lea eax, [esi + 0x254]
inc dword [ebp]
mov dword [esp + 0x10], eax
jmp 0x4025ce
mov edi, ebp
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x298]
movzx ecx, byte [eax*8 + 0x4063bb]
movzx edx, byte [eax*8 + 0x4063ba]
add ecx, dword [esi + 0x2a0]
add edx, dword [esi + 0x29c]
inc byte [ecx + esi + 0x254]
movzx eax, byte [edx + esi + 0x268]
cmp ecx, eax
jge 0x40260a
mov byte [edx + esi + 0x268], cl
cmp byte [ecx + esi + 0x254], 0xa
mov dword [esp + 0x14], edi
jne 0x40263c
mov eax, dword [ebp]
lea ebx, [esi + 0x298]
lea ebp, [esi + 0x254]
mov dword [esi + eax*4 + 0x274], ecx
lea eax, [esi + 0x284]
inc dword [edi]
mov dword [esp + 0x14], eax
jmp 0x402640
mov ebp, dword [esp + 0x10]
mov eax, dword [ebx]
movzx ecx, byte [eax*8 + 0x4063bd]
movzx edx, byte [eax*8 + 0x4063bc]
add ecx, dword [ebx + 8]
add edx, dword [ebx + 4]
inc byte [ecx + ebp]
movzx eax, byte [edx + ebp + 0x14]
cmp ecx, eax
jge 0x40266c
mov edi, dword [esp + 0x14]
mov byte [edx + ebp + 0x14], cl
cmp byte [ecx + esi + 0x254], 0xa
jne 0x402681
mov eax, dword [edi]
mov dword [esi + eax*4 + 0x274], ecx
inc dword [edi]
mov eax, dword [ebx]
movzx ecx, byte [eax*8 + 0x4063bf]
movzx edx, byte [eax*8 + 0x4063be]
add ecx, dword [ebx + 8]
add edx, dword [ebx + 4]
inc byte [ecx + ebp]
movzx eax, byte [edx + ebp + 0x14]
cmp ecx, eax
jge 0x4026a9
mov byte [edx + ebp + 0x14], cl
cmp byte [ecx + esi + 0x254], 0xa
jne 0x4026be
mov eax, dword [edi]
mov dword [esi + eax*4 + 0x274], ecx
inc dword [edi]
pop edi
mov dword [esi + 0x2a4], 4
mov eax, 3
pop esi
pop ebp
pop ebx
add esp, 8
ret