Function at 0x454d10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov eax, dword [0x557b14]
xor eax, esp
mov dword [esp + 0xd0], eax
fld1
push ebx
push esi
push edi
push 1
push ecx
fstp dword [esp]
mov eax, 0xff000000
mov edi, ecx
push 0
push eax
mov dword [esp + 0xa4], edi
call fcn.00403606
push 0
push 7
pop esi
xor bl, bl
call fcn.00403b6b
mov eax, dword [0x57b4dc]
add esp, 0x14
test eax, eax
je 0x454d69
push eax
call fcn.0047d2ab
xor esi, esi
inc esi
call fcn.00403a67
fldz
mov eax, dword [0x57b4d0]
fst dword [esp + 0x20]
test eax, eax
fst dword [esp + 0x38]
fst dword [esp + 0x50]
fst dword [esp + 0x68]
fst dword [esp + 0x98]
je 0x454da3
fld dword [eax + 0x44]
fdiv qword [0x543d90]
fstp dword [esp + 0x98]
fst dword [esp + 0xa4]
fst dword [esp + 0x9c]
fcom dword [edi + 0x124]
fnstsw ax
test ah, 5
jp 0x454e3c
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fld dword [edi + 0x12c]
fmul qword [0x543bc0]
fstp dword [esp + 0xc4]
fld dword [esp + 0xc4]
fstp dword [esp]
call fcn.0040ba61
fmul dword [edi + 0x124]
fstp dword [esp + 0xb0]
fldz
fst dword [esp + 8]
fld dword [edi + 0x12c]
fmul qword [0x543bc0]
fstp dword [esp + 0xc4]
fld dword [esp + 0xc4]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0040ba61
fmul dword [edi + 0x124]
add esp, 0xc
fmul qword [0x543a68]
fstp dword [esp + 0x9c]
jmp 0x454e3e
fstp st(0)
fld dword [esp + 0x9c]
push ecx
fld dword [esp + 0x9c]
push ecx
fmul qword [0x544628]
fsubp st(1)
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp dword [esp + 4]
fld dword [esp + 0xac]
fsub dword [edi + 0x70]
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp dword [esp]
call fcn.00403857
mov eax, dword [edi + 0x40]
push dword [eax + 0x34]
call fcn.004042d6
fldz
fstp dword [esp + 0x88]
mov eax, 0xffadadad
fld dword [0x543b0c]
add esp, 0xc
fstp dword [esp + 0x14]
mov dword [esp + 0x24], eax
fld dword [edi + 0x70]
mov dword [esp + 0x3c], eax
fmul qword [0x5439e0]
mov eax, 0xff333333
xor esi, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x6c], eax
fmul qword [0x5439d8]
mov dword [esp + 0xb8], esi
fadd st(0), st(0)
fstp dword [esp + 0xa0]
fld dword [esp + 0x7c]
inc esi
fstp dword [esp + 0x18]
mov dword [esp + 0x90], esi
fld dword [0x544624]
lea eax, [esp + 0x18]
fst dword [esp + 0x1c]
push eax
fild dword [esp + 0xbc]
fld qword [0x543938]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fstp dword [esp + 0x2c]
fld dword [0x543b74]
fst dword [esp + 0x30]
fld dword [esp + 0x80]
fadd qword [0x543d40]
fst dword [esp + 0xbc]
fld dword [esp + 0xbc]
fstp dword [esp + 0x34]
fxch st(3)
fstp dword [esp + 0x38]
fild dword [esp + 0x94]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x94]
fld dword [esp + 0x94]
fstp dword [esp + 0x44]
fstp dword [esp + 0x48]
fsub dword [esp + 0xa4]
fstp dword [esp + 0x4c]
fld dword [0x543d48]
fst dword [esp + 0x50]
fld dword [esp + 0x94]
fstp dword [esp + 0x5c]
fld dword [0x543a34]
fst dword [esp + 0x60]
fld dword [esp + 0x80]
fsub dword [esp + 0xa4]
fstp dword [esp + 0x64]
fxch st(1)
fstp dword [esp + 0x68]
fld dword [esp + 0x84]
fstp dword [esp + 0x74]
fstp dword [esp + 0x78]
fld dword [esp + 0x64]
fadd dword [esp + 0x18]
fstp dword [esp + 0x64]
fld dword [esp + 0x18]
fadd qword [0x543b00]
fstp dword [esp + 0x18]
fld dword [esp + 0x4c]
fadd dword [esp + 0x18]
fstp dword [esp + 0x4c]
fld dword [esp + 0xbc]
fstp dword [esp + 0x80]
call fcn.0040429e
cmp esi, 0x10
pop ecx
mov dword [esp + 0xb8], esi
jl 0x454ee4
fld1
mov ebx, 0xff282828
fcom dword [edi + 0x130]
mov esi, 0xff787878
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
fnstsw ax
test ah, 0x41
jne 0x455190
fld dword [edi + 0x130]
fmul dword [0x544288]
call fcn.005209e6
mov byte [esp + 0x13], al
mov byte [esp + 0x26], al
movzx eax, byte [esp + 0x25]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x25], al
movzx eax, byte [esp + 0x24]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x24], al
mov al, byte [esp + 0x13]
mov byte [esp + 0x3e], al
movzx eax, byte [esp + 0x3d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x3d], al
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
fld dword [edi + 0x130]
fmul dword [0x543db8]
mov byte [esp + 0x3c], al
call fcn.005209e6
mov byte [esp + 0x13], al
mov byte [esp + 0x56], al
movzx eax, byte [esp + 0x55]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x55], al
movzx eax, byte [esp + 0x54]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x54], al
mov al, byte [esp + 0x13]
mov byte [esp + 0x6e], al
movzx eax, byte [esp + 0x6d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x6d], al
movzx eax, byte [esp + 0x6c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x6c], al
fldz
lea eax, [esp + 0x18]
fst dword [esp + 0x18]
push eax
fld dword [0x544620]
fst dword [esp + 0x20]
fxch st(1)
fst dword [esp + 0x24]
fst dword [esp + 0x2c]
fld dword [0x543a34]
fst dword [esp + 0x30]
fld dword [0x54461c]
fst dword [esp + 0x34]
fxch st(3)
fstp dword [esp + 0x38]
fxch st(1)
fst dword [esp + 0x3c]
fld dword [0x543e08]
fst dword [esp + 0x44]
fxch st(2)
fstp dword [esp + 0x48]
fxch st(2)
fstp dword [esp + 0x4c]
fld dword [0x543fe0]
fst dword [esp + 0x50]
fstp dword [esp + 0x68]
fxch st(1)
fst dword [esp + 0x54]
fst dword [esp + 0x64]
fst dword [esp + 0x6c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x5c]
fst dword [esp + 0x60]
fstp dword [esp + 0x78]
call fcn.0040429e
fld dword [0x54461c]
pop ecx
fst dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
fld dword [0x544620]
mov dword [esp + 0x54], ebx
fst dword [esp + 0x34]
mov dword [esp + 0x6c], esi
fldz
mov dword [esp + 0x24], esi
fst dword [esp + 0x38]
fst dword [esp + 0x40]
fld dword [0x543a34]
fst dword [esp + 0x44]
fld dword [0x544618]
fst dword [esp + 0x48]
fxch st(3)
fstp dword [esp + 0x4c]
fxch st(1)
fst dword [esp + 0x50]
fld1
fst dword [esp + 0x58]
fxch st(2)
fstp dword [esp + 0x5c]
fxch st(2)
fstp dword [esp + 0x60]
fld dword [0x543fe0]
fst dword [esp + 0x64]
fstp dword [esp + 0x1c]
fxch st(1)
fst dword [esp + 0x68]
fst dword [esp + 0x20]
fstp dword [esp + 0x28]
fst dword [esp + 0x70]
fst dword [esp + 0x74]
fst dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x18]
fcomp dword [edi + 0x130]
fnstsw ax
test ah, 0x41
jne 0x455408
fld dword [edi + 0x130]
fmul dword [0x543db8]
call fcn.005209e6
mov byte [esp + 0x12], al
mov byte [esp + 0x26], al
movzx eax, byte [esp + 0x25]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x25], al
movzx eax, byte [esp + 0x24]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
fld dword [edi + 0x130]
fmul dword [0x544288]
mov byte [esp + 0x24], al
call fcn.005209e6
mov byte [esp + 0x13], al
mov byte [esp + 0x3e], al
movzx eax, byte [esp + 0x3d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x3d], al
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x3c], al
mov al, byte [esp + 0x13]
mov byte [esp + 0x56], al
movzx eax, byte [esp + 0x55]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x55], al
movzx eax, byte [esp + 0x54]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x54], al
mov al, byte [esp + 0x12]
mov byte [esp + 0x6e], al
movzx eax, byte [esp + 0x6d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x6d], al
movzx eax, byte [esp + 0x6c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x6c], al
movzx eax, byte [esp + 0x56]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fld qword [0x544610]
fmul st(1), st(0)
fxch st(1)
call fcn.005209e6
mov byte [esp + 0x56], al
movzx eax, byte [esp + 0x55]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul st(1)
call fcn.005209e6
mov byte [esp + 0x55], al
movzx eax, byte [esp + 0x54]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmulp st(1)
call fcn.005209e6
mov byte [esp + 0x54], al
movzx eax, byte [esp + 0x6e]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fld qword [0x544578]
fmul st(1), st(0)
fxch st(1)
call fcn.005209e6
mov byte [esp + 0x6e], al
movzx eax, byte [esp + 0x6d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul st(1)
call fcn.005209e6
mov byte [esp + 0x6d], al
movzx eax, byte [esp + 0x6c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmulp st(1)
call fcn.005209e6
mov byte [esp + 0x6c], al
lea eax, [esp + 0x18]
push eax
call fcn.0040429e
fld1
fcom dword [edi + 0x130]
pop ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], ebx
fnstsw ax
test ah, 0x41
jne 0x45564c
fld dword [edi + 0x130]
fmul dword [0x543db8]
call fcn.005209e6
mov byte [esp + 0x12], al
mov byte [esp + 0x26], al
movzx eax, byte [esp + 0x25]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x25], al
movzx eax, byte [esp + 0x24]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x24], al
mov al, byte [esp + 0x12]
mov byte [esp + 0x3e], al
movzx eax, byte [esp + 0x3d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x3d], al
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
fld dword [edi + 0x130]
fmul dword [0x544288]
mov byte [esp + 0x3c], al
call fcn.005209e6
mov byte [esp + 0x12], al
mov byte [esp + 0x56], al
movzx eax, byte [esp + 0x55]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x55], al
movzx eax, byte [esp + 0x54]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x54], al
mov al, byte [esp + 0x12]
mov byte [esp + 0x6e], al
movzx eax, byte [esp + 0x6d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x6d], al
movzx eax, byte [esp + 0x6c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul dword [edi + 0x130]
call fcn.005209e6
mov byte [esp + 0x6c], al
fldz
lea eax, [esp + 0x18]
fst dword [esp + 0x18]
push eax
fld dword [0x543fe0]
fst dword [esp + 0x20]
fxch st(1)
fst dword [esp + 0x24]
fst dword [esp + 0x2c]
fld dword [0x543a34]
fst dword [esp + 0x30]
fld dword [0x54461c]
fst dword [esp + 0x34]
fxch st(3)
fstp dword [esp + 0x38]
fxch st(1)
fst dword [esp + 0x3c]
fld dword [0x543e08]
fst dword [esp + 0x44]
fxch st(2)
fstp dword [esp + 0x48]
fxch st(2)
fstp dword [esp + 0x4c]
fld dword [0x54460c]
fst dword [esp + 0x50]
fstp dword [esp + 0x68]
fxch st(1)
fst dword [esp + 0x54]
fst dword [esp + 0x64]
fst dword [esp + 0x6c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x5c]
fst dword [esp + 0x60]
fstp dword [esp + 0x78]
call fcn.0040429e
fld dword [0x54461c]
movzx eax, byte [esp + 0x42]
fst dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
fld dword [0x543fe0]
pop ecx
fst dword [esp + 0x1c]
fldz
fst dword [esp + 0x20]
fst dword [esp + 0x28]
fld dword [0x543a34]
fst dword [esp + 0x2c]
fld dword [0x544618]
fst dword [esp + 0x30]
fxch st(3)
fstp dword [esp + 0x34]
fxch st(1)
fst dword [esp + 0x38]
fld1
fst dword [esp + 0x40]
fxch st(2)
fstp dword [esp + 0x44]
fxch st(2)
fstp dword [esp + 0x48]
fld dword [0x54460c]
fst dword [esp + 0x4c]
fstp dword [esp + 0x64]
fxch st(1)
fst dword [esp + 0x50]
fst dword [esp + 0x68]
fstp dword [esp + 0x70]
fst dword [esp + 0x58]
fst dword [esp + 0x5c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x60]
fild dword [esp + 0xb8]
fld qword [0x544578]
fmul st(1), st(0)
fxch st(1)
call fcn.005209e6
mov byte [esp + 0x3e], al
movzx eax, byte [esp + 0x3d]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul st(1)
call fcn.005209e6
mov byte [esp + 0x3d], al
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmulp st(1)
call fcn.005209e6
mov byte [esp + 0x3c], al
movzx eax, byte [esp + 0x56]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fld qword [0x544610]
fmul st(1), st(0)
fxch st(1)
call fcn.005209e6
mov byte [esp + 0x56], al
movzx eax, byte [esp + 0x55]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmul st(1)
call fcn.005209e6
mov byte [esp + 0x55], al
movzx eax, byte [esp + 0x54]
mov dword [esp + 0xb8], eax
fild dword [esp + 0xb8]
fmulp st(1)
call fcn.005209e6
mov byte [esp + 0x54], al
lea eax, [esp + 0x18]
push eax
call fcn.0040429e
fldz
fst dword [esp + 0x1c]
mov eax, 0xff333333
fst dword [esp + 0x20]
mov dword [esp + 0x28], eax
fst dword [esp + 0x24]
mov dword [esp + 0x40], eax
fst dword [esp + 0x2c]
mov eax, 0xffadadad
fst dword [esp + 0x30]
mov dword [esp + 0x58], eax
fld dword [0x544618]
mov dword [esp + 0x70], eax
fst dword [esp + 0x34]
pop ecx
fxch st(1)
lea eax, [esp + 0x18]
fst dword [esp + 0x34]
push eax
fst dword [esp + 0x3c]
fld dword [0x543b84]
fst dword [esp + 0x44]
fxch st(1)
fst dword [esp + 0x48]
fxch st(2)
fstp dword [esp + 0x4c]
fld dword [0x544608]
fst dword [esp + 0x50]
fxch st(2)
fst dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [0x544604]
fst dword [esp + 0x60]
fstp dword [esp + 0x78]
fst dword [esp + 0x64]
fst dword [esp + 0x6c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x68]
call fcn.0040429e
fldz
pop ecx
fcom dword [edi + 0x124]
fnstsw ax
test ah, 5
jp 0x4558fd
fstp st(0)
lea eax, [esp + 0x18]
fld dword [esp + 0x1c]
push eax
fchs
fstp dword [esp + 0x20]
fld dword [esp + 0x38]
fchs
fstp dword [esp + 0x38]
fld dword [esp + 0x50]
fchs
fstp dword [esp + 0x50]
fld dword [esp + 0x68]
fchs
fstp dword [esp + 0x68]
call fcn.0040429e
fldz
pop ecx
fst dword [esp + 0x18]
lea eax, [esp + 0x18]
fld dword [0x544608]
push eax
fst dword [esp + 0x20]
mov dword [esp + 0x28], ebx
fxch st(1)
mov dword [esp + 0x40], ebx
fst dword [esp + 0x24]
mov dword [esp + 0x58], esi
fst dword [esp + 0x2c]
mov dword [esp + 0x70], esi
fld dword [0x544604]
fst dword [esp + 0x30]
fld dword [0x54433c]
fst dword [esp + 0x34]
fxch st(3)
fstp dword [esp + 0x38]
fxch st(1)
fst dword [esp + 0x3c]
fld dword [0x544338]
fst dword [esp + 0x44]
fxch st(2)
fstp dword [esp + 0x48]
fxch st(2)
fstp dword [esp + 0x4c]
fld dword [0x544620]
fst dword [esp + 0x50]
fxch st(2)
fst dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [0x543b74]
fst dword [esp + 0x60]
fstp dword [esp + 0x78]
fst dword [esp + 0x64]
fst dword [esp + 0x6c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x68]
call fcn.0040429e
fldz
pop ecx
fst dword [esp + 0x18]
lea eax, [esp + 0x18]
fld dword [0x54460c]
mov dword [esp + 0x24], esi
fst dword [esp + 0x1c]
mov dword [esp + 0x3c], esi
fxch st(1)
mov dword [esp + 0x54], ebx
fst dword [esp + 0x20]
mov dword [esp + 0x6c], ebx
fst dword [esp + 0x28]
push eax
fld dword [0x543b74]
fst dword [esp + 0x30]
fld dword [0x54433c]
fst dword [esp + 0x34]
fxch st(3)
fstp dword [esp + 0x38]
fxch st(1)
fst dword [esp + 0x3c]
fld dword [0x544338]
fst dword [esp + 0x44]
fxch st(2)
fstp dword [esp + 0x48]
fxch st(2)
fstp dword [esp + 0x4c]
fld dword [0x544624]
fst dword [esp + 0x50]
fxch st(2)
fst dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x5c]
fld dword [0x544604]
fst dword [esp + 0x60]
fstp dword [esp + 0x78]
fst dword [esp + 0x64]
fst dword [esp + 0x6c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x68]
call fcn.0040429e
fld dword [0x544048]
fcomp dword [edi + 0x70]
pop ecx
fnstsw ax
test ah, 5
jp 0x455b36
fldz
mov eax, dword [edi + 0x48]
mov esi, 0xff969696
push esi
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x544600]
fstp dword [esp]
push 0x58
call fcn.004166a4
push 5
mov dword [esp + 0x18], 0x3d2
pop ebx
fldz
mov eax, dword [edi + 0x48]
push esi
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
push 0x59
call fcn.004166a4
add dword [esp + 0x14], 0x26
dec ebx
jne 0x455a7e
fldz
mov eax, dword [edi + 0x48]
push esi
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
push 0x5a
call fcn.004166a4
fldz
add dword [esp + 0x14], 0x37
mov eax, dword [edi + 0x48]
push esi
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
push 0x58
call fcn.004166a4
add dword [esp + 0x14], 0x2b
push 0xa
pop ebx
fldz
mov eax, dword [edi + 0x48]
push esi
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
push 0x59
call fcn.004166a4
add dword [esp + 0x14], 0x26
dec ebx
jne 0x455af0
fldz
mov eax, dword [edi + 0x48]
push esi
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fstp dword [esp]
push 0x5a
call fcn.004166a4
mov eax, dword [edi + 0x44]
push dword [eax + 0x34]
call fcn.004042d6
fldz
fst dword [esp + 0x1c]
mov eax, dword [0x577b24]
fld dword [0x544608]
imul eax, eax, 0x1c
fst dword [esp + 0x20]
fxch st(1)
fst dword [esp + 0x24]
fst dword [esp + 0x2c]
fst dword [esp + 0x30]
fld dword [0x54433c]
fst dword [esp + 0x34]
mov esi, dword [eax + 0x57245c]
fxch st(2)
fstp dword [esp + 0x38]
mov ebx, dword [eax + 0x572460]
pop ecx
lea eax, [esp + 0x18]
fst dword [esp + 0x38]
push eax
fld dword [0x544338]
mov dword [esp + 0x28], esi
fst dword [esp + 0x44]
mov dword [esp + 0x40], esi
fxch st(1)
mov dword [esp + 0x58], ebx
fst dword [esp + 0x48]
mov dword [esp + 0x70], ebx
fxch st(2)
fstp dword [esp + 0x4c]
fld dword [0x544620]
fst dword [esp + 0x50]
fxch st(2)
fst dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x5c]
fld1
fst dword [esp + 0x60]
fstp dword [esp + 0x78]
fst dword [esp + 0x64]
fst dword [esp + 0x6c]
fstp dword [esp + 0x74]
fstp dword [esp + 0x68]
call fcn.0040429e
fldz
pop ecx
fst dword [esp + 0x18]
mov dword [esp + 0x24], ebx
fld dword [0x54460c]
mov dword [esp + 0x3c], ebx
fst dword [esp + 0x1c]
mov dword [esp + 0x54], esi
fxch st(1)
mov dword [esp + 0x6c], esi
fst dword [esp + 0x20]
fst dword [esp + 0x28]
fld1
fst dword [esp + 0x2c]
fld dword [0x54433c]
fst dword [esp + 0x30]
fxch st(3)
fstp dword [esp + 0x34]
fxch st(1)
fst dword [esp + 0x38]
fld dword [0x544338]
fst dword [esp + 0x40]
fxch st(2)
fstp dword [esp + 0x44]
fxch st(2)
fstp dword [esp + 0x48]
fld dword [0x544624]
fst dword [esp + 0x4c]
fstp dword [esp + 0x64]
fxch st(1)
fst dword [esp + 0x50]
fst dword [esp + 0x5c]
fst dword [esp + 0x60]
fst dword [esp + 0x68]
fst dword [esp + 0x70]
lea eax, [esp + 0x18]
fstp dword [esp + 0x74]
push eax
fstp dword [esp + 0x5c]
call fcn.0040429e
pop ecx
push 2
push 7
pop esi
mov bl, 1
call fcn.00403b6b
fld dword [edi + 0x70]
fmul qword [0x543d20]
pop ecx
call fcn.005209b0
fldz
lea ecx, [edi + 0x140]
fcomp dword [ecx]
mov esi, eax
fnstsw ax
test ah, 5
jp 0x455da0
fld dword [ecx]
push ecx
fstp dword [esp]
call fcn.0040ff28
mov eax, dword [0x577b24]
fstp dword [esp + 0x84]
imul eax, eax, 0x1c
mov eax, dword [eax + 0x572470]
pop ecx
mov dword [esp + 0x7c], eax
shr eax, 0x18
mov ecx, 0xff
sub ecx, eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x90], eax
fild dword [esp + 0xb8]
fmul dword [esp + 0x80]
fiadd dword [esp + 0x90]
call fcn.005209e6
mov byte [esp + 0x7f], al
lea eax, [esi + 9]
cmp esi, eax
jge 0x455e4a
mov ebx, esi
shl ebx, 7
add ebx, 5
sub eax, esi
mov dword [esp + 0xb8], ebx
mov esi, eax
fild dword [esp + 0xb8]
push dword [esp + 0x7c]
mov eax, dword [edi + 0x48]
sub esp, 0xc
fstp dword [esp + 0xc8]
fldz
fstp dword [esp + 8]
fld dword [0x5445fc]
fstp dword [esp + 4]
fld dword [esp + 0xc8]
fstp dword [esp]
push 0x5b
call fcn.00416854
fldz
push dword [esp + 0x7c]
mov eax, dword [edi + 0x48]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x5445f8]
fstp dword [esp + 4]
fld dword [esp + 0xc8]
fstp dword [esp]
push 0x5b
call fcn.00416854
add ebx, 0x80
dec esi
mov dword [esp + 0xb8], ebx
jne 0x455d27
jmp 0x455e4a
lea eax, [esi + 9]
cmp esi, eax
jge 0x455e4a
mov ebx, esi
shl ebx, 7
add ebx, 5
sub eax, esi
mov dword [esp + 0xb8], ebx
mov esi, eax
mov eax, dword [0x577b24]
fild dword [esp + 0xb8]
imul eax, eax, 0x1c
fstp dword [esp + 0xb8]
fldz
push dword [eax + 0x572470]
mov eax, dword [edi + 0x48]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x5445fc]
fstp dword [esp + 4]
fld dword [esp + 0xc8]
fstp dword [esp]
push 0x5b
call fcn.00416854
fldz
mov eax, dword [0x577b24]
imul eax, eax, 0x1c
push dword [eax + 0x572470]
mov eax, dword [edi + 0x48]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x5445f8]
fstp dword [esp + 4]
fld dword [esp + 0xc8]
fstp dword [esp]
push 0x5b
call fcn.00416854
add ebx, 0x80
dec esi
mov dword [esp + 0xb8], ebx
jne 0x455dbe
and dword [esp + 0xb8], 0
and dword [esp + 0x80], 0
lea ebx, [edi + 0xc8]
mov eax, dword [ebx + 4]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x80]
lea esi, [esp + 0xb8]
mov dword [esp + 0x84], ebx
call fcn.00424817
test al, al
je 0x455ec1
mov eax, esi
call fcn.00422dbd
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0x48]
lea eax, [esp + 0xd0]
push eax
mov eax, esi
call fcn.00422df2
jmp 0x455e71
fld dword [esp + 0xa0]
call fcn.005209b0
test eax, eax
mov dword [esp + 0x80], eax
jle 0x456098
push 2
pop esi
call fcn.00403a67
mov ebx, 0xd7d3bd96
call fcn.004296e6
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x455f02
mov eax, dword [ecx]
push 0x57a1e8
call dword [eax]
mov esi, eax
jmp 0x455f04
xor esi, esi
test esi, esi
je 0x456098
push str.score_short
push ecx
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
cmp dword [eax + 0x18], 0x10
jb 0x455f29
mov eax, dword [eax + 4]
jmp 0x455f2c
add eax, 4
fldz
mov edi, dword [edi + 0x64]
push ebx
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x5445f4]
fstp dword [esp + 4]
fld dword [0x5445f0]
fstp dword [esp]
call fcn.00410f91
mov eax, dword [esi + 0x2c]
mov esi, dword [esp + 0x94]
add eax, dword [esi + 0x80]
push eax
lea eax, [esp + 0xc8]
push str._09d
push eax
call fcn.004e116e
fldz
mov edi, dword [esi + 0x68]
add esp, 0xc
mov eax, 0xcd64ebff
push eax
lea eax, [esp + 0xc8]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x5445f4]
fstp dword [esp + 4]
fld dword [0x5445ec]
fstp dword [esp]
call fcn.00410f91
mov eax, dword [0x577b24]
inc eax
push eax
lea eax, [esp + 0xd4]
push str.templev_d
push eax
call fcn.004e116e
add esp, 0xc
push dword [esi + 0x138]
mov edi, 0x5380fc
lea eax, [esp + 0xbc]
push edi
push eax
call fcn.004e116e
add esp, 0xc
push dword [esi + 0x13c]
lea eax, [esp + 0xc8]
push edi
push eax
call fcn.004e116e
add esp, 0xc
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0xbc]
push eax
push 2
push ecx
lea eax, [esp + 0xe0]
push eax
push ecx
call fcn.004014e2
pop ecx
push eax
call fcn.0041faa8
add esp, 4
call fcn.0042029a
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x456037
mov eax, dword [eax + 4]
jmp 0x45603a
add eax, 4
fld dword [0x5445e8]
push ecx
fstp dword [esp + 0xac]
fld dword [0x543ca8]
fstp dword [esp + 0xb0]
fld dword [0x5445e4]
fstp dword [esp + 0xb4]
fld dword [0x5445e0]
fstp dword [esp + 0xb8]
fld dword [0x543c88]
fstp dword [esp]
push ebx
fldz
push eax
push 2
push ecx
fstp dword [esp]
push dword [esi + 0x64]
lea esi, [esp + 0xc0]
call fcn.0042f137
mov edi, dword [esp + 0x94]
fld dword [esp + 0x9c]
push ecx
fmul qword [0x543938]
push ecx
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp dword [esp + 4]
fld dword [esp + 0xac]
fmul qword [0x543a68]
fisub dword [esp + 0x88]
fstp dword [esp + 0xc0]
fld dword [esp + 0xc0]
fstp dword [esp]
call fcn.00403857
fld dword [0x544548]
pop ecx
fcomp dword [edi + 0x70]
pop ecx
fnstsw ax
test ah, 0x41
jne 0x45616c
and dword [esp + 0xb8], 0
and dword [esp + 0xc4], 0
lea ebx, [edi + 0x104]
mov eax, dword [ebx + 4]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xc4]
lea esi, [esp + 0xb8]
mov dword [esp + 0xc8], ebx
call fcn.00424817
test al, al
je 0x45616c
mov eax, esi
call fcn.00422dbd
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0x48]
lea eax, [esp + 0xd0]
push eax
mov eax, esi
call fcn.00422df2
jmp 0x45611c
mov eax, dword [edi + 0xe0]
and dword [esp + 0xb8], 0
add edi, 0xdc
and dword [esp + 0xc4], 0
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], eax
mov eax, dword [edi + 4]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xc4]
lea esi, [esp + 0xb8]
mov dword [esp + 0xc8], edi
call fcn.00424817
test al, al
je 0x4561e6
mov eax, esi
call fcn.00422dbd
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0x48]
lea eax, [esp + 0xd0]
push eax
mov eax, esi
call fcn.00422df2
jmp 0x456196
xor ebx, ebx
inc ebx
mov esi, ebx
call fcn.00403a67
push ebx
push 8
pop edi
call fcn.00403ac7
fld dword [esp + 0x9c]
fmul qword [0x543d90]
mov esi, dword [esp + 0x98]
mov edi, dword [0x57b4c4]
pop ecx
fstp qword [esp + 0x80]
or eax, 0xffffffff
fld dword [esi + 0x88]
push eax
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esi + 0x84]
fstp dword [esp + 0xc]
fld dword [0x543a1c]
fstp dword [esp + 8]
fld dword [esi + 0x8c]
fsub qword [esp + 0x98]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd0]
fstp dword [esp + 4]
fld dword [0x543eb0]
fstp dword [esp]
call fcn.0042a358
fld dword [esi + 0x9c]
mov edi, dword [0x57b4c4]
or eax, 0xffffffff
push eax
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esi + 0x94]
fstp dword [esp + 0xc]
fld dword [0x543a1c]
fstp dword [esp + 8]
fld dword [esi + 0xa0]
fadd qword [esp + 0x98]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd0]
fstp dword [esp + 4]
fld dword [0x5445dc]
fstp dword [esp]
call fcn.0042a358
fld dword [esi + 0x9c]
mov edi, dword [0x57b4c4]
or eax, 0xffffffff
push eax
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esi + 0x98]
fstp dword [esp + 0xc]
fld dword [0x543a1c]
fstp dword [esp + 8]
fld dword [esi + 0xa4]
fadd qword [esp + 0x98]
fadd dword [esi + 0xb4]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd0]
fstp dword [esp + 4]
fld dword [0x5445d8]
fstp dword [esp]
call fcn.0042a358
push 0
push 7
pop edi
mov bl, bl
call fcn.00403ac7
fld dword [esi + 0xac]
fmul qword [0x543a10]
pop ecx
fadd qword [0x5445d0]
call fcn.005209e6
fld dword [esi + 0xac]
xor ebx, ebx
mov bh, al
fmul qword [0x5445c8]
fadd qword [0x5445c0]
call fcn.005209e6
fld dword [esi + 0xac]
fmul qword [0x5440d0]
mov bl, al
fadd qword [0x5445b8]
shl ebx, 8
call fcn.005209e6
fld dword [esi + 0xac]
fmul qword [0x5445b0]
movzx eax, al
or ebx, eax
shl ebx, 8
fadd qword [0x543fd0]
call fcn.005209e6
fld dword [0x543bac]
movzx eax, al
or eax, ebx
push eax
mov eax, dword [esi + 0x4c]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esi + 0xa0]
fadd qword [esp + 0x90]
fstp dword [esp + 0xc8]
fld dword [esp + 0xc8]
fstp dword [esp + 4]
fld dword [0x5445dc]
fstp dword [esp]
push 5
call fcn.00416854
fld dword [0x54431c]
fcomp dword [esi + 0x70]
fnstsw ax
fld dword [esi + 0xb0]
test ah, 0x41
fmul qword [0x543a10]
fadd qword [0x5445d0]
jne 0x4564ab
call fcn.005209e6
fld dword [esi + 0xb0]
fmul qword [0x5445c8]
xor ebx, ebx
mov bh, al
fadd qword [0x5445c0]
call fcn.005209e6
fld dword [esi + 0xb0]
fmul qword [0x5440d0]
mov bl, al
fadd qword [0x5445b8]
shl ebx, 8
call fcn.005209e6
fld dword [esi + 0xb0]
fmul qword [0x5445b0]
movzx eax, al
or ebx, eax
shl ebx, 8
fadd qword [0x543fd0]
call fcn.005209e6
fld dword [0x543bac]
movzx eax, al
or eax, ebx
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esi + 0xa4]
fadd qword [esp + 0x90]
fadd dword [esi + 0xb4]
fstp dword [esp + 0xc8]
fld dword [esp + 0xc8]
fstp dword [esp + 4]
fld dword [0x5445d8]
fstp dword [esp]
push 6
jmp 0x456549
call fcn.005209e6
fld dword [esi + 0xb0]
fmul qword [0x5445c8]
xor ebx, ebx
mov bh, al
fadd qword [0x5445c0]
call fcn.005209e6
fld dword [esi + 0xb0]
fmul qword [0x5440d0]
mov bl, al
fadd qword [0x5445b8]
shl ebx, 8
call fcn.005209e6
fld dword [esi + 0xb0]
fmul qword [0x5445b0]
movzx eax, al
or ebx, eax
shl ebx, 8
fadd qword [0x543fd0]
call fcn.005209e6
fld dword [0x543bac]
movzx eax, al
or eax, ebx
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esi + 0xa4]
fadd qword [esp + 0x90]
fadd dword [esi + 0xb4]
fstp dword [esp + 0xc8]
fld dword [esp + 0xc8]
fstp dword [esp + 4]
fld dword [0x5445d8]
fstp dword [esp]
push 4
mov eax, dword [esi + 0x4c]
call fcn.00416854
mov eax, dword [esi + 0x110]
test eax, eax
je 0x45658a
fld dword [esp + 0x98]
push ecx
fchs
mov esi, eax
fmul qword [0x543d90]
fstp dword [esp + 0xbc]
fld dword [esp + 0xbc]
fstp dword [esp]
call fcn.0047223c
mov esi, dword [esp + 0x94]
push 0
push 3
pop edi
xor bl, bl
call fcn.00403ac7
fld dword [esi + 0x88]
pop ecx
or eax, 0xffffffff
push eax
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [esi + 0x84]
fstp dword [esp + 0xc]
fldz
fstp dword [esp + 8]
fld dword [esi + 0x8c]
fsub qword [esp + 0x98]
mov esi, dword [0x57b4c4]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd0]
fstp dword [esp + 4]
fld dword [0x543eb0]
fstp dword [esp]
call fcn.0042a485
mov edi, dword [esp + 0x94]
fld dword [edi + 0x9c]
mov esi, dword [0x57b4c4]
or eax, 0xffffffff
push eax
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [edi + 0x94]
fstp dword [esp + 0xc]
fld dword [0x543a1c]
fstp dword [esp + 8]
fld dword [edi + 0xa0]
fadd qword [esp + 0x98]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd0]
fstp dword [esp + 4]
fld dword [0x5445dc]
fstp dword [esp]
call fcn.0042a485
fld dword [edi + 0x9c]
mov esi, dword [0x57b4c4]
or eax, 0xffffffff
push eax
sub esp, 0x14
fstp dword [esp + 0x10]
fld dword [edi + 0x98]
fstp dword [esp + 0xc]
fld dword [0x543a1c]
fstp dword [esp + 8]
fld dword [edi + 0xa4]
fadd qword [esp + 0x98]
fadd dword [edi + 0xb4]
fstp dword [esp + 0xd0]
fld dword [esp + 0xd0]
fstp dword [esp + 4]
fld dword [0x5445d8]
fstp dword [esp]
call fcn.0042a485
xor esi, esi
call fcn.00403648
mov eax, dword [edi + 0xf4]
and dword [esp + 0xb8], esi
add edi, 0xf0
and dword [esp + 0xc4], esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], eax
mov eax, dword [edi + 4]
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xc4]
lea esi, [esp + 0xb8]
mov dword [esp + 0xc8], edi
call fcn.00424817
test al, al
je 0x456727
mov eax, esi
call fcn.00422dbd
fld dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push ecx
fstp dword [esp]
call dword [eax + 0x48]
lea eax, [esp + 0xd0]
push eax
mov eax, esi
call fcn.00422df2
jmp 0x4566d7
call fcn.004037d4
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
xor eax, eax
pop ebx
xor ecx, esp
inc eax
call fcn.004e0010
mov esp, ebp
pop ebp
ret 4