Function at 0x401d40
Capabilities:
Check http status code

Disassembly:
push ebp
push edi
push esi
push ebx
add esp, 0xffffff80
mov esi, dword [esp + 0xa0]
movzx edx, byte [esp + 0xa4]
mov ecx, dword [0x425030]
mov ebp, dword [0x425010]
mov ebx, dword [section..bss]
mov eax, dword [esp + 0x9c]
mov byte [esp + 0x7f], dl
mov edx, dword [esp + 0x94]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x70], ebp
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x74], ebx
sub edx, esi
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x6c], edx
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
sub ebx, eax
mov edi, dword [0x425020]
sub esi, ebp
mov dword [esp + 0x68], ebx
sub edx, ecx
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
mov dword [esp + 0x64], edx
mov dword [esp + 0x5c], edx
sub edx, esi
and dl, 1
mov byte [esp + 0x4f], dl
mov edx, dword [esp + 0x94]
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], esi
mov dword [edi + eax*4], edx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x50], 1
mov edx, dword [esp + 0x78]
mov dword [edx + esi*4], ebx
lea esi, [esi]
lea edi, [edi]
mov byte [esp + 0x4e], 0
mov eax, dword [esp + 0x6c]
cmp dword [esp + 4], eax
jle 0x40246c
dec dword [esp + 4]
mov ebp, 0xffffffff
mov esi, dword [esp + 4]
mov dword [edi + esi*4 - 4], ebp
mov ecx, dword [esp + 0x68]
cmp dword [esp + 0x5c], ecx
jge 0x402463
inc dword [esp + 0x5c]
mov edx, 0xffffffff
mov ebx, dword [esp + 0x5c]
mov dword [edi + ebx*4 + 4], edx
mov ebx, dword [esp + 0x5c]
cmp ebx, dword [esp + 4]
jl 0x401efd
jmp 0x401e70
mov esi, dword [edi + ebx*4 + 4]
mov ecx, dword [edi + ebx*4 - 4]
mov edx, esi
cmp ecx, esi
jl 0x401e81
lea edx, [ecx + 1]
mov dword [esp], edx
mov ecx, edx
sub ecx, ebx
cmp edx, dword [esp + 0x98]
jge 0x401eb0
cmp ecx, dword [esp + 0xa0]
jge 0x401eb0
mov eax, dword [esp + 0x70]
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x74]
cmp dword [eax + edx*4], esi
je 0x402430
mov esi, esi
mov eax, dword [esp]
mov ebp, edx
sub ebp, eax
cmp ebp, 0x14
jle 0x401ec1
mov byte [esp + 0x4e], 1
cmp byte [esp + 0x4f], 0
mov dword [edi + ebx*4], edx
je 0x401ef0
cmp dword [esp + 0x58], ebx
jg 0x401ef0
cmp ebx, dword [esp + 0x54]
jg 0x401ef0
mov esi, dword [esp + 0x78]
cmp dword [esi + ebx*4], edx
jle 0x402415
lea esi, [esi]
lea edi, [edi]
sub ebx, 2
cmp ebx, dword [esp + 4]
jge 0x401e70
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x58], ecx
jle 0x40240c
dec dword [esp + 0x58]
mov ebp, 0x7fffffff
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x58]
mov dword [ebx + eax*4 - 4], ebp
mov esi, dword [esp + 0x68]
cmp dword [esp + 0x54], esi
jge 0x402403
inc dword [esp + 0x54]
mov ecx, 0x7fffffff
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x54]
mov dword [edx + ebx*4 + 4], ecx
mov ebx, dword [esp + 0x54]
cmp ebx, dword [esp + 0x58]
jl 0x401fed
jmp 0x401f60
mov eax, dword [esp + 0x78]
mov ebp, dword [eax + ebx*4 - 4]
mov ecx, dword [eax + ebx*4 + 4]
mov edx, ebp
cmp ebp, ecx
jl 0x401f75
lea edx, [ecx - 1]
mov ecx, edx
mov esi, edx
sub ecx, ebx
cmp edx, dword [esp + 0x94]
jle 0x401fb0
cmp ecx, dword [esp + 0x9c]
jle 0x401fb0
mov eax, dword [esp + 0x70]
mov ebp, dword [eax + ecx*4 - 4]
mov eax, dword [esp + 0x74]
cmp dword [eax + edx*4 - 4], ebp
je 0x4023d0
lea esi, [esi]
lea edi, [edi]
sub esi, edx
cmp esi, 0x14
jle 0x401fbc
mov byte [esp + 0x4e], 1
cmp byte [esp + 0x4f], 0
mov ebp, dword [esp + 0x78]
mov dword [ebp + ebx*4], edx
jne 0x401fe0
cmp dword [esp + 4], ebx
jg 0x401fe0
cmp ebx, dword [esp + 0x5c]
jg 0x401fe0
cmp edx, dword [edi + ebx*4]
jle 0x4023b7
sub ebx, 2
cmp ebx, dword [esp + 0x58]
jge 0x401f60
cmp byte [esp + 0x7f], 0
je 0x401ffd
inc dword [esp + 0x50]
jmp 0x401e10
cmp dword [esp + 0x50], 0xc8
jle 0x4021b4
cmp byte [esp + 0x4e], 0
je 0x4021b4
cmp byte [0x425820], 0
je 0x4021b4
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x5c]
cmp ebx, dword [esp + 4]
jl 0x4020ec
mov ecx, dword [esp + 0x64]
mov edx, ebx
mov eax, dword [esp + 0x94]
sub edx, ecx
mov ecx, dword [edi + ebx*4]
mov esi, ecx
mov ebp, ecx
sub esi, ebx
sub ebp, eax
mov dword [esp + 0x44], esi
mov eax, edx
lea esi, [ebp + ebp]
sub esi, edx
test edx, edx
js 0x4023b0
mov edx, dword [esp + 0x50]
add eax, edx
lea edx, [eax + eax*2]
shl edx, 2
cmp esi, edx
jle 0x4020d3
cmp esi, dword [esp + 0x48]
jle 0x4020d3
mov ebp, dword [esp + 0x94]
add ebp, 0x14
cmp ebp, ecx
jg 0x4020d3
cmp ecx, dword [esp + 0x98]
jge 0x4020d3
mov edx, dword [esp + 0x9c]
add edx, 0x14
cmp edx, dword [esp + 0x44]
jg 0x4020d3
mov ebp, dword [esp + 0xa0]
cmp dword [esp + 0x44], ebp
jge 0x4020d3
mov dword [esp + 0x40], 1
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + edx*4 - 4]
mov ebp, dword [esp + 0x74]
cmp dword [ebp + ecx*4 - 4], eax
je 0x40235b
sub ebx, 2
cmp ebx, dword [esp + 4]
jge 0x402039
mov ecx, dword [esp + 0x48]
test ecx, ecx
jg 0x40234f
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x54]
cmp ebx, dword [esp + 0x58]
jl 0x4021b4
mov eax, dword [esp + 0x78]
mov edx, ebx
mov ebp, dword [esp + 0x60]
mov ecx, dword [eax + ebx*4]
sub edx, ebp
mov ebp, dword [esp + 0x98]
mov esi, ecx
mov eax, edx
sub esi, ebx
mov dword [esp + 0x3c], esi
sub ebp, ecx
test edx, edx
lea esi, [edx + ebp*2]
js 0x402348
mov ebp, dword [esp + 0x50]
add eax, ebp
lea edx, [eax + eax*2]
shl edx, 2
cmp esi, edx
jle 0x40219b
cmp esi, dword [esp + 0x48]
jle 0x40219b
cmp dword [esp + 0x94], ecx
jge 0x40219b
mov edx, dword [esp + 0x98]
sub edx, 0x14
cmp ecx, edx
jg 0x40219b
mov ebp, dword [esp + 0x3c]
cmp dword [esp + 0x9c], ebp
jge 0x40219b
mov edx, dword [esp + 0xa0]
sub edx, 0x14
cmp dword [esp + 0x3c], edx
jg 0x40219b
mov dword [esp + 0x38], 0
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp + edx*4]
mov ebp, dword [esp + 0x74]
cmp dword [ebp + ecx*4], eax
je 0x4022f9
sub ebx, 2
cmp ebx, dword [esp + 0x58]
jge 0x402102
mov ebx, dword [esp + 0x48]
test ebx, ebx
jg 0x4022e8
mov ecx, dword [esp + 0x50]
cmp ecx, dword [0x425040]
jl 0x401ff4
mov dword [esp + 0x30], 0
mov ebx, dword [esp + 0x5c]
mov esi, 0xffffffff
cmp ebx, dword [esp + 4]
mov dword [esp + 0x34], 0
jl 0x402229
mov edx, dword [edi + ebx*4]
cmp edx, dword [esp + 0x98]
jle 0x4021f6
mov edx, dword [esp + 0x98]
mov eax, edx
sub eax, ebx
cmp dword [esp + 0xa0], eax
jge 0x402213
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
add edx, ebx
lea eax, [eax + edx]
cmp esi, eax
jge 0x402220
mov dword [esp + 0x34], edx
mov esi, eax
sub ebx, 2
cmp ebx, dword [esp + 4]
jge 0x4021e3
mov ebx, dword [esp + 0x54]
mov ecx, 0x7fffffff
cmp ebx, dword [esp + 0x58]
jl 0x402280
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x94]
mov eax, dword [ebp + ebx*4]
cmp edx, eax
jge 0x40224d
mov edx, eax
mov eax, edx
sub eax, ebx
cmp eax, dword [esp + 0x9c]
jge 0x40226a
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x9c]
add edx, ebx
lea eax, [eax + edx]
cmp eax, ecx
jge 0x402277
mov dword [esp + 0x30], edx
mov ecx, eax
sub ebx, 2
cmp ebx, dword [esp + 0x58]
jge 0x402238
mov eax, dword [esp + 0x98]
mov edi, esi
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
add eax, ebx
sub eax, ecx
add ebp, edx
sub edi, ebp
cmp eax, edi
jge 0x4022cc
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xa8]
sub esi, ecx
mov dword [eax], ecx
mov dword [eax + 4], esi
mov byte [eax + 8], 1
mov byte [eax + 9], 0
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0xa8]
sub ecx, edi
mov dword [eax], edi
mov dword [eax + 4], ecx
mov byte [eax + 8], 0
mov byte [eax + 9], 1
jmp 0x4022c4
mov edi, dword [esp + 0xa8]
mov byte [edi + 8], 0
mov byte [edi + 9], 1
jmp 0x4022c4
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x3c]
lea eax, [edx + eax*4]
mov dword [esp + 0x2c], eax
lea edx, [ebp + ecx*4]
cmp dword [esp + 0x38], 0x13
je 0x40232f
add dword [esp + 0x2c], 4
add edx, 4
inc dword [esp + 0x38]
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebp]
cmp dword [edx], eax
je 0x40230c
jmp 0x40219b
mov dword [esp + 0x48], esi
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov dword [esi], ecx
mov dword [esi + 4], ebp
jmp 0x40219b
neg eax
jmp 0x40212f
mov eax, dword [esp + 0xa8]
jmp 0x4022bc
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x44]
lea eax, [edx + eax*4 - 4]
mov dword [esp + 0x28], eax
lea edx, [ebp + ecx*4 - 4]
cmp dword [esp + 0x40], 0x14
je 0x402392
sub dword [esp + 0x28], 4
sub edx, 4
inc dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
mov eax, dword [ebp]
cmp dword [edx], eax
je 0x40236f
jmp 0x4020d3
mov dword [esp + 0x48], esi
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0xa8]
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp 0x4020d3
neg eax
jmp 0x402067
mov esi, dword [esp + 0xa8]
mov dword [esi], edx
mov dword [esi + 4], ecx
mov byte [esi + 9], 1
mov byte [esi + 8], 1
jmp 0x4022c4
dec edx
dec ecx
cmp edx, dword [esp + 0x94]
jle 0x401fb0
cmp ecx, dword [esp + 0x9c]
jle 0x401fb0
mov eax, dword [esp + 0x70]
mov ebp, dword [eax + ecx*4 - 4]
mov eax, dword [esp + 0x74]
cmp dword [eax + edx*4 - 4], ebp
je 0x4023d0
jmp 0x401fb0
dec dword [esp + 0x54]
jmp 0x401f43
inc dword [esp + 0x58]
jmp 0x401f20
mov edi, dword [esp + 0xa8]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov byte [edi + 9], 1
mov byte [edi + 8], 1
jmp 0x4022c4
inc edx
inc ecx
cmp edx, dword [esp + 0x98]
jge 0x401eb0
cmp ecx, dword [esp + 0xa0]
jge 0x401eb0
mov ebp, dword [esp + 0x70]
mov eax, dword [ebp + ecx*4]
mov ebp, dword [esp + 0x74]
cmp dword [ebp + edx*4], eax
je 0x402430
jmp 0x401eb0
dec dword [esp + 0x5c]
jmp 0x401e53
inc dword [esp + 4]
jmp 0x401e34