Function at 0x4011d0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7ec
push ebx
push esi
push edi
lea edi, [ebp - 0x7ec]
mov ecx, 0x1fb
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x4b2640]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x514], eax
lea eax, [ebp - 0x508]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x52c], 0xc8
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x3c], 0
mov dword [0x4b3540], 0
mov dword [0x4b3538], 0xfffffffe
mov eax, dword [ebp - 0x514]
sub eax, 2
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov dx, word [ebp - 0xc]
mov word [ecx], dx
mov eax, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x514]
lea edx, [ecx + eax*2 - 2]
cmp dword [ebp - 0x24], edx
jb 0x401398
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x514]
sar eax, 1
add eax, 1
mov dword [ebp - 0x568], eax
cmp dword [ebp - 0x52c], 0x2710
jl 0x4012d3
push str.parser_stack_overflow
call fcn.00407200
add esp, 4
mov eax, 2
jmp 0x40488d
mov eax, dword [ebp - 0x52c]
shl eax, 1
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0x2710
jle 0x4012f7
mov dword [ebp - 0x52c], 0x2710
mov eax, dword [ebp - 0x52c]
shl eax, 1
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x568]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x55c]
push ecx
mov edx, dword [ebp - 0x514]
push edx
call fcn.00401030
add esp, 0xc
mov eax, dword [ebp - 0x52c]
shl eax, 2
mov dword [ebp - 0x520], eax
mov eax, dword [ebp - 0x568]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x550]
push ecx
mov edx, dword [ebp - 0x520]
push edx
call fcn.00401030
add esp, 0xc
mov eax, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x514]
lea edx, [ecx + eax*2 - 2]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x568]
mov ecx, dword [ebp - 0x520]
lea edx, [ecx + eax*4 - 4]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x514]
lea edx, [ecx + eax*2 - 2]
cmp dword [ebp - 0x24], edx
jb 0x401398
mov eax, 1
jmp 0x40488d
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x48f7e0]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0x8000
jne 0x4013b9
jmp 0x4014e6
cmp dword [0x4b3538], 0xfffffffe
jne 0x4013cc
call fcn.00405c90
mov dword [0x4b3538], eax
cmp dword [0x4b3538], 0
jg 0x4013e8
mov dword [ebp - 0x48], 0
mov dword [0x4b3538], 0
jmp 0x40141c
cmp dword [0x4b3538], 0x102
ja 0x401409
mov eax, dword [0x4b3538]
movsx ecx, word [eax*2 + 0x48e1f0]
mov dword [ebp - 0x7ec], ecx
jmp 0x401413
mov dword [ebp - 0x7ec], 0x240
mov edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
js 0x401440
cmp dword [ebp - 0x18], 0x63a
jg 0x401440
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x490dd0]
cmp ecx, dword [ebp - 0x48]
je 0x40144a
jmp 0x4014e6
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x490158]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
jge 0x401485
cmp dword [ebp - 0x18], 0x8000
jne 0x401471
jmp 0x404768
mov eax, dword [ebp - 0x18]
neg eax
mov dword [ebp - 0x18], eax
jmp 0x401504
cmp dword [ebp - 0x18], 0
jne 0x401495
jmp 0x404768
cmp dword [ebp - 0x18], 0x37f
jne 0x4014a5
xor eax, eax
jmp 0x40488d
cmp dword [0x4b3538], 0
je 0x4014b8
mov dword [0x4b3538], 0xfffffffe
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x4b353c]
mov dword [ecx], edx
cmp dword [ebp - 0x3c], 0
je 0x4014db
mov eax, dword [ebp - 0x3c]
sub eax, 1
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
jmp 0x401258
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x48ee68]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
jne 0x401504
jmp 0x404768
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x48e930]
mov dword [ebp - 0x544], ecx
cmp dword [ebp - 0x544], 0
jle 0x401535
mov eax, 1
sub eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0x7ec]
sub ecx, 3
mov dword [ebp - 0x7ec], ecx
cmp dword [ebp - 0x7ec], 0x296
ja 0x4046cc
mov edx, dword [ebp - 0x7ec]
jmp dword [edx*4 + 0x4048e8]
mov eax, dword [ebp - 0x544]
shl eax, 2
mov ecx, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x544]
shl eax, 1
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x538]
mov dword [ecx], edx
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x48e3f8]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x48fcd8]
mov edx, dword [ebp - 0x24]
movsx eax, word [edx]
add ecx, eax
mov dword [ebp - 0xc], ecx
js 0x404755
cmp dword [ebp - 0xc], 0x63a
jg 0x404755
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x490dd0]
mov edx, dword [ebp - 0x24]
movsx eax, word [edx]
cmp ecx, eax
jne 0x404755
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x490158]
mov dword [ebp - 0xc], ecx
jmp 0x404763
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x48f360]
mov dword [ebp - 0xc], ecx
jmp 0x401258
cmp dword [ebp - 0x3c], 0
jne 0x404788
mov eax, dword [0x4b3540]
add eax, 1
mov dword [0x4b3540], eax
push str.parse_error
call fcn.00407200
add esp, 4
cmp dword [ebp - 0x3c], 3
jne 0x4047ab
cmp dword [0x4b3538], 0
jne 0x4047a1
mov eax, 1
jmp 0x40488d
mov dword [0x4b3538], 0xfffffffe
mov dword [ebp - 0x3c], 3
jmp 0x4047e6
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x514]
jne 0x4047cb
mov eax, 1
jmp 0x40488d
mov eax, dword [ebp - 0x30]
sub eax, 4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
sub eax, 2
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
movsx edx, word [ecx]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x48f7e0]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0x8000
jne 0x4047ff
jmp 0x4047b6
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
js 0x404823
cmp dword [ebp - 0x18], 0x63a
jg 0x404823
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x490dd0]
cmp ecx, 1
je 0x404825
jmp 0x4047b6
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax*2 + 0x490158]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
jge 0x404856
cmp dword [ebp - 0x18], 0x8000
jne 0x404847
jmp 0x4047b6
mov eax, dword [ebp - 0x18]
neg eax
mov dword [ebp - 0x18], eax
jmp 0x401504
cmp dword [ebp - 0x18], 0
jne 0x404861
jmp 0x4047b6
cmp dword [ebp - 0x18], 0x37f
jne 0x40486e
xor eax, eax
jmp 0x40488d
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x4b353c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
jmp 0x401258
push edx
mov ecx, ebp
push eax
lea edx, [0x4048bc]
call fcn.00408220
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004082c0
add esp, 0x7ec
cmp ebp, esp
call fcn.00408280
mov esp, ebp
pop ebp
ret