Function at 0x58efe4
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.00580474
mov ebx, eax
mov edx, dword [ebx + 0xa8]
mov eax, esi
call fcn.0057cebc
cmp byte [ebp + 0xc], 0
je 0x58f0fd
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 [0x58ffd8]
fnstsw ax
sahf
je 0x58ffcc
fld qword [ebp - 0x18]
fcomp dword [0x58ffd8]
fnstsw ax
sahf
je 0x58ffcc
mov eax, dword [ebp + 8]
dec eax
je 0x58f09d
dec eax
je 0x58f0cd
sub eax, 2
je 0x58f0b5
dec eax
je 0x58f0e5
jmp 0x58ffcc
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 0xc]
fsubrp st(1)
call fcn.00402f7c
mov dword [ebx + 4], eax
jmp 0x58ffcc
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 0xc]
fsubrp st(1)
call fcn.00402f7c
mov dword [ebx + 4], eax
jmp 0x58ffcc
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 4]
faddp st(1)
call fcn.00402f7c
mov dword [ebx + 0xc], eax
jmp 0x58ffcc
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 4]
faddp st(1)
call fcn.00402f7c
mov dword [ebx + 0xc], eax
jmp 0x58ffcc
cmp byte [ebx + 0x10], 0xa
jne 0x58f188
cmp dword [ebp + 8], 0xa
jne 0x58f188
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 0x58ffcc
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
mov eax, esi
call fcn.005896c8
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.00589108
test al, al
je 0x58ffcc
cmp byte [ebx + 0x138], 0
je 0x58ffcc
mov byte [ebx + 0x138], 0
jmp 0x58ffcc
cmp byte [ebx + 0x10], 0xa
jne 0x58f36f
cmp dword [ebp + 8], 0xb
jne 0x58f36f
cmp byte [ebx + 0x19d], 0
jne 0x58f36f
mov eax, dword [ebx + 0x11c]
cmp eax, 1
je 0x58f1bd
cmp eax, 2
jne 0x58f286
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x58f286
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005891b8
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x120]
wait
fld qword [ebx + 0x120]
fcomp dword [0x58ffd8]
fnstsw ax
sahf
jae 0x58f234
xor eax, eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
fld qword [ebx + 0x128]
fsub dword [0x58ffe0]
fcomp qword [ebx + 0x120]
fnstsw ax
sahf
jae 0x58f25e
fld qword [ebx + 0x128]
fsub dword [0x58ffe0]
fstp qword [ebx + 0x120]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005891b8
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
je 0x58f286
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x11c]
cmp eax, 3
je 0x58f29a
cmp eax, 4
jne 0x58ffcc
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x58ffcc
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005891b8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x120]
wait
fld qword [ebx + 0x120]
fcomp dword [0x58ffd8]
fnstsw ax
sahf
jae 0x58f314
xor eax, eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
fld qword [ebx + 0x128]
fsub dword [0x58ffe0]
fcomp qword [ebx + 0x120]
fnstsw ax
sahf
jae 0x58f33e
fld qword [ebx + 0x128]
fsub dword [0x58ffe0]
fstp qword [ebx + 0x120]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005891b8
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x50]
je 0x58ffcc
mov byte [ebx + 0x138], 1
jmp 0x58ffcc
cmp byte [ebx + 0x10], 0xa
jne 0x58f56c
cmp dword [ebp + 8], 0xc
jne 0x58f56c
cmp byte [ebx + 0x19d], 0
jne 0x58f56c
mov eax, dword [ebx + 0x11c]
cmp eax, 1
je 0x58f3a4
cmp eax, 2
jne 0x58f471
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x58f471
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005891b8
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x120]
fadd dword [0x58ffe0]
fcomp qword [ebx + 0x128]
fnstsw ax
sahf
jbe 0x58f426
fld qword [ebx + 0x120]
fadd dword [0x58ffe0]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x128]
fcomp dword [0x58ffdc]
fnstsw ax
sahf
jbe 0x58f449
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.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005891b8
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5c]
je 0x58f471
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x11c]
cmp eax, 3
je 0x58f485
cmp eax, 4
jne 0x58f555
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x58f555
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005891b8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x120]
fadd dword [0x58ffe0]
fcomp qword [ebx + 0x128]
fnstsw ax
sahf
jbe 0x58f50a
fld qword [ebx + 0x120]
fadd dword [0x58ffe0]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x128]
fcomp dword [0x58ffdc]
fnstsw ax
sahf
jbe 0x58f52d
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.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005891b8
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
je 0x58f555
mov byte [ebx + 0x138], 1
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
mov eax, esi
call fcn.005896c8
jmp 0x58ffcc
cmp byte [ebx + 0x10], 0xa
jne 0x58f5f7
cmp dword [ebp + 8], 0xd
jne 0x58f5f7
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 0x58ffcc
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
mov eax, esi
call fcn.0058a484
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.00589108
test al, al
je 0x58ffcc
cmp byte [ebx + 0x158], 0
je 0x58ffcc
mov byte [ebx + 0x158], 0
jmp 0x58ffcc
cmp byte [ebx + 0x10], 0xa
jne 0x58f7de
cmp dword [ebp + 8], 0xe
jne 0x58f7de
cmp byte [ebx + 0x19d], 0
jne 0x58f7de
mov eax, dword [ebx + 0x144]
cmp eax, 1
je 0x58f62c
cmp eax, 2
jne 0x58f6f5
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x58f6f5
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00589440
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x148]
wait
fld qword [ebx + 0x148]
fcomp dword [0x58ffd8]
fnstsw ax
sahf
jae 0x58f6a3
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
fld qword [ebx + 0x150]
fsub dword [0x58ffe0]
fcomp qword [ebx + 0x148]
fnstsw ax
sahf
jae 0x58f6cd
fld qword [ebx + 0x150]
fsub dword [0x58ffe0]
fstp qword [ebx + 0x148]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00589440
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
je 0x58f6f5
mov byte [ebx + 0x158], 1
mov eax, dword [ebx + 0x144]
cmp eax, 3
je 0x58f709
cmp eax, 4
jne 0x58ffcc
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x58ffcc
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00589440
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x148]
wait
fld qword [ebx + 0x148]
fcomp dword [0x58ffd8]
fnstsw ax
sahf
jae 0x58f783
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
fld qword [ebx + 0x150]
fsub dword [0x58ffe0]
fcomp qword [ebx + 0x148]
fnstsw ax
sahf
jae 0x58f7ad
fld qword [ebx + 0x150]
fsub dword [0x58ffe0]
fstp qword [ebx + 0x148]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00589440
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x50]
je 0x58ffcc
mov byte [ebx + 0x158], 1
jmp 0x58ffcc
cmp byte [ebx + 0x10], 0xa
jne 0x58f9db
cmp dword [ebp + 8], 0xf
jne 0x58f9db
cmp byte [ebx + 0x19d], 0
jne 0x58f9db
mov eax, dword [ebx + 0x144]
cmp eax, 1
je 0x58f813
cmp eax, 2
jne 0x58f8e0
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x58f8e0
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00589440
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x148]
fadd dword [0x58ffe0]
fcomp qword [ebx + 0x150]
fnstsw ax
sahf
jbe 0x58f895
fld qword [ebx + 0x148]
fadd dword [0x58ffe0]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x150]
fcomp dword [0x58ffdc]
fnstsw ax
sahf
jbe 0x58f8b8
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.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00589440
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5c]
je 0x58f8e0
mov byte [ebx + 0x158], 1
mov eax, dword [ebx + 0x144]
cmp eax, 3
je 0x58f8f4
cmp eax, 4
jne 0x58f9c4
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x58f9c4
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00589440
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
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 [0x58ffdc]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x148]
fadd dword [0x58ffe0]
fcomp qword [ebx + 0x150]
fnstsw ax
sahf
jbe 0x58f979
fld qword [ebx + 0x148]
fadd dword [0x58ffe0]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x150]
fcomp dword [0x58ffdc]
fnstsw ax
sahf
jbe 0x58f99c
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.00580474
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00589440
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
je 0x58f9c4
mov byte [ebx + 0x158], 1
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
mov eax, esi
call fcn.0058a484
jmp 0x58ffcc
cmp byte [ebx + 0x10], 1
jne 0x58fa3e
cmp dword [ebp + 8], 0x10
jne 0x58fa3e
cmp byte [ebx + 0x164], 0
jne 0x58fa20
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.0058ffec
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 0x58ffcc
cmp byte [ebx + 0x10], 1
jne 0x58faa1
cmp dword [ebp + 8], 0x11
jne 0x58faa1
cmp byte [ebx + 0x170], 0
jne 0x58fa83
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.0058ffec
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 0x58ffcc
cmp byte [ebx + 0x10], 3
jne 0x58fac4
cmp dword [ebp + 8], 0x12
jne 0x58fac4
mov eax, dword [ebp - 4]
add dword [ebx + 0x114], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x118], eax
jmp 0x58ffcc
cmp byte [ebx + 0x10], 3
jne 0x58fc23
cmp dword [ebp + 8], 0x13
jne 0x58fc23
mov eax, dword [ebx]
add eax, dword [ebx + 8]
sar eax, 1
jns 0x58fae4
adc eax, 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 4]
add eax, dword [ebx + 0xc]
sar eax, 1
jns 0x58faf4
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.0058ee18
fstp qword [ebp - 0x20]
wait
cmp dword [ebp - 0x3c], 1
jne 0x58fb3c
xor eax, eax
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], 0x40590000
jmp 0x58ffcc
cmp dword [ebp - 0x3c], 2
jne 0x58fb55
xor eax, eax
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], eax
jmp 0x58ffcc
cmp dword [ebp - 0x3c], 0
jne 0x58ffcc
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
call fcn.006401c4
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.006401c4
fstp qword [ebp - 0x30]
wait
fld qword [ebp - 0x28]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x58ffcc
fld qword [ebp - 0x30]
fcomp dword [0x58ffd8]
fnstsw ax
sahf
jbe 0x58ffcc
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 [0x58ffd8]
fnstsw ax
sahf
jb 0x58ffcc
fld qword [ebp - 0x30]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x58ffcc
push 0
push 0
push 0
push 0x64
fld qword [ebp - 0x20]
fdiv qword [ebp - 0x30]
fmul dword [0x58ffdc]
call fcn.00402f7c
push edx
push eax
call fcn.00432618
push edx
push eax
call fcn.00432704
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
fild qword [ebp - 0x6c]
fstp qword [ebx + 0x130]
wait
jmp 0x58ffcc
cmp byte [ebx + 0x10], 2
jne 0x58fd7f
cmp byte [ebx + 0x41], 0
je 0x58fd7f
cmp dword [ebp + 8], 0x15
jne 0x58fd7f
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
push eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.005eaf8c
pop edx
call fcn.005eaf84
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
push eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp + 0x18]
call fcn.005eaf8c
pop edx
call fcn.005eaf84
mov dword [ebp - 0x38], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
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.005eaf84
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x58ffe4]
call fcn.00402f7c
mov dword [ebx + 0x114], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
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.005eaf84
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x58ffe4]
call fcn.00402f7c
mov dword [ebx + 0x118], eax
mov edx, dword [ebx + 0x140]
xor eax, eax
call fcn.005eaf84
mov edx, 0x2710
call fcn.005eaf8c
mov dword [ebx + 0x140], eax
mov edx, dword [ebx + 0x118]
xor eax, eax
call fcn.005eaf84
mov edx, dword [ebx + 0x140]
call fcn.005eaf8c
mov dword [ebx + 0x118], eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.005901f8
jmp 0x58ffcc
cmp byte [ebx + 0x10], 2
jne 0x58fea0
cmp byte [ebx + 0x41], 0
je 0x58fea0
cmp dword [ebp + 8], 0x16
jne 0x58fea0
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
push eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.005eaf8c
pop edx
call fcn.005eaf84
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
push eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp + 0x18]
call fcn.005eaf8c
pop edx
call fcn.005eaf84
mov dword [ebp - 0x38], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005eaf8c
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.005eaf84
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x58ffe4]
call fcn.00402f7c
mov dword [ebx + 0x13c], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005eaf8c
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.005eaf84
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x58ffe4]
call fcn.00402f7c
mov dword [ebx + 0x140], eax
mov edx, edi
mov eax, esi
call fcn.00580474
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.005901f8
jmp 0x58ffcc
cmp dword [ebp + 8], 0xa
jge 0x58ffcc
cmp byte [ebx + 0x10], 1
jne 0x58ffa9
cmp byte [ebx + 0x164], 0
jne 0x58feca
cmp byte [ebx + 0x170], 0
je 0x58ffa9
cmp dword [ebx + 0x198], 0x64
je 0x58ffa9
cmp dword [ebx + 0x198], 0xc8
je 0x58ffa9
mov eax, dword [esi + 0x6a0]
add eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [esi + 0x69c]
add ecx, dword [ebp + 0x14]
mov edx, dword [esi + 0x698]
add edx, dword [ebp + 0x18]
mov eax, dword [esi + 0x694]
add eax, dword [ebp - 4]
call fcn.0041d124
push esi
push edi
lea edi, [esi + 0x694]
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 [0x58ffe8]
fmul qword [esi + 0x5d8]
call fcn.00402f7c
mov ecx, eax
mov eax, dword [esi + 0x694]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x58ff7b
mov eax, dword [esi + 0x698]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x58ff7b
mov eax, dword [esi + 0x69c]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x58ff7b
mov eax, dword [esi + 0x6a0]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x58ffa9
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.0058e224
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14