Function at 0x54ee30
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.005402a4
mov ebx, eax
mov edx, dword [ebx + 0xa8]
mov eax, esi
call fcn.0053d5b0
cmp byte [ebp + 0xc], 0
je 0x54ef49
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 [0x54fe24]
fnstsw ax
sahf
je 0x54fe18
fld qword [ebp - 0x18]
fcomp dword [0x54fe24]
fnstsw ax
sahf
je 0x54fe18
mov eax, dword [ebp + 8]
dec eax
je 0x54eee9
dec eax
je 0x54ef19
sub eax, 2
je 0x54ef01
dec eax
je 0x54ef31
jmp 0x54fe18
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 0xc]
fsubrp st(1)
call fcn.00402ffc
mov dword [ebx + 4], eax
jmp 0x54fe18
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 0xc]
fsubrp st(1)
call fcn.00402ffc
mov dword [ebx + 4], eax
jmp 0x54fe18
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 4]
faddp st(1)
call fcn.00402ffc
mov dword [ebx + 0xc], eax
jmp 0x54fe18
fld qword [ebp - 0x10]
fdiv qword [ebp - 0x18]
fild dword [ebx + 4]
faddp st(1)
call fcn.00402ffc
mov dword [ebx + 0xc], eax
jmp 0x54fe18
cmp byte [ebx + 0x10], 0xa
jne 0x54efd4
cmp dword [ebp + 8], 0xa
jne 0x54efd4
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 0x54fe18
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
mov eax, esi
call fcn.00549370
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.00548db0
test al, al
je 0x54fe18
cmp byte [ebx + 0x138], 0
je 0x54fe18
mov byte [ebx + 0x138], 0
jmp 0x54fe18
cmp byte [ebx + 0x10], 0xa
jne 0x54f1bb
cmp dword [ebp + 8], 0xb
jne 0x54f1bb
cmp byte [ebx + 0x19d], 0
jne 0x54f1bb
mov eax, dword [ebx + 0x11c]
cmp eax, 1
je 0x54f009
cmp eax, 2
jne 0x54f0d2
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x54f0d2
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00548e60
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x120]
wait
fld qword [ebx + 0x120]
fcomp dword [0x54fe24]
fnstsw ax
sahf
jae 0x54f080
xor eax, eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
fld qword [ebx + 0x128]
fsub dword [0x54fe2c]
fcomp qword [ebx + 0x120]
fnstsw ax
sahf
jae 0x54f0aa
fld qword [ebx + 0x128]
fsub dword [0x54fe2c]
fstp qword [ebx + 0x120]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00548e60
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
je 0x54f0d2
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x11c]
cmp eax, 3
je 0x54f0e6
cmp eax, 4
jne 0x54fe18
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x54fe18
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00548e60
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x120]
wait
fld qword [ebx + 0x120]
fcomp dword [0x54fe24]
fnstsw ax
sahf
jae 0x54f160
xor eax, eax
mov dword [ebx + 0x120], eax
mov dword [ebx + 0x124], eax
fld qword [ebx + 0x128]
fsub dword [0x54fe2c]
fcomp qword [ebx + 0x120]
fnstsw ax
sahf
jae 0x54f18a
fld qword [ebx + 0x128]
fsub dword [0x54fe2c]
fstp qword [ebx + 0x120]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00548e60
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x50]
je 0x54fe18
mov byte [ebx + 0x138], 1
jmp 0x54fe18
cmp byte [ebx + 0x10], 0xa
jne 0x54f3b8
cmp dword [ebp + 8], 0xc
jne 0x54f3b8
cmp byte [ebx + 0x19d], 0
jne 0x54f3b8
mov eax, dword [ebx + 0x11c]
cmp eax, 1
je 0x54f1f0
cmp eax, 2
jne 0x54f2bd
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x54f2bd
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00548e60
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x120]
fadd dword [0x54fe2c]
fcomp qword [ebx + 0x128]
fnstsw ax
sahf
jbe 0x54f272
fld qword [ebx + 0x120]
fadd dword [0x54fe2c]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x128]
fcomp dword [0x54fe28]
fnstsw ax
sahf
jbe 0x54f295
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.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00548e60
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5c]
je 0x54f2bd
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x11c]
cmp eax, 3
je 0x54f2d1
cmp eax, 4
jne 0x54f3a1
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x54f3a1
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.00548e60
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x120]
fadd dword [0x54fe2c]
fcomp qword [ebx + 0x128]
fnstsw ax
sahf
jbe 0x54f356
fld qword [ebx + 0x120]
fadd dword [0x54fe2c]
fstp qword [ebx + 0x128]
wait
fld qword [ebx + 0x128]
fcomp dword [0x54fe28]
fnstsw ax
sahf
jbe 0x54f379
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.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.00548e60
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
je 0x54f3a1
mov byte [ebx + 0x138], 1
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
mov eax, esi
call fcn.00549370
jmp 0x54fe18
cmp byte [ebx + 0x10], 0xa
jne 0x54f443
cmp dword [ebp + 8], 0xd
jne 0x54f443
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 0x54fe18
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
mov eax, esi
call fcn.0054a12c
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.00548db0
test al, al
je 0x54fe18
cmp byte [ebx + 0x158], 0
je 0x54fe18
mov byte [ebx + 0x158], 0
jmp 0x54fe18
cmp byte [ebx + 0x10], 0xa
jne 0x54f62a
cmp dword [ebp + 8], 0xe
jne 0x54f62a
cmp byte [ebx + 0x19d], 0
jne 0x54f62a
mov eax, dword [ebx + 0x144]
cmp eax, 1
je 0x54f478
cmp eax, 2
jne 0x54f541
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x54f541
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005490e8
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x148]
wait
fld qword [ebx + 0x148]
fcomp dword [0x54fe24]
fnstsw ax
sahf
jae 0x54f4ef
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
fld qword [ebx + 0x150]
fsub dword [0x54fe2c]
fcomp qword [ebx + 0x148]
fnstsw ax
sahf
jae 0x54f519
fld qword [ebx + 0x150]
fsub dword [0x54fe2c]
fstp qword [ebx + 0x148]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005490e8
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x54]
je 0x54f541
mov byte [ebx + 0x158], 1
mov eax, dword [ebx + 0x144]
cmp eax, 3
je 0x54f555
cmp eax, 4
jne 0x54fe18
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x54fe18
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005490e8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x148]
wait
fld qword [ebx + 0x148]
fcomp dword [0x54fe24]
fnstsw ax
sahf
jae 0x54f5cf
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
fld qword [ebx + 0x150]
fsub dword [0x54fe2c]
fcomp qword [ebx + 0x148]
fnstsw ax
sahf
jae 0x54f5f9
fld qword [ebx + 0x150]
fsub dword [0x54fe2c]
fstp qword [ebx + 0x148]
wait
lea eax, [ebp - 0x5c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005490e8
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x50]
je 0x54fe18
mov byte [ebx + 0x158], 1
jmp 0x54fe18
cmp byte [ebx + 0x10], 0xa
jne 0x54f827
cmp dword [ebp + 8], 0xf
jne 0x54f827
cmp byte [ebx + 0x19d], 0
jne 0x54f827
mov eax, dword [ebx + 0x144]
cmp eax, 1
je 0x54f65f
cmp eax, 2
jne 0x54f72c
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
je 0x54f72c
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005490e8
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x148]
fadd dword [0x54fe2c]
fcomp qword [ebx + 0x150]
fnstsw ax
sahf
jbe 0x54f6e1
fld qword [ebx + 0x148]
fadd dword [0x54fe2c]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x150]
fcomp dword [0x54fe28]
fnstsw ax
sahf
jbe 0x54f704
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.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005490e8
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5c]
je 0x54f72c
mov byte [ebx + 0x158], 1
mov eax, dword [ebx + 0x144]
cmp eax, 3
je 0x54f740
cmp eax, 4
jne 0x54f810
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
je 0x54f810
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.005490e8
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
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 [0x54fe28]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x148]
fadd dword [0x54fe2c]
fcomp qword [ebx + 0x150]
fnstsw ax
sahf
jbe 0x54f7c5
fld qword [ebx + 0x148]
fadd dword [0x54fe2c]
fstp qword [ebx + 0x150]
wait
fld qword [ebx + 0x150]
fcomp dword [0x54fe28]
fnstsw ax
sahf
jbe 0x54f7e8
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.005402a4
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, esi
call fcn.005490e8
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
je 0x54f810
mov byte [ebx + 0x158], 1
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
mov eax, esi
call fcn.0054a12c
jmp 0x54fe18
cmp byte [ebx + 0x10], 1
jne 0x54f88a
cmp dword [ebp + 8], 0x10
jne 0x54f88a
cmp byte [ebx + 0x164], 0
jne 0x54f86c
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.0054fe38
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 0x54fe18
cmp byte [ebx + 0x10], 1
jne 0x54f8ed
cmp dword [ebp + 8], 0x11
jne 0x54f8ed
cmp byte [ebx + 0x170], 0
jne 0x54f8cf
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
lea ecx, [ebp - 0x44]
mov eax, esi
call fcn.0054fe38
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 0x54fe18
cmp byte [ebx + 0x10], 3
jne 0x54f910
cmp dword [ebp + 8], 0x12
jne 0x54f910
mov eax, dword [ebp - 4]
add dword [ebx + 0x114], eax
mov eax, dword [ebp + 0x18]
add dword [ebx + 0x118], eax
jmp 0x54fe18
cmp byte [ebx + 0x10], 3
jne 0x54fa6f
cmp dword [ebp + 8], 0x13
jne 0x54fa6f
mov eax, dword [ebx]
add eax, dword [ebx + 8]
sar eax, 1
jns 0x54f930
adc eax, 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 4]
add eax, dword [ebx + 0xc]
sar eax, 1
jns 0x54f940
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.0054ec64
fstp qword [ebp - 0x20]
wait
cmp dword [ebp - 0x3c], 1
jne 0x54f988
xor eax, eax
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], 0x40590000
jmp 0x54fe18
cmp dword [ebp - 0x3c], 2
jne 0x54f9a1
xor eax, eax
mov dword [ebx + 0x130], eax
mov dword [ebx + 0x134], eax
jmp 0x54fe18
cmp dword [ebp - 0x3c], 0
jne 0x54fe18
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
call fcn.0062d690
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.0062d690
fstp qword [ebp - 0x30]
wait
fld qword [ebp - 0x28]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x54fe18
fld qword [ebp - 0x30]
fcomp dword [0x54fe24]
fnstsw ax
sahf
jbe 0x54fe18
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 [0x54fe24]
fnstsw ax
sahf
jb 0x54fe18
fld qword [ebp - 0x30]
fcomp qword [ebp - 0x20]
fnstsw ax
sahf
jbe 0x54fe18
push 0
push 0
push 0
push 0x64
fld qword [ebp - 0x20]
fdiv qword [ebp - 0x30]
fmul dword [0x54fe28]
call fcn.00402ffc
push edx
push eax
call fcn.00437f04
push edx
push eax
call fcn.00437fc8
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
fild qword [ebp - 0x6c]
fstp qword [ebx + 0x130]
wait
jmp 0x54fe18
cmp byte [ebx + 0x10], 2
jne 0x54fbcb
cmp byte [ebx + 0x41], 0
je 0x54fbcb
cmp dword [ebp + 8], 0x15
jne 0x54fbcb
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
push eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf504
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.005cf50c
pop edx
call fcn.005cf504
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
push eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf504
mov edx, eax
mov eax, dword [ebp + 0x18]
call fcn.005cf50c
pop edx
call fcn.005cf504
mov dword [ebp - 0x38], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
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.005cf504
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x54fe30]
call fcn.00402ffc
mov dword [ebx + 0x114], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
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.005cf504
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x54fe30]
call fcn.00402ffc
mov dword [ebx + 0x118], eax
mov edx, dword [ebx + 0x140]
xor eax, eax
call fcn.005cf504
mov edx, 0x2710
call fcn.005cf50c
mov dword [ebx + 0x140], eax
mov edx, dword [ebx + 0x118]
xor eax, eax
call fcn.005cf504
mov edx, dword [ebx + 0x140]
call fcn.005cf50c
mov dword [ebx + 0x118], eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.00550044
jmp 0x54fe18
cmp byte [ebx + 0x10], 2
jne 0x54fcec
cmp byte [ebx + 0x41], 0
je 0x54fcec
cmp dword [ebp + 8], 0x16
jne 0x54fcec
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
push eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf504
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.005cf50c
pop edx
call fcn.005cf504
mov dword [ebp - 0x34], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
push eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf504
mov edx, eax
mov eax, dword [ebp + 0x18]
call fcn.005cf50c
pop edx
call fcn.005cf504
mov dword [ebp - 0x38], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebx]
call fcn.005cf50c
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.005cf504
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x54fe30]
call fcn.00402ffc
mov dword [ebx + 0x13c], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
call fcn.005cf50c
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.005cf504
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
fld xword [ebp - 0x78]
fdivrp st(1)
fmul dword [0x54fe30]
call fcn.00402ffc
mov dword [ebx + 0x140], eax
mov edx, edi
mov eax, esi
call fcn.005402a4
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.00550044
jmp 0x54fe18
cmp dword [ebp + 8], 0xa
jge 0x54fe18
cmp byte [ebx + 0x10], 1
jne 0x54fdf5
cmp byte [ebx + 0x164], 0
jne 0x54fd16
cmp byte [ebx + 0x170], 0
je 0x54fdf5
cmp dword [ebx + 0x198], 0x64
je 0x54fdf5
cmp dword [ebx + 0x198], 0xc8
je 0x54fdf5
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.0041fa04
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 [0x54fe34]
fmul qword [esi + 0x5d8]
call fcn.00402ffc
mov ecx, eax
mov eax, dword [esi + 0x694]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x54fdc7
mov eax, dword [esi + 0x698]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x54fdc7
mov eax, dword [esi + 0x69c]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jl 0x54fdc7
mov eax, dword [esi + 0x6a0]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jge 0x54fdf5
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.0054e070
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14