Function at 0x587070
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov ebx, eax
mov edx, dword [ebx + 0xa8]
mov eax, esi
call fcn.00574f48
cmp byte [ebp + 0xc], 0
je 0x587189
mov eax, dword [ebp - 4]
add dword [ebx], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 4], eax
mov eax, dword [ebp + 0x14]
add dword [ebx + 8], eax
mov eax, dword [ebp + 0x10]
add dword [ebx + 0xc], eax
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
mov edx, dword [ebx + 0xf8]
sub edx, dword [ebx + 0xf0]
imul edx
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
fstp qword [ebp - 0x10]
wait
mov eax, dword [ebx + 0xf4]
sub eax, dword [ebx + 0xec]
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
fstp qword [ebp - 0x18]
wait
fld qword [ebp - 0x10]
fcomp dword [0x588064]
fnstsw ax
sahf
je 0x588058
fld qword [ebp - 0x18]
fcomp dword [0x588064]
fnstsw ax
sahf
je 0x588058
mov eax, dword [ebp + 8]
dec eax
je 0x587129
dec eax
je 0x587159
sub eax, 2
je 0x587141
dec eax
je 0x587171
jmp 0x588058
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 0xc]
fsubrp st(1)
call fcn.00403004
mov dword [ebx + 4], eax
jmp 0x588058
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 0xc]
fsubrp st(1)
call fcn.00403004
mov dword [ebx + 4], eax
jmp 0x588058
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 4]
faddp st(1)
call fcn.00403004
mov dword [ebx + 0xc], eax
jmp 0x588058
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 4]
faddp st(1)
call fcn.00403004
mov dword [ebx + 0xc], eax
jmp 0x588058
cmp byte [ebx + 0x10], 0xa
jne 0x587214
cmp dword [ebp + 8], 0xa
jne 0x587214
mov eax, dword [ebp - 4]
add dword [ebx + 0x114], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x118], eax
cmp byte [ebx + 0x19d], 0
jne 0x588058
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
mov eax, esi
call fcn.00581754
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 0x114]
push eax
mov eax, dword [ebx + 0x118]
push eax
mov ecx, dword [ebx]
mov dl, byte [ebx + 0x19d]
mov eax, esi
call fcn.00581194
test al, al
je 0x588058
cmp byte [ebx + 0x138], 0
je 0x588058
mov byte [ebx + 0x138], 0
jmp 0x588058
cmp byte [ebx + 0x10], 0xa
jne 0x5873fb
cmp dword [ebp + 8], 0xb
jne 0x5873fb
cmp byte [ebx + 0x19d], 0
jne 0x5873fb
mov eax, dword [ebx + 0x11c]
cmp eax, 1
je 0x587249
cmp eax, 2
jne 0x587312
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x587312
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00581244
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
mov edx, dword [ebp - 4]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x120]
wait
fld qword [ebx + 0x120]
fcomp dword [0x588064]
fnstsw ax
sahf
jae 0x5872c0
xor eax, eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
fld qword [ebx + 0x128]
fsub dword [0x58806c]
fcomp qword [ebx + 0x120]
fnstsw ax
sahf
jae 0x5872ea
fld qword [ebx + 0x128]
fsub dword [0x58806c]
fstp qword [ebx + 0x120]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00581244
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
je 0x587312
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x11c]
cmp eax, 3
je 0x587326
cmp eax, 4
jne 0x588058
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x588058
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00581244
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
mov edx, dword [ebp + 0x18]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x120]
wait
fld qword [ebx + 0x120]
fcomp dword [0x588064]
fnstsw ax
sahf
jae 0x5873a0
xor eax, eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
fld qword [ebx + 0x128]
fsub dword [0x58806c]
fcomp qword [ebx + 0x120]
fnstsw ax
sahf
jae 0x5873ca
fld qword [ebx + 0x128]
fsub dword [0x58806c]
fstp qword [ebx + 0x120]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00581244
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x50]
je 0x588058
mov byte [ebx + 0x138], 1
jmp 0x588058
cmp byte [ebx + 0x10], 0xa
jne 0x5875f8
cmp dword [ebp + 8], 0xc
jne 0x5875f8
cmp byte [ebx + 0x19d], 0
jne 0x5875f8
mov eax, dword [ebx + 0x11c]
cmp eax, 1
je 0x587430
cmp eax, 2
jne 0x5874fd
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x5874fd
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00581244
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
mov edx, dword [ebp - 4]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x120]
fadd dword [0x58806c]
fcomp qword [ebx + 0x128]
fnstsw ax
sahf
jbe 0x5874b2
fld qword [ebx + 0x120]
fadd dword [0x58806c]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x128]
fcomp dword [0x588068]
fnstsw ax
sahf
jbe 0x5874d5
xor eax, eax
mov dword [ebx + 0x128], eax
mov dword [ebx + 0x12c], 0x40590000
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00581244
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5c]
je 0x5874fd
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x11c]
cmp eax, 3
je 0x587511
cmp eax, 4
jne 0x5875e1
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x5875e1
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00581244
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
mov edx, dword [ebp + 0x18]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x120]
fadd dword [0x58806c]
fcomp qword [ebx + 0x128]
fnstsw ax
sahf
jbe 0x587596
fld qword [ebx + 0x120]
fadd dword [0x58806c]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x128]
fcomp dword [0x588068]
fnstsw ax
sahf
jbe 0x5875b9
xor eax, eax
mov dword [ebx + 0x128], eax
mov dword [ebx + 0x12c], 0x40590000
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00581244
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
je 0x5875e1
mov byte [ebx + 0x138], 1
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
mov eax, esi
call fcn.00581754
jmp 0x588058
cmp byte [ebx + 0x10], 0xa
jne 0x587683
cmp dword [ebp + 8], 0xd
jne 0x587683
mov eax, dword [ebp - 4]
add dword [ebx + 0x13c], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x140], eax
cmp byte [ebx + 0x19d], 0
jne 0x588058
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
mov eax, esi
call fcn.00582510
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 0x13c]
push eax
mov eax, dword [ebx + 0x140]
push eax
mov ecx, dword [ebx]
mov dl, byte [ebx + 0x19d]
mov eax, esi
call fcn.00581194
test al, al
je 0x588058
cmp byte [ebx + 0x158], 0
je 0x588058
mov byte [ebx + 0x158], 0
jmp 0x588058
cmp byte [ebx + 0x10], 0xa
jne 0x58786a
cmp dword [ebp + 8], 0xe
jne 0x58786a
cmp byte [ebx + 0x19d], 0
jne 0x58786a
mov eax, dword [ebx + 0x144]
cmp eax, 1
je 0x5876b8
cmp eax, 2
jne 0x587781
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x587781
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005814cc
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
mov edx, dword [ebp - 4]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x148]
wait
fld qword [ebx + 0x148]
fcomp dword [0x588064]
fnstsw ax
sahf
jae 0x58772f
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
fld qword [ebx + 0x150]
fsub dword [0x58806c]
fcomp qword [ebx + 0x148]
fnstsw ax
sahf
jae 0x587759
fld qword [ebx + 0x150]
fsub dword [0x58806c]
fstp qword [ebx + 0x148]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005814cc
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
je 0x587781
mov byte [ebx + 0x158], 1
mov eax, dword [ebx + 0x144]
cmp eax, 3
je 0x587795
cmp eax, 4
jne 0x588058
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x588058
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005814cc
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
mov edx, dword [ebp + 0x18]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x148]
wait
fld qword [ebx + 0x148]
fcomp dword [0x588064]
fnstsw ax
sahf
jae 0x58780f
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
fld qword [ebx + 0x150]
fsub dword [0x58806c]
fcomp qword [ebx + 0x148]
fnstsw ax
sahf
jae 0x587839
fld qword [ebx + 0x150]
fsub dword [0x58806c]
fstp qword [ebx + 0x148]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005814cc
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x50]
je 0x588058
mov byte [ebx + 0x158], 1
jmp 0x588058
cmp byte [ebx + 0x10], 0xa
jne 0x587a67
cmp dword [ebp + 8], 0xf
jne 0x587a67
cmp byte [ebx + 0x19d], 0
jne 0x587a67
mov eax, dword [ebx + 0x144]
cmp eax, 1
je 0x58789f
cmp eax, 2
jne 0x58796c
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x58796c
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005814cc
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
mov edx, dword [ebp - 4]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x148]
fadd dword [0x58806c]
fcomp qword [ebx + 0x150]
fnstsw ax
sahf
jbe 0x587921
fld qword [ebx + 0x148]
fadd dword [0x58806c]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x150]
fcomp dword [0x588068]
fnstsw ax
sahf
jbe 0x587944
xor eax, eax
mov dword [ebx + 0x150], eax
mov dword [ebx + 0x154], 0x40590000
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005814cc
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5c]
je 0x58796c
mov byte [ebx + 0x158], 1
mov eax, dword [ebx + 0x144]
cmp eax, 3
je 0x587980
cmp eax, 4
jne 0x587a50
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x587a50
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005814cc
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
mov edx, dword [ebp + 0x18]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fdivp st(1)
fmul dword [0x588068]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x148]
fadd dword [0x58806c]
fcomp qword [ebx + 0x150]
fnstsw ax
sahf
jbe 0x587a05
fld qword [ebx + 0x148]
fadd dword [0x58806c]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x150]
fcomp dword [0x588068]
fnstsw ax
sahf
jbe 0x587a28
xor eax, eax
mov dword [ebx + 0x150], eax
mov dword [ebx + 0x154], 0x40590000
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005814cc
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
je 0x587a50
mov byte [ebx + 0x158], 1
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
mov eax, esi
call fcn.00582510
jmp 0x588058
cmp byte [ebx + 0x10], 1
jne 0x587aca
cmp dword [ebp + 8], 0x10
jne 0x587aca
cmp byte [ebx + 0x164], 0
jne 0x587aac
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00588078
mov eax, dword [ebp - 0x44]
sub eax, dword [ebx]
mov dword [ebx + 0x15c], eax
mov eax, dword [ebp - 0x40]
sub eax, dword [ebx + 4]
mov dword [ebx + 0x160], eax
mov eax, dword [ebp - 4]
add dword [ebx + 0x15c], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x160], eax
mov byte [ebx + 0x164], 1
jmp 0x588058
cmp byte [ebx + 0x10], 1
jne 0x587b2d
cmp dword [ebp + 8], 0x11
jne 0x587b2d
cmp byte [ebx + 0x170], 0
jne 0x587b0f
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00588078
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebx]
mov dword [ebx + 0x168], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebx + 4]
mov dword [ebx + 0x16c], eax
mov eax, dword [ebp - 4]
add dword [ebx + 0x168], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x16c], eax
mov byte [ebx + 0x170], 1
jmp 0x588058
cmp byte [ebx + 0x10], 3
jne 0x587b50
cmp dword [ebp + 8], 0x12
jne 0x587b50
mov eax, dword [ebp - 4]
add dword [ebx + 0x114], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x118], eax
jmp 0x588058
cmp byte [ebx + 0x10], 3
jne 0x587caf
cmp dword [ebp + 8], 0x13
jne 0x587caf
mov eax, dword [ebx]
add eax, dword [ebx + 8]
sar eax, 1
jns 0x587b70
adc eax, 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 4]
add eax, dword [ebx + 0xc]
sar eax, 1
jns 0x587b80
adc eax, 0
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x118]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebx + 0x114]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
call fcn.00586ea4
fstp qword [ebp - 0x20]
wait
cmp dword [ebp - 0x3c], 1
jne 0x587bc8
xor eax, eax
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], 0x40590000
jmp 0x588058
cmp dword [ebp - 0x3c], 2
jne 0x587be1
xor eax, eax
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], eax
jmp 0x588058
cmp dword [ebp - 0x3c], 0
jne 0x588058
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
call fcn.0062e28c
fstp qword [ebp - 0x28]
wait
mov eax, dword [ebx + 0x118]
push eax
mov ecx, dword [ebx + 0x114]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
call fcn.0062e28c
fstp qword [ebp - 0x30]
wait
fld qword [ebp - 0x28]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x588058
fld qword [ebp - 0x30]
fcomp dword [0x588064]
fnstsw ax
sahf
jbe 0x588058
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fsubp st(1)
fsqrt
fstp qword [ebp - 0x20]
wait
fld qword [ebp - 0x20]
fcomp dword [0x588064]
fnstsw ax
sahf
jb 0x588058
fld qword [ebp - 0x30]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x588058
push 0
push 0
push 0
push 0x64
fld qword [ebp - 0x20]
fdiv qword [ebp - 0x30]
fmul dword [0x588068]
call fcn.00403004
push edx
push eax
call fcn.00432728
push edx
push eax
call fcn.00432814
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
fild qword [ebp - 0x6c]
fstp qword [ebx + 0x130]
wait
jmp 0x588058
cmp byte [ebx + 0x10], 2
jne 0x587e0b
cmp byte [ebx + 0x41], 0
je 0x587e0b
cmp dword [ebp + 8], 0x15
jne 0x587e0b
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
push eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccf4
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.005dccfc
pop edx
call fcn.005dccf4
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
push eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccf4
mov edx, eax
mov eax, dword [ebp + 0x18]
call fcn.005dccfc
pop edx
call fcn.005dccf4
mov dword [ebp - 0x38], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
mov edx, dword [ebp - 0x34]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
fstp xword [ebp - 0x78]
wait
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
mov edx, eax
mov eax, 1
call fcn.005dccf4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x588070]
call fcn.00403004
mov dword [ebx + 0x114], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
mov edx, dword [ebp - 0x38]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
fstp xword [ebp - 0x78]
wait
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, eax
mov eax, 1
call fcn.005dccf4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x588070]
call fcn.00403004
mov dword [ebx + 0x118], eax
mov edx, dword [ebx + 0x140]
xor eax, eax
call fcn.005dccf4
mov edx, 0x2710
call fcn.005dccfc
mov dword [ebx + 0x140], eax
mov edx, dword [ebx + 0x118]
xor eax, eax
call fcn.005dccf4
mov edx, dword [ebx + 0x140]
call fcn.005dccfc
mov dword [ebx + 0x118], eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.00588284
jmp 0x588058
cmp byte [ebx + 0x10], 2
jne 0x587f2c
cmp byte [ebx + 0x41], 0
je 0x587f2c
cmp dword [ebp + 8], 0x16
jne 0x587f2c
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
push eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccf4
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.005dccfc
pop edx
call fcn.005dccf4
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
push eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccf4
mov edx, eax
mov eax, dword [ebp + 0x18]
call fcn.005dccfc
pop edx
call fcn.005dccf4
mov dword [ebp - 0x38], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005dccfc
mov edx, dword [ebp - 0x34]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
fstp xword [ebp - 0x78]
wait
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cdq
xor eax, edx
sub eax, edx
mov edx, eax
mov eax, 1
call fcn.005dccf4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x588070]
call fcn.00403004
mov dword [ebx + 0x13c], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005dccfc
mov edx, dword [ebp - 0x38]
sub edx, eax
mov dword [ebp - 0x60], edx
fild dword [ebp - 0x60]
fstp xword [ebp - 0x78]
wait
mov eax, dword [ebx + 0xc]
sub eax, dword [ebx + 4]
cdq
xor eax, edx
sub eax, edx
mov edx, eax
mov eax, 1
call fcn.005dccf4
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x588070]
call fcn.00403004
mov dword [ebx + 0x140], eax
mov edx, edi
mov eax, esi
call fcn.00578500
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.00588284
jmp 0x588058
cmp dword [ebp + 8], 0xa
jge 0x588058
cmp byte [ebx + 0x10], 1
jne 0x588035
cmp byte [ebx + 0x164], 0
jne 0x587f56
cmp byte [ebx + 0x170], 0
je 0x588035
cmp dword [ebx + 0x198], 0x64
je 0x588035
cmp dword [ebx + 0x198], 0xc8
je 0x588035
mov eax, dword [esi + 0x690]
add eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [esi + 0x68c]
add ecx, dword [ebp + 0x14]
mov edx, dword [esi + 0x688]
add edx, dword [ebp + 0x18]
mov eax, dword [esi + 0x684]
add eax, dword [ebp - 4]
call fcn.0041d234
push esi
push edi
lea edi, [esi + 0x684]
lea esi, [ebp - 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
fld dword [0x588074]
fmul qword [esi + 0x5d0]
call fcn.00403004
mov ecx, eax
mov eax, dword [esi + 0x684]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x588007
mov eax, dword [esi + 0x688]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x588007
mov eax, dword [esi + 0x68c]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x588007
mov eax, dword [esi + 0x690]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x588035
mov byte [ebx + 0x164], 0
mov byte [ebx + 0x170], 0
xor eax, eax
mov dword [ebx + 0x15c], eax
xor eax, eax
mov dword [ebx + 0x160], eax
xor eax, eax
mov dword [ebx + 0x168], eax
xor eax, eax
mov dword [ebx + 0x16c], eax
mov eax, dword [ebx + 4]
add eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebx + 8]
add eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebx + 0xc]
add eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebx]
add ecx, dword [ebp - 4]
mov edx, edi
mov eax, esi
call fcn.005862b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14