Function at 0x4087a0
Capabilities:
Check http status code

Disassembly:
sub esp, 0x4c
push esi
mov esi, ecx
mov eax, dword [esi + 0xa8]
test eax, eax
push edi
mov dword [esp + 0x10], eax
jl 0x408855
cmp eax, 0xc8
jg 0x408860
fild dword [esp + 0x10]
fmul dword [0x478134]
fadd dword [esi + 0x9c]
fcom dword [0x478024]
fst dword [esi + 0x9c]
fnstsw ax
test ah, 0x41
jne 0x4087f5
fsub dword [0x478024]
fstp dword [esi + 0x9c]
jmp 0x4087f7
fstp st(0)
mov eax, dword [esi + 0x9c]
mov edi, dword [esp + 0x58]
push eax
push edi
call fcn.004294ea
fld dword [edi + 0x30]
fsub dword [0x478170]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
fstp dword [edi + 0x30]
fld dword [edi + 0x34]
fadd dword [0x47816c]
fstp dword [edi + 0x34]
fld dword [edi + 0x38]
fsub dword [0x478168]
fstp dword [edi + 0x38]
mov dword [ecx], 0
mov dword [edx], 0
mov eax, dword [esi + 0xa8]
inc eax
pop edi
mov dword [esi + 0xa8], eax
pop esi
add esp, 0x4c
ret 0x10
cmp eax, 0xc8
jle 0x408a82
cmp eax, 0x258
jg 0x408a8d
add eax, 0xffffff38
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [0x478130]
fsubr dword [0x47812c]
fadd dword [esi + 0x9c]
fcom dword [0x478024]
fst dword [esi + 0x9c]
fnstsw ax
test ah, 0x41
jne 0x4088ab
fsub dword [0x478024]
fstp dword [esi + 0x9c]
jmp 0x4088ad
fstp st(0)
mov eax, dword [esi + 0x9c]
mov edi, dword [esp + 0x58]
push eax
push edi
call fcn.004294ea
fld dword [edi + 0x30]
fsub dword [0x478170]
mov ecx, 0x259
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
fstp dword [edi + 0x30]
mov dword [esp + 0x38], 0
fld dword [edi + 0x34]
mov dword [esp + 0x34], 0
fadd dword [0x47816c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
fstp dword [edi + 0x34]
mov dword [esp + 0x20], 0
fld dword [edi + 0x38]
mov dword [esp + 0x1c], 0
fsub dword [0x478168]
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x3c], 0x3f800000
fstp dword [edi + 0x38]
mov eax, dword [esi + 0xa8]
sub ecx, eax
cmp eax, 0x21c
mov dword [esp + 0x58], ecx
fild dword [esp + 0x58]
mov dword [esp + 0x28], 0x3f800000
mov dword [esp + 0x14], 0x3f800000
fmul dword [esi + 0xac]
fadd dword [esi + 0xa0]
fst dword [esp + 0x10]
fstp dword [esi + 0xa0]
jge 0x4089cb
add eax, 0xffffff38
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fld dword [0x4780ec]
fsub dword [0x4780f0]
fmul dword [0x478164]
fmul st(1)
fsubr dword [0x4780ec]
fstp dword [esp + 0x48]
fld dword [0x4780fc]
fsub dword [0x478100]
fmul dword [0x478164]
fmul st(1)
fsubr dword [0x4780fc]
jmp 0x408a10
add eax, 0xfffffde4
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fld dword [0x4780f0]
fsub dword [0x4780f4]
fmul dword [0x478160]
fmul st(1)
fsubr dword [0x4780f0]
fstp dword [esp + 0x48]
fld dword [0x478100]
fsub dword [0x478104]
fmul dword [0x478160]
fmul st(1)
fsubr dword [0x478100]
mov edx, dword [esp + 0x10]
fstp dword [esp + 0x4c]
mov edi, dword [esp + 0x5c]
push edx
fstp st(0)
push edi
call fcn.004294ea
push edi
lea eax, [esp + 0x18]
push eax
push edi
call fcn.00428a79
fld dword [edi + 0x30]
fsub dword [0x478170]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
xor edx, edx
fstp dword [edi + 0x30]
fld dword [edi + 0x34]
fadd dword [0x47816c]
fstp dword [edi + 0x34]
fld dword [edi + 0x38]
fsub dword [0x478168]
fstp dword [edi + 0x38]
mov dword [ecx], 1
cmp dword [esi + 0xa8], 0xc9
sete dl
pop edi
mov dword [eax], edx
inc dword [esi + 0xa8]
pop esi
add esp, 0x4c
ret 0x10
cmp eax, 0x258
jle 0x408e03
cmp eax, 0x286
jg 0x408e0e
cmp dword [esi + 0xa4], 2
mov dword [esp + 8], 0
jne 0x408ae9
lea ecx, [eax - 0x258]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fld dword [0x4780f4]
fsub dword [0x4780f8]
fmul dword [0x47815c]
fmul st(1)
fsubr dword [0x4780f4]
fstp dword [esp + 0x10]
fld dword [0x478104]
fsub dword [0x478108]
fmul dword [0x47815c]
jmp 0x408b27
lea edx, [eax - 0x258]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fld dword [0x4780f4]
fsub dword [0x4780f8]
fmul dword [0x478158]
fmul st(1)
fsubr dword [0x4780f4]
fstp dword [esp + 0x10]
fld dword [0x478104]
fsub dword [0x478108]
fmul dword [0x478158]
mov ecx, dword [esp + 0x64]
xor edx, edx
cmp eax, 0x259
setne dl
fmul st(1)
fsubr dword [0x478104]
dec edx
fstp dword [esp + 0xc]
and edx, 2
mov dword [ecx], edx
fstp st(0)
mov eax, dword [esi + 0xa8]
cmp eax, 0x26f
jg 0x408bba
jne 0x408b5e
mov dword [ecx], 2
fld dword [esi + 0xa0]
mov eax, dword [esi + 0xa8]
fadd dword [0x478154]
lea ecx, [eax - 0x258]
mov dword [esp + 0x64], ecx
add eax, 0xfffffda9
fstp dword [esi + 0xa0]
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
fld dword [0x4780e8]
fmul dword [0x478150]
fmul st(1)
fild dword [esp + 0x64]
fmul st(2)
fmul dword [0x4780e8]
fmul dword [0x477f48]
fsubp st(1)
fstp dword [esp + 8]
fstp st(0)
jmp 0x408cbb
cmp eax, 0x27b
jg 0x408c25
jne 0x408bc9
mov dword [ecx], 2
fld dword [esi + 0xa0]
mov eax, dword [esi + 0xa8]
fadd dword [0x47814c]
lea edx, [eax - 0x26f]
mov dword [esp + 0x64], edx
add eax, 0xfffffd92
fstp dword [esi + 0xa0]
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
fld dword [0x4780e8]
fmul dword [0x478148]
fmul st(1)
fild dword [esp + 0x64]
fmul st(2)
fmul dword [0x4780e8]
fmul dword [0x477f48]
fsubp st(1)
fstp dword [esp + 8]
fstp st(0)
jmp 0x408cbb
cmp eax, 0x286
jg 0x408cbb
cmp dword [esi + 0xa4], 3
jne 0x408c9f
cmp eax, 0x286
jne 0x408c46
mov dword [ecx], 2
fld dword [esi + 0xa0]
mov eax, dword [esi + 0xa8]
fadd dword [0x478144]
lea ecx, [eax - 0x27b]
mov dword [esp + 0x64], ecx
add eax, 0xfffffd86
fstp dword [esi + 0xa0]
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
fld dword [0x4780e8]
fmul dword [0x478140]
fmul st(1)
fild dword [esp + 0x64]
fmul st(2)
fmul dword [0x4780e8]
fmul dword [0x477f48]
fsubp st(1)
fstp dword [esp + 8]
fstp st(0)
jmp 0x408cbb
fld dword [esi + 0xa0]
mov dword [esi + 0xa8], 0x286
fadd dword [0x47814c]
fstp dword [esi + 0xa0]
fld dword [esi + 0x9c]
fadd dword [0x47813c]
fcom dword [0x478024]
fst dword [esi + 0x9c]
fnstsw ax
test ah, 0x41
jne 0x408ce8
fsub dword [0x478024]
fstp dword [esi + 0x9c]
jmp 0x408cea
fstp st(0)
mov edx, dword [esi + 0x9c]
mov edi, dword [esp + 0x58]
push edx
push edi
call fcn.004294ea
fld dword [edi + 0x30]
fsub dword [0x478170]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
fstp dword [edi + 0x30]
mov dword [esp + 0x38], 0
fld dword [edi + 0x34]
mov dword [esp + 0x34], 0
fadd dword [0x47816c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
fstp dword [edi + 0x34]
mov dword [esp + 0x20], 0
fld dword [edi + 0x38]
mov dword [esp + 0x1c], 0
fsub dword [0x478168]
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x3c], 0x3f800000
fstp dword [edi + 0x38]
mov ecx, dword [esi + 0xa0]
fld dword [esp + 0x10]
mov edi, dword [esp + 0x5c]
fadd dword [esp + 8]
push ecx
push edi
mov dword [esp + 0x30], 0x3f800000
fstp dword [esp + 0x50]
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x54], eax
call fcn.004294ea
push edi
lea edx, [esp + 0x18]
push edx
push edi
call fcn.00428a79
fld dword [edi + 0x30]
fsub dword [0x478170]
mov eax, dword [esp + 0x60]
fstp dword [edi + 0x30]
fld dword [edi + 0x34]
fadd dword [0x47816c]
fstp dword [edi + 0x34]
fld dword [edi + 0x38]
fsub dword [0x478168]
fstp dword [edi + 0x38]
mov dword [eax], 1
mov eax, dword [esi + 0xa8]
inc eax
pop edi
mov dword [esi + 0xa8], eax
pop esi
add esp, 0x4c
ret 0x10
cmp eax, 0x286
jle 0x4090a6
cmp eax, 0x4b0
jg 0x4090a6
add eax, 0xfffffd7a
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [0x478138]
fsubr dword [0x47813c]
fld st(0)
fadd dword [esi + 0x9c]
fcom dword [0x478024]
fst dword [esi + 0x9c]
fnstsw ax
test ah, 0x41
jne 0x408e5b
fsub dword [0x478024]
fstp dword [esi + 0x9c]
jmp 0x408e5d
fstp st(0)
mov ecx, dword [esi + 0x9c]
fadd dword [esi + 0xa0]
mov edi, dword [esp + 0x58]
push ecx
push edi
fstp dword [esi + 0xa0]
call fcn.004294ea
fld dword [edi + 0x30]
fsub dword [0x478170]
mov edx, dword [0x4780f8]
mov eax, dword [0x478108]
mov dword [esp + 0x44], 0
fstp dword [edi + 0x30]
mov dword [esp + 0x40], 0
fld dword [edi + 0x34]
mov dword [esp + 0x38], 0
fadd dword [0x47816c]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
fstp dword [edi + 0x34]
mov dword [esp + 0x24], 0
fld dword [edi + 0x38]
mov dword [esp + 0x20], 0
fsub dword [0x478168]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], 0x3f800000
fstp dword [edi + 0x38]
mov ecx, dword [esi + 0xa0]
mov edi, dword [esp + 0x5c]
push ecx
push edi
mov dword [esp + 0x44], 0x3f800000
mov dword [esp + 0x30], 0x3f800000
mov dword [esp + 0x1c], 0x3f800000
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
call fcn.004294ea
push edi
lea edx, [esp + 0x18]
push edx
push edi
call fcn.00428a79
fld dword [edi + 0x30]
fsub dword [0x478170]
mov ecx, dword [esp + 0x64]
xor eax, eax
fstp dword [edi + 0x30]
fld dword [edi + 0x34]
fadd dword [0x47816c]
fstp dword [edi + 0x34]
fld dword [edi + 0x38]
fsub dword [0x478168]
fstp dword [edi + 0x38]
mov edi, dword [esi + 0xa8]
cmp edi, 0x4b0
setne al
dec eax
and eax, 3
mov dword [ecx], eax
cmp dword [esi + 0xa8], 0x311
jne 0x408fa5
mov eax, dword [esi]
push 0x3d4ccccd
push 0x14
push 5
push 0x1e
lea edx, [eax + 0xc0]
push edx
lea ecx, [eax + 0x30]
call fcn.00416630
cmp dword [esi + 0xa8], 0x2a8
jne 0x408fc7
mov eax, dword [esi + 0x98]
mov ecx, dword [esi]
push eax
push 0xf
add ecx, 0x104
call fcn.00417350
cmp dword [esi + 0xa8], 0x30c
jne 0x40904e
mov eax, dword [esi + 0x98]
test eax, eax
je 0x40904e
cmp eax, 1
je 0x40903d
cmp eax, 3
je 0x40903d
cmp eax, 5
je 0x40903d
cmp eax, 7
je 0x40903d
cmp eax, 9
je 0x40903d
cmp eax, 0xc
je 0x40903d
cmp eax, 0xe
je 0x40903d
cmp eax, 0x10
je 0x40903d
cmp eax, 0x12
je 0x40903d
cmp eax, 0x13
je 0x40903d
cmp eax, 0x15
je 0x40903d
cmp eax, 0x17
je 0x40903d
cmp eax, 0x19
je 0x40903d
cmp eax, 0x1b
je 0x40903d
cmp eax, 0x1e
je 0x40903d
cmp eax, 0x20
je 0x40903d
cmp eax, 0x22
je 0x40903d
cmp eax, 0x24
je 0x40903d
push 0
push 9
jmp 0x409041
push 0
push 0xa
mov ecx, dword [esi]
add ecx, 0x104
call fcn.00417350
cmp dword [esi + 0xa8], 0x352
jne 0x409087
mov eax, dword [esi + 0x98]
test eax, eax
je 0x409087
and eax, reloc.WSOCK32.dll_accept
jns 0x409070
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [esi]
push 0
jne 0x40907a
push 0xb
jmp 0x40907c
push 0xc
add ecx, 0x104
call fcn.00417350
mov ecx, dword [esp + 0x60]
mov dword [ecx], 1
mov eax, dword [esi + 0xa8]
inc eax
pop edi
mov dword [esi + 0xa8], eax
pop esi
add esp, 0x4c
ret 0x10
mov edx, dword [esi + 0x9c]
mov esi, dword [esp + 0x58]
push edx
push esi
call fcn.004294ea
fld dword [esi + 0x30]
fsub dword [0x478170]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
pop edi
fstp dword [esi + 0x30]
fld dword [esi + 0x34]
fadd dword [0x47816c]
fstp dword [esi + 0x34]
fld dword [esi + 0x38]
fsub dword [0x478168]
fstp dword [esi + 0x38]
mov dword [eax], 0
mov dword [ecx], 0
pop esi
add esp, 0x4c
ret 0x10