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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5473d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
push ebx
push ebp
push esi
push edi
push 0x47e
mov dword [esp + 0x34], ecx
call fcn.0053ff18
mov esi, eax
mov eax, dword [esi + 0x20]
push eax
call dword [0x553da4]
push eax
call fcn.00540008
mov ebx, eax
push 6
mov ecx, ebx
mov dword [esp + 0x30], ebx
mov edx, dword [ebx]
call dword [edx + 0x2c]
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x78]
push eax
push ecx
call dword [0x553db8]
mov esi, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x78]
sub esi, edx
mov edx, dword [ebx + 4]
sub edi, ebp
sub esi, 2
sub edi, 2
push esi
push edi
push 0
push 0
push edx
mov dword [esp + 0x3c], edi
call dword [0x553100]
push 0xff0000
dec esi
push 1
push 0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x2c], esi
call fcn.005401ee
mov eax, dword [ebx]
push 7
mov ecx, ebx
mov dword [esp + 0x94], 0
call dword [eax + 0x2c]
fild dword [esp + 0x28]
mov esi, 1
fmul qword [0x556338]
fadd qword [0x554618]
call fcn.00540a50
mov ebp, eax
mov ebx, 0x15
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x30]
push esi
push edx
call fcn.005401e2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
add eax, 0xfffffffc
push eax
push esi
call fcn.005401dc
add esi, ebp
dec ebx
jne 0x451fa4
dec edi
mov dword [esp + 0x18], edi
lea ebx, [edi*4]
push ebx
call fcn.0053ff1e
push ebx
mov dword [esp + 0x30], eax
call fcn.0053ff1e
mov ebp, dword [esp + 0x28]
add esp, 8
test edi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebp
jle 0x452033
fild dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], 0
fild dword [esp + 0x1c]
fdiv st(1)
fadd qword [0x554618]
call fcn.00540a50
mov edx, dword [esp + 0x1c]
mov dword [esi], eax
add edx, ebp
add esi, 4
dec edi
mov dword [esp + 0x1c], edx
jne 0x45200e
fstp st(0)
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0xb0]
test eax, eax
je 0x4525f1
jle case.default.0x452124
cmp eax, 4
jg case.default.0x452124
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
fld dword [edx + 0xa0]
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x28]
fstp qword [esp + 0x44]
fild dword [esp + 0x14]
test esi, esi
fst dword [esp + 0x1c]
fild dword [esp + 0x34]
fstp qword [esp + 0x5c]
fld dword [esp + 0x1c]
fdivr qword [esp + 0x5c]
fstp qword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
fmul dword [0x55af48]
fld dword [esp + 0x1c]
fmul qword [0x554618]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
fsubp st(1)
fstp qword [esp + 0x34]
fld dword [esp + 0x1c]
fadd qword [esp + 0x34]
fstp qword [esp + 0x4c]
jne 0x4520cd
push ebx
call fcn.0053ff1e
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4520f0
mov eax, dword [esp + 0x18]
test eax, eax
jle case.default.0x452124
mov edi, dword [esp + 0x24]
lea ecx, [eax]
xor eax, eax
rep stosd dword es:[edi], eax
jmp case.default.0x452124
cmp ebp, 2
jne 0x45211b
fld qword [esp + 0x44]
fcomp qword [0x5566b8]
fnstsw ax
test ah, 0x40
jne 0x452117
fld qword [esp + 0x44]
fcomp qword [0x556328]
fnstsw ax
test ah, 0x40
je switch.0x00452124
xor ebp, ebp
jmp switch.0x00452124
cmp ebp, 4
ja case.default.0x452124
jmp dword [ebp*4 + 0x452610]
mov eax, dword [esp + 0x18]
test eax, eax
jle case.default.0x452124
mov ecx, eax
lea ebx, [ecx]
mov ecx, dword [esp + 0x14]
fild dword [edi]
fcom qword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x45215c
mov dword [esi], 0
add esi, 4
fstp st(0)
add edi, 4
jmp 0x4521be
fcom qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x452173
mov dword [esi], ecx
add esi, 4
fstp st(0)
add edi, 4
jmp 0x4521be
fsub qword [esp + 0x34]
add edi, 4
fmul qword [esp + 0x54]
fcom qword [0x556328]
fnstsw ax
test ah, 1
je 0x452198
mov dword [esi], 0
add esi, 4
fstp st(0)
jmp 0x4521be
fild dword [esp + 0x14]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x4521b0
mov dword [esi], ecx
add esi, 4
fstp st(0)
jmp 0x4521be
call fcn.00540a50
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
dec ebx
jne 0x45213f
jmp case.default.0x452124
fld qword [0x5566b8]
fdiv qword [esp + 0x44]
mov eax, dword [esp + 0x18]
test eax, eax
fstp qword [esp + 0x44]
fld dword [esp + 0x1c]
fdivr qword [0x5566b8]
fstp qword [esp + 0x54]
jle case.default.0x452124
mov edx, eax
lea ebx, [edx]
fild dword [edi]
fcom qword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x452213
mov dword [esi], 0
add esi, 4
fstp st(0)
add edi, 4
jmp 0x452288
fcom qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x45222e
mov eax, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
fstp st(0)
add edi, 4
jmp 0x452288
fsub qword [esp + 0x34]
add edi, 4
fmul qword [esp + 0x54]
fstp qword [esp + 0x64]
fld qword [esp + 0x64]
fld qword [esp + 0x44]
call fcn.00540c2c
fmul qword [esp + 0x5c]
fcom qword [0x556328]
fnstsw ax
test ah, 1
je 0x452265
fstp st(0)
mov dword [esi], 0
jmp 0x452285
fild dword [esp + 0x14]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x45227e
mov ecx, dword [esp + 0x14]
fstp st(0)
mov dword [esi], ecx
jmp 0x452285
call fcn.00540a50
mov dword [esi], eax
add esi, 4
dec ebx
jne 0x4521f6
jmp case.default.0x452124
fld qword [esp + 0x64]
fild dword [esp + 0x14]
mov eax, dword [esp + 0x18]
test eax, eax
fld st(0)
fmul qword [esp + 0x44]
fadd qword [0x554618]
fldln2
fxch st(1)
fyl2x
fdivr st(1)
jle 0x45236a
mov ecx, dword [esp + 0x14]
lea ebx, [eax]
fild dword [edi]
fcom qword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x4522e2
mov dword [esi], 0
add esi, 4
fstp st(0)
add edi, 4
jmp 0x452363
fcom qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x4522f9
mov dword [esi], ecx
add esi, 4
fstp st(0)
add edi, 4
jmp 0x452363
fsub qword [esp + 0x34]
add edi, 4
fmul st(3)
fmul qword [esp + 0x44]
fadd qword [0x554618]
fcom qword [0x556328]
fnstsw ax
test ah, 0x41
je 0x452321
fstp st(0)
fld qword [0x554618]
fldln2
fxch st(1)
fyl2x
fmul st(1)
fcom qword [0x556328]
fnstsw ax
test ah, 1
je 0x452343
mov dword [esi], 0
add esi, 4
fstp st(0)
jmp 0x452363
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x452355
mov dword [esi], ecx
add esi, 4
fstp st(0)
jmp 0x452363
call fcn.00540a50
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
dec ebx
jne 0x4522c2
fstp st(0)
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0x2c]
lea eax, [esp + 0x70]
push eax
mov ecx, ebx
call fcn.005401e8
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [edi]
sub ecx, edx
lea edx, [esp + 0x64]
push ecx
push 1
push edx
mov ecx, ebx
call fcn.005401e2
mov ebp, dword [esp + 0x18]
mov eax, 1
cmp ebp, eax
jle 0x4523cc
add edi, 4
mov edx, dword [edi]
lea esi, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, ebx
sub eax, edx
push eax
push esi
call fcn.005401dc
mov eax, esi
add edi, 4
cmp eax, ebp
jl 0x4523ab
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0053feee
push edi
call fcn.0053feee
mov edx, dword [esp + 0x48]
add esp, 8
mov ecx, ebx
push edx
call fcn.005401e8
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 4]
push eax
mov edx, dword [ecx + 0x20]
push edx
call dword [0x553d40]
lea ecx, [esp + 0x70]
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x70], 0x556310
call fcn.00406250
mov ecx, dword [esp + 0x88]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [esp + 0x44]
fmul qword [0x55af40]
fldl2e
mov eax, dword [esp + 0x18]
test eax, eax
fmulp st(1)
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fld1
faddp st(1)
fscale
fstp st(1)
fdivr qword [esp + 0x5c]
fld dword [esp + 0x1c]
fdivr qword [0x55af38]
jle 0x45236c
mov ecx, dword [esp + 0x14]
lea ebx, [eax]
fild dword [edi]
fcom qword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x45248f
mov dword [esi], 0
add esi, 4
fstp st(0)
add edi, 4
jmp 0x452511
fcom qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x4524a6
mov dword [esi], ecx
add esi, 4
fstp st(0)
add edi, 4
jmp 0x452511
fsub qword [esp + 0x34]
add edi, 4
fmul st(1)
fsub qword [0x55af40]
fmul qword [esp + 0x44]
fldl2e
fmulp st(1)
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fld1
faddp st(1)
fscale
fstp st(1)
fmul st(2)
fcom qword [0x556328]
fnstsw ax
test ah, 1
je 0x4524eb
mov dword [esi], 0
add esi, 4
fstp st(0)
jmp 0x452511
fild dword [esp + 0x14]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x452503
mov dword [esi], ecx
add esi, 4
fstp st(0)
jmp 0x452511
call fcn.00540a50
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
dec ebx
jne 0x45246f
jmp 0x45236c
mov eax, dword [esp + 0x18]
fld dword [esp + 0x1c]
fdivr qword [0x556330]
test eax, eax
jle 0x45236e
mov ecx, dword [esp + 0x14]
lea ebx, [eax]
fild dword [edi]
fcom qword [esp + 0x34]
fnstsw ax
test ah, 1
je 0x452559
mov dword [esi], 0
add esi, 4
fstp st(0)
add edi, 4
jmp 0x4525e5
fcom qword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x452570
mov dword [esi], ecx
add esi, 4
fstp st(0)
add edi, 4
jmp 0x4525e5
fsub qword [esp + 0x34]
add edi, 4
fmul st(1)
fsub qword [0x55af30]
fmul qword [esp + 0x44]
fchs
fldl2e
fmulp st(1)
fld st(0)
frndint
fxch st(1)
fsub st(1)
f2xm1
fld1
faddp st(1)
fscale
fstp st(1)
fadd qword [0x5566b8]
fdivr qword [esp + 0x5c]
fcom qword [0x556328]
fnstsw ax
test ah, 1
je 0x4525bf
mov dword [esi], 0
add esi, 4
fstp st(0)
jmp 0x4525e5
fild dword [esp + 0x14]
fld st(1)
fcompp
fnstsw ax
test ah, 0x41
jne 0x4525d7
mov dword [esi], ecx
add esi, 4
fstp st(0)
jmp 0x4525e5
call fcn.00540a50
mov ecx, dword [esp + 0x14]
mov dword [esi], eax
add esi, 4
dec ebx
jne 0x452539
jmp 0x45236e
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.default.0x452124