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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x67ad9c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x10b4
call fcn.00666410
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
push eax
lea eax, [esp + 0xc4]
mov edi, ecx
mov dword [esp + 0x44], 0x47c34f80
call fcn.00455750
lea ecx, [edi + 0x10]
push ecx
lea eax, [esp + 0x284]
call fcn.00455750
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
call fcn.00436420
cmp eax, 6
jne 0x454df6
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
xor esi, esi
call fcn.00436420
cmp eax, 6
jne 0x454dba
mov edx, dword [edi + 0x1d4]
mov esi, dword [edx + 0x90]
mov eax, dword [esi + 0x24]
cmp eax, 3
je 0x454dcc
cmp eax, 2
je 0x454dcc
cmp eax, 4
jne 0x454df6
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
xor esi, esi
call fcn.00436420
cmp eax, 6
jne 0x454df0
mov eax, dword [edi + 0x1d4]
mov eax, dword [eax + 0x90]
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x24], esi
jmp 0x454dfe
mov dword [esp + 0x24], 0
mov eax, dword [ebx + 0x14]
cmp dword [eax + 4], 3
jne 0x454e2d
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ecx]
call dword [edx + 0x28]
fcomp dword [0x6bdfbc]
fnstsw ax
test ah, 0x41
jne 0x454e2d
lea eax, [esp + 0xc0]
push eax
mov esi, ebx
call fcn.00457750
jmp 0x454e73
mov eax, dword [ebx + 0x14]
cmp dword [eax + 4], 1
je 0x454e73
mov ecx, dword [ebx + 0x3d0]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x30]
lea eax, [ebx + 0x70]
push eax
lea ecx, [ebx + 0x60]
push ecx
push edx
lea esi, [esp + 0xcc]
call fcn.00456cb0
push eax
lea eax, [ebx + 0x60]
push eax
lea edx, [ebx + 0x80]
lea eax, [ebx + 0x70]
lea ecx, [esp + 0xc8]
call fcn.00457b10
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
call fcn.00436420
cmp eax, 6
jne 0x454f0d
mov eax, dword [edi + 0x1d4]
mov ecx, dword [eax + 0x90]
mov ecx, dword [ecx + 0x14]
cmp dword [ecx + 4], 3
sete cl
test cl, cl
je 0x454f0d
lea ecx, [eax + 0x1c]
xor esi, esi
call fcn.00436420
cmp eax, 6
jne 0x454ebf
mov eax, dword [edi + 0x1d4]
mov esi, dword [eax + 0x90]
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx]
call dword [edx + 0x28]
fcomp dword [0x6bdfbc]
fnstsw ax
test ah, 0x41
jne 0x454ee3
lea eax, [esp + 0x280]
push eax
call fcn.004577c0
jmp 0x454f0d
mov eax, dword [esp + 0x24]
test eax, eax
je 0x454f0d
mov eax, dword [eax + 0x3f8]
test eax, eax
je 0x454efe
cmp dword [eax + 0x1f8], 7
je 0x454f0d
lea ecx, [esp + 0x280]
push ecx
mov eax, edi
call fcn.00457a70
mov edx, dword [0x6a969c]
mov ecx, dword [edi + 0x1d4]
mov eax, edx
add ecx, 0x1c
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
call fcn.00436420
cmp eax, 6
jne 0x454f54
mov ecx, dword [edi + 0x1d4]
mov eax, dword [ecx + 0x90]
mov eax, dword [eax + 0x14]
cmp dword [eax + 4], 1
sete al
test al, al
je 0x454f54
mov edx, dword [0x6a96a4]
mov dword [esp + 0x10], edx
cmp dword [ebx + 0x24], 4
jne 0x454f64
mov dword [esp + 0x20], 0x3f800000
jmp 0x454f9b
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
call fcn.00436420
cmp eax, 6
jne 0x454f9b
mov eax, dword [edi + 0x1d4]
mov eax, dword [eax + 0x90]
mov eax, dword [eax + 0x14]
cmp dword [eax + 4], 3
sete al
test al, al
je 0x454f9b
mov ecx, dword [0x6a96ac]
mov dword [esp + 0x10], ecx
mov eax, dword [edi + 0x1d4]
mov esi, dword [eax + 0x1c]
mov eax, dword [esi + 0xe4]
test eax, eax
mov edx, dword [ebx + 0x3d4]
mov dword [esp + 0x14], edx
je 0x454fbf
mov ecx, esi
call fcn.0059c2a0
fld dword [esi + 0x98]
fld dword [esi + 0x94]
fld dword [esi + 0x90]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fsqrt
fstp dword [esp + 0x18]
fld dword [ebx + 0x88]
fmul dword [ebx + 0x98]
fld dword [ebx + 0x84]
fmul dword [ebx + 0x94]
faddp st(1)
fld dword [ebx + 0x80]
fmul dword [ebx + 0x90]
faddp st(1)
fstp dword [esp + 0x88]
call fcn.00557810
fstp st(0)
fld dword [ebx + 0x3d0]
fcomp dword [0x6bda00]
fnstsw ax
test ah, 5
jp 0x455090
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax + 0x3f8]
test eax, eax
je 0x45504b
mov eax, dword [eax + 0x1f8]
jmp 0x455050
mov eax, 0x14
cmp eax, 0xa
je 0x45506a
cmp eax, 0x14
je 0x45506a
cmp eax, 0xe
je 0x45506a
mov al, byte [esp + 0xc0]
test al, al
jne 0x455090
lea eax, [esp + 0xc0]
push eax
mov esi, ebx
call fcn.00454370
fld dword [esp + 0x18]
mov ecx, dword [0x6a96a0]
fabs
fstp dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x20], ecx
mov eax, edi
call fcn.00454ba0
fcomp dword [0x6bda00]
fnstsw ax
test ah, 5
jp 0x45515f
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
call fcn.00436420
cmp eax, 6
jne 0x4550d5
mov edx, dword [edi + 0x1d4]
mov eax, dword [edx + 0x90]
mov eax, dword [eax + 0x14]
cmp dword [eax + 4], 2
sete al
test al, al
jne 0x455102
mov ecx, dword [edi + 0x1d4]
add ecx, 0x1c
call fcn.00436420
cmp eax, 6
jne 0x45515f
mov eax, dword [edi + 0x1d4]
mov eax, dword [eax + 0x90]
mov eax, dword [eax + 0x14]
cmp dword [eax + 4], 3
sete al
test al, al
je 0x45515f
mov eax, dword [esp + 0x24]
test eax, eax
je 0x45515f
mov eax, dword [eax + 0x3f8]
test eax, eax
je 0x45511c
mov eax, dword [eax + 0x1f8]
jmp 0x455121
mov eax, 0x14
cmp eax, 0xa
je 0x45513b
cmp eax, 0x14
je 0x45513b
cmp eax, 0xe
je 0x45513b
mov al, byte [esp + 0x280]
test al, al
jne 0x45515f
lea ecx, [esp + 0x280]
push ecx
call fcn.004543e0
fld dword [esp + 0x1c]
mov edx, dword [0x6a96a0]
fabs
fstp dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x10], edx
fld dword [esp + 0x14]
fcomp dword [0x6bdb0c]
fnstsw ax
test ah, 0x41
je 0x455178
mov dword [esp + 0x14], 0x3a83126f
fld dword [esp + 0x18]
fcomp dword [0x6bdb0c]
fnstsw ax
test ah, 0x41
je 0x455191
mov dword [esp + 0x18], 0x3a83126f
fld dword [esp + 0x14]
fcomp dword [0x6bddc0]
fnstsw ax
test ah, 5
jp 0x4551ab
mov eax, dword [0x6a96a8]
mov dword [esp + 0x20], eax
fld dword [esp + 0x18]
fcomp dword [0x6bddc0]
fnstsw ax
test ah, 5
jp 0x4551c6
mov ecx, dword [0x6a96a8]
mov dword [esp + 0x10], ecx
push fcn.0058a1c0
push 0x457e80
push 0x14
push 0x50
lea edx, [esp + 0xa90]
push edx
call fcn.00665c1a
push fcn.0058a1c0
push 0x457e80
push 0x14
push 0x50
lea eax, [esp + 0x450]
push eax
mov dword [esp + 0x10e0], 0
call fcn.00665c1a
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 8]
push ecx
lea edx, [esp + 0xa84]
push edx
lea eax, [esp + 0xc8]
push eax
push esi
mov ecx, ebx
mov byte [esp + 0x10dc], 1
call fcn.00455820
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x444]
push edx
lea eax, [esp + 0x288]
push eax
push esi
call fcn.004558a0
mov ecx, dword [ebx + 0x3d0]
lea eax, [ebx + 0x60]
add ebx, 0x70
push ebx
push eax
mov edx, ecx
push edx
lea esi, [esp + 0xcc]
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
call fcn.00456cb0
mov ebx, eax
push edi
lea eax, [esp + 0x284]
push eax
call fcn.00456c50
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [edi + 0x1d4]
mov esi, dword [edi + 0x1c]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0xe4]
test ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], edx
je 0x4552ba
mov ecx, esi
call fcn.0059c2a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x48], ecx
lea ecx, [ebx + ebx*4]
shl ecx, 4
fld dword [esp + ecx + 0xa84]
lea ecx, [esp + ecx + 0xa80]
fld dword [ecx]
lea esi, [eax + eax*4]
fstp dword [esp + 0x6c]
shl esi, 4
lea esi, [esp + esi + 0x440]
fstp dword [esp + 0x70]
mov dword [esp + 0x44], edx
fld dword [esi + 4]
movsx edx, byte [esp + 0xc0]
cmp ebx, edx
fld dword [esi]
fstp dword [esp + 0x54]
mov dword [esp + 0x30], ecx
fstp dword [esp + 0x58]
jge 0x455669
mov dword [esp + 0x34], ecx
jmp 0x455320
mov eax, dword [esp + 0x20]
mov edi, edi
movsx ecx, byte [esp + 0x280]
cmp eax, ecx
jge 0x455669
fld dword [esp + 0x24]
fcomp dword [ebp + 0x18]
fnstsw ax
test ah, 0x41
jp 0x455669
fld dword [esp + 0x6c]
fsub dword [esp + 0x38]
fst dword [esp + 0x9c]
fld dword [esp + 0x70]
fsub dword [esp + 0x3c]
fst dword [esp + 0x50]
fld st(1)
fstp dword [esp + 0x78]
fst dword [esp + 0x7c]
fld dword [esp + 0x54]
fsub dword [esp + 0x44]
fst dword [esp + 0x74]
fst dword [esp + 0x1c]
fld dword [esp + 0x58]
fsub dword [esp + 0x48]
fst dword [esp + 0x4c]
fst dword [esp + 0x28]
fxch st(1)
fstp dword [esp + 0x80]
fstp dword [esp + 0x84]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fsqrt
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fdiv dword [esp + 0x14]
fstp dword [esp + 0x28]
fld dword [esp + 0x1c]
fdiv dword [esp + 0x18]
fld dword [esp + 0x28]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x4553f0
mov edx, dword [esp + 0x28]
fstp st(0)
mov dword [esp + 0x10], edx
jmp 0x4553f4
fstp dword [esp + 0x10]
fld dword [esp + 0x44]
mov ecx, dword [esp + 0x7c]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x84]
fstp dword [esp + 0xb0]
fld dword [esp + 0x48]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x14]
fsub dword [esp + 0x3c]
mov dword [esp + 0x64], edx
push ecx
lea edx, [esp + 0x60]
fstp dword [esp + 0xb8]
mov dword [esp + 0x6c], eax
push edx
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
call fcn.00599db0
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.00599db0
fld dword [esp + 0x7c]
fsub dword [esp + 0x74]
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xb8]
push ecx
fstp dword [esp + 0xbc]
lea edx, [esp + 0xcc]
fld dword [esp + 0x84]
push edx
fsub dword [esp + 0x80]
push eax
mov edi, esi
mov dword [esp + 0xcc], 0
fstp dword [esp + 0xc8]
mov dword [esp + 0xd0], 0
call fcn.00455d50
fcom dword [esp + 0x34]
add esp, 0x24
fnstsw ax
test ah, 0x41
jnp 0x455661
mov ecx, dword [esp + 0x9c]
fstp st(0)
fld dword [esp + 0x10]
mov edx, dword [esp + 0x50]
fmul dword [esp + 0x14]
mov dword [esp + 0x90], ecx
fld dword [esp + 0x2c]
mov dword [esp + 0x94], edx
fabs
fcomp dword [0x6bdcb0]
fnstsw ax
test ah, 0x41
jne 0x455534
fdiv dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x90]
fmul dword [esp + 0x2c]
fld dword [esp + 0x94]
fmul dword [esp + 0x2c]
jmp 0x455542
fstp st(0)
fld dword [0x6bda00]
fld dword [0x6bda00]
fxch st(1)
mov ecx, dword [esp + 0x74]
fadd dword [esp + 0x38]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x8c], edx
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fadd dword [esp + 0x3c]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x3c]
fld dword [esp + 0x10]
fmul dword [esp + 0x88]
fld dword [esp + 0x14]
fadd st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fabs
fcomp dword [0x6bdcb0]
fnstsw ax
test ah, 0x41
jne 0x4555c2
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x98]
fmul dword [esp + 0x1c]
fld dword [esp + 0x8c]
fmul dword [esp + 0x1c]
jmp 0x4555d0
fstp st(0)
fld dword [0x6bda00]
fld dword [0x6bda00]
fxch st(1)
fadd dword [esp + 0x44]
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
fadd dword [esp + 0x48]
mov dword [esp + 0x44], eax
fstp dword [esp + 0x48]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fsub dword [esp + 0x10]
fabs
fcomp dword [0x6bdb0c]
fnstsw ax
test ah, 0x41
jp 0x455629
mov eax, dword [esp + 0x34]
fld dword [eax + 0x54]
inc ebx
fld dword [eax + 0x50]
add eax, 0x50
fstp dword [esp + 0x6c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
fstp dword [esp + 0x70]
jmp 0x455643
mov ecx, dword [esp + 0x20]
fld dword [esi + 0x54]
fld dword [esi + 0x50]
inc ecx
add esi, 0x50
fstp dword [esp + 0x54]
mov dword [esp + 0x20], ecx
fstp dword [esp + 0x58]
fld dword [esp + 0x10]
movsx ecx, byte [esp + 0xc0]
cmp ebx, ecx
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
jl 0x45531a
jmp 0x455669
fadd dword [esp + 0x24]
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
mov eax, dword [ebp + 0x1c]
fcomp dword [0x6bd9f4]
mov edx, dword [esp + 0x40]
mov dword [eax], edx
fnstsw ax
test ah, 5
jp 0x4556f4
fld dword [esp + 0x40]
fsub dword [0x6bd9f4]
fabs
fcomp dword [0x6bdb0c]
fnstsw ax
test ah, 0x41
jnp 0x4556f4
push fcn.0058a1c0
push 0x14
push 0x50
lea ecx, [esp + 0x44c]
push ecx
mov byte [esp + 0x10dc], 0
call fcn.00665bba
push fcn.0058a1c0
push 0x14
push 0x50
lea edx, [esp + 0xa8c]
push edx
mov dword [esp + 0x10dc], 0xffffffff
call fcn.00665bba
mov al, 1
mov ecx, dword [esp + 0x10c4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push fcn.0058a1c0
push 0x14
push 0x50
lea eax, [esp + 0x44c]
push eax
mov byte [esp + 0x10dc], 0
call fcn.00665bba
push fcn.0058a1c0
push 0x14
push 0x50
lea ecx, [esp + 0xa8c]
push ecx
mov dword [esp + 0x10dc], 0xffffffff
call fcn.00665bba
mov ecx, dword [esp + 0x10c4]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x18