Function at 0x405410
Capabilities:
Check http status code

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
cmp si, 0x96
push edi
jae 0x4054d2
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x14c]
test ecx, ecx
je 0x40545b
cmp si, 0xd
je 0x40544f
cmp si, 0xf
je 0x40544f
cmp si, 0x10
je 0x40544f
mov ecx, 1
mov eax, ecx
jmp 0x4054b3
mov ecx, 8
mov eax, 6
jmp 0x4054b3
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4054ac
cmp si, 4
je 0x4054a5
cmp si, 5
je 0x4054a5
cmp si, 6
je 0x4054a5
cmp si, 9
je 0x4054a5
cmp si, 0xa
je 0x4054a5
cmp si, 0xc
je 0x4054a5
cmp si, 0x1e
je 0x4054a5
cmp si, 0x27
je 0x4054a5
cmp si, 0x3b
je 0x4054a5
cmp si, 0x3c
je 0x4054a5
cmp si, 0x3d
jne 0x4054ac
mov ecx, 0x13
jmp 0x4054ae
xor ecx, ecx
mov eax, 0xa
and esi, 0xffff
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x6e
mov dword [esp + 0x1c], esi
jmp 0x40584c
cmp si, 0xc8
jae 0x405502
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x14c]
test eax, eax
je 0x4054f3
mov ecx, 2
mov eax, 1
jmp 0x4054b3
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4054ac
mov ecx, 1
jmp 0x4054ae
cmp si, 0x190
jae 0x40555e
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 0x14c]
test eax, eax
je 0x405523
mov ecx, 2
mov eax, 1
jmp 0x405539
mov eax, dword [esp + 0x34]
test eax, eax
je 0x405532
mov ecx, 1
jmp 0x405534
xor ecx, ecx
mov eax, 5
and esi, 0xffff
mov dword [esp + 0x14], 0x55f0
sub esi, 0xc8
mov dword [esp + 0x10], 0x41
mov dword [esp + 0x1c], esi
jmp 0x40584c
mov edi, dword [esp + 0x40]
mov eax, esi
and eax, 0xffff
xor ebp, ebp
sub eax, 0x190
cmp word [edi + 0x3c], 0x190
mov dword [esp + 0x14], 0x88b8
mov dword [esp + 0x10], 0xaf
mov dword [esp + 0x1c], eax
jb 0x40559b
mov eax, dword [edi + 0x12c]
test eax, eax
je 0x40559b
mov ebp, 1
mov ecx, dword [edi + 0xd0]
xor ebx, ebx
test ecx, ecx
je 0x4055ce
mov edx, dword [0xcc53c0]
xor eax, eax
mov ax, word [ecx + 0x3c]
lea eax, [eax + eax*4]
cmp word [edx + eax*8 + 0xc], si
jne 0x4055ce
mov eax, dword [ecx]
call dword [eax + 0x40]
test eax, 0x800000
je 0x4055ce
mov ebx, 1
mov eax, dword [edi + 0x14c]
test eax, eax
je 0x405727
cmp si, 0x23e
jne 0x4055ea
xor ecx, ecx
jmp 0x405847
test ebp, ebp
je 0x405610
test ebx, ebx
je 0x405601
mov ecx, 0x1c
mov eax, 7
jmp 0x40584c
mov ecx, 0x19
mov eax, 1
jmp 0x40584c
mov eax, dword [edi + 0x154]
test eax, eax
je 0x40570d
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xa0]
test eax, eax
jne 0x40570d
test ebx, ebx
je 0x40563e
mov ecx, 2
jmp 0x405847
mov eax, dword [edi + 0xcc]
mov ebp, dword [0x505b88]
test eax, eax
mov ecx, 7
je 0x4056a6
xor edx, edx
xor esi, esi
mov dx, word [eax + 0x3c]
lea eax, [edx + edx*4]
mov edx, dword [0xcc53c0]
mov si, word [edx + eax*8 + 0xc]
mov eax, dword [0x505b80]
cmp esi, eax
jl 0x4056a6
cmp esi, dword [0x505b84]
jg 0x4056a6
xor ebx, ebx
test ebp, ebp
je 0x405696
mov eax, ebp
mov edx, 0x505b88
cmp esi, eax
je 0x405696
mov eax, dword [edx + 4]
add edx, 4
inc ebx
test eax, eax
jne 0x405687
mov eax, dword [ebx*4 + 0x505b88]
test eax, eax
je 0x4056a6
mov ecx, 8
mov edi, dword [edi + 0xd0]
test edi, edi
je 0x405703
mov edx, dword [0xcc53c0]
xor eax, eax
mov ax, word [edi + 0x3c]
xor esi, esi
lea eax, [eax + eax*4]
mov si, word [edx + eax*8 + 0xc]
mov eax, dword [0x505b80]
cmp esi, eax
jl 0x405703
cmp esi, dword [0x505b84]
jg 0x405703
xor edi, edi
test ebp, ebp
je 0x4056f3
mov eax, ebp
mov edx, 0x505b88
cmp esi, eax
je 0x4056f3
mov eax, dword [edx + 4]
add edx, 4
inc edi
test eax, eax
jne 0x4056e4
mov eax, dword [edi*4 + 0x505b88]
test eax, eax
je 0x405703
mov ecx, 8
mov eax, 1
jmp 0x40584c
test ebx, ebx
je 0x405718
xor ecx, ecx
jmp 0x405847
mov ecx, 4
mov eax, 1
jmp 0x40584c
mov eax, dword [esp + 0x34]
test ebp, ebp
je 0x405751
test eax, eax
jne 0x405742
mov ecx, 0x17
mov eax, 5
jmp 0x40584c
mov ecx, 0x18
mov eax, 5
jmp 0x40584c
test eax, eax
je 0x4057c7
mov edi, dword [edi + 0xd0]
mov ecx, 2
test edi, edi
je 0x405847
mov edx, dword [0xcc53c0]
xor eax, eax
mov ax, word [edi + 0x3c]
xor esi, esi
lea eax, [eax + eax*4]
mov si, word [edx + eax*8 + 0xc]
mov eax, dword [0x505bd8]
cmp esi, eax
jl 0x4057bd
cmp esi, dword [0x505bdc]
jg 0x4057bd
mov eax, dword [0x505be0]
xor edi, edi
test eax, eax
je 0x4057ae
mov edx, 0x505be0
cmp esi, eax
je 0x4057ae
mov eax, dword [edx + 4]
add edx, 4
inc edi
test eax, eax
jne 0x40579f
mov eax, dword [edi*4 + 0x505be0]
test eax, eax
jne 0x405847
mov ecx, 3
jmp 0x405847
mov eax, dword [edi + 0x154]
test eax, eax
je 0x4057e6
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xa0]
test eax, eax
jne 0x4057e6
mov ecx, 0xf
jmp 0x405847
mov edi, dword [edi + 0xd0]
xor ecx, ecx
test edi, edi
je 0x405847
xor eax, eax
xor esi, esi
mov ax, word [edi + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [0xcc53c0]
mov si, word [eax + edx*8 + 0xc]
mov eax, dword [0x505bd8]
cmp esi, eax
jl 0x405842
cmp esi, dword [0x505bdc]
jg 0x405842
mov eax, dword [0x505be0]
xor edi, edi
test eax, eax
je 0x405837
mov edx, 0x505be0
cmp esi, eax
je 0x405837
mov eax, dword [edx + 4]
add edx, 4
inc edi
test eax, eax
jne 0x405828
mov eax, dword [edi*4 + 0x505be0]
test eax, eax
jne 0x405847
mov ecx, 1
mov eax, 0xa
mov edx, dword [esp + 0x28]
cmp edx, 0xffffffff
jne 0x4058ae
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
imul edx, dword [esp + 0x10]
and esi, 7
mov esi, dword [esi*4 + 0x505b40]
add esi, edx
lea edx, [ecx + ecx*4]
mov ecx, dword [esp + 0x14]
add ecx, esi
add edx, ecx
mov ecx, dword [esp + 0x38]
cmp eax, 1
mov dword [ecx], edx
jne 0x405896
mov edx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
mov dword [edx], 0
pop ebx
add esp, 8
ret
lea ecx, [eax - 1]
mov eax, dword [esp + 0x24]
cdq
idiv ecx
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
mov dword [eax], edx
add esp, 8
ret
mov eax, dword [esp + 0x30]
and eax, 0x7f
cmp eax, 0x22
jle 0x4058be
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
imul ecx, dword [esp + 0x10]
and esi, 7
pop edi
mov esi, dword [esi*4 + 0x505b40]
add esi, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
add eax, esi
pop esi
add ecx, eax
mov eax, dword [esp + 0x30]
pop ebp
pop ebx
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], edx
add esp, 8
ret