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

Disassembly:
sub esp, 0xf0
push esi
push edi
mov ecx, dword [0x6cbd94]
mov eax, dword [0x6cbd90]
mov edx, dword [0x6cbd78]
mov dword [esp + 0x24], ecx
mov ecx, dword [0x6cbd50]
mov dword [esp + 0x38], ecx
mov ecx, dword [0x58bf48]
sub ecx, dword [0x6cbd88]
mov dword [esp + 0x20], eax
mov eax, dword [0x6cbd60]
sub ecx, dword [0x6cbd80]
mov dword [esp + 0x28], edx
sub ecx, dword [0x58bf44]
mov edx, dword [0x6cbd6c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov eax, dword [0x6cbd68]
mov dword [esp + 0x34], eax
mov eax, dword [0x6cbd54]
mov dword [esp + 0x3c], edx
mov edx, dword [0x6cbd74]
mov dword [esp + 0x40], eax
mov eax, dword [0x6cbd5c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x6cbd70]
mov dword [esp + 0x54], edx
mov edx, dword [0x6cbd58]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x58], eax
mov eax, dword [0x6cbd98]
mov dword [esp + 0x5c], ecx
mov ecx, dword [0x6cbd9c]
mov dword [esp + 0x60], edx
mov edx, dword [0x6cbda0]
xor edi, edi
cmp esi, edi
mov dword [esp + 0x68], eax
mov eax, dword [0x6cbda4]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x6cbda8]
mov dword [esp + 0x70], edx
mov edx, dword [0x6cbdac]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x50], 0xc8
mov dword [esp + 0x64], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
jge 0x454ec1
pop edi
xor eax, eax
pop esi
add esp, 0xf0
ret
cmp dword [0x6cbbdc], 2
jne 0x454ed7
mov eax, 0x80100000
or dword [esp + 0x20], eax
or dword [esp + 0x24], eax
mov ecx, dword [0x58cfa4]
call fcn.004541d0
mov eax, dword [0x58cfa4]
mov eax, dword [eax + 8]
xor edx, edx
cmp eax, edi
mov dword [esp + 8], eax
je 0x454f13
add edx, dword [eax + 0x68]
cmp edx, esi
jg 0x454f0c
mov ecx, dword [0x58cfa4]
call fcn.004542a0
test eax, eax
jne 0x454ef4
jmp 0x454f0f
sub edx, dword [eax + 0x68]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x100]
sub esi, edx
mov dword [esp + 0x18], esi
fild dword [esp + 0x18]
fadd qword [0x49b3b0]
fstp dword [esp + 0xc]
call fcn.00422e70
mov eax, 0x58bff0
jmp 0x454f40
mov dword [eax], edi
add eax, 0x7c
cmp eax, 0x58cf70
jl 0x454f40
mov eax, dword [0x58bf54]
fldz
neg eax
sbb eax, eax
and eax, 0x58bf50
cmp dword [esp + 8], edi
push ebx
push ebp
mov dword [esp + 0x20], eax
je 0x45547d
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call fcn.00453fc0
test al, al
je 0x45547d
xor esi, esi
mov eax, 0x58bfd0
cmp dword [eax + 8], 0
je 0x454fa1
mov edx, dword [eax]
cmp edx, dword [edi + 0x74]
jne 0x454fa1
cmp dword [eax + 0x20], 0
je 0x455013
cmp dword [eax + 0x84], 0
je 0x454fbb
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [edi + 0x74]
jne 0x454fbb
cmp dword [eax + 0x9c], 0
je 0x455006
cmp dword [eax + 0x100], 0
je 0x454fd8
mov edx, dword [eax + 0xf8]
cmp edx, dword [edi + 0x74]
jne 0x454fd8
cmp dword [eax + 0x118], 0
je 0x45500b
cmp dword [eax + 0x17c], 0
je 0x454ff5
mov ecx, dword [eax + 0x174]
cmp ecx, dword [edi + 0x74]
jne 0x454ff5
cmp dword [eax + 0x194], 0
je 0x455010
add eax, 0x1f0
add esi, 4
cmp eax, 0x58cf50
jl 0x454f8e
jmp 0x455013
add esi, 1
jmp 0x455013
add esi, 2
jmp 0x455013
add esi, 3
cmp esi, 0x20
jne 0x455395
fstp st(0)
xor esi, esi
mov eax, 0x58c054
cmp dword [eax - 0x7c], 0
je 0x45505d
cmp dword [eax], 0
je 0x455050
cmp dword [eax + 0x7c], 0
je 0x455055
cmp dword [eax + 0xf8], 0
je 0x45505a
add eax, 0x1f0
add esi, 4
cmp eax, 0x58cfd4
jl 0x455025
jmp 0x45505d
add esi, 1
jmp 0x45505d
add esi, 2
jmp 0x45505d
add esi, 3
cmp esi, 0x20
je 0x45547f
mov edx, dword [0x58bf4c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.0046f970
imul esi, esi, 0x7c
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esi + 0x58bfd8], eax
je 0x4555cd
cmp dword [esp + 0xa0], 0xffffffff
je 0x4550b1
mov eax, dword [esp + 0xa8]
test eax, eax
mov edi, eax
mov dword [esp + 0x24], edi
je 0x4550b7
mov ebx, dword [eax + 8]
add ebx, eax
jmp 0x4550b9
xor edi, edi
mov dword [esp + 0x24], edi
xor ebx, ebx
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x4550cb
mov eax, dword [ecx + 8]
add eax, ecx
jmp 0x4550cd
xor eax, eax
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x4550e6
mov edi, dword [edx + ecx]
mov ebp, dword [esp + 0x20]
add edx, ecx
mov dword [ebp], edi
mov edi, dword [esp + 0x24]
jmp 0x4550e8
xor edx, edx
test edi, edi
mov ebp, dword [ecx + 0x18]
mov ecx, dword [ecx + 0xc]
je 0x4550f7
mov edi, dword [edi + 0xc]
jmp 0x4550f9
xor edi, edi
push ebp
mov ebp, dword [esp + 0x24]
push ebp
push edx
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push ebx
push edi
push ecx
call fcn.00471ba0
mov eax, dword [0x58bfb8]
add esp, 0x20
test eax, eax
je 0x45514e
mov edx, dword [0x58bf4c]
shl edx, 5
push edx
push 0
push 0
push eax
call fcn.0043bca0
push eax
call fcn.00433510
add esp, 0x14
test eax, eax
mov dword [esi + 0x58bfd4], eax
je 0x45514e
push 3
push 1
push eax
call fcn.004333d0
add esp, 0xc
mov eax, dword [esi + 0x58bfd8]
mov ecx, dword [eax + 0x4c]
add ecx, dword [0x6cbd88]
mov ebx, dword [esp + 0x10]
add ecx, dword [0x6cbd80]
mov eax, dword [esp + 0x9c]
test eax, eax
mov dword [esi + 0x58bfe4], ecx
mov edx, dword [ebx + 0x68]
mov dword [esi + 0x58bfe8], edx
je 0x4551aa
mov ecx, dword [0x58bf4c]
shl ecx, 5
add ecx, 0x15
push ecx
push 0
push 0xffffffffffffffff
push eax
call fcn.004022d0
add esp, 4
push eax
call fcn.0043bd40
add esp, 0x10
mov dword [esi + 0x58c048], eax
fild dword [esi + 0x58bfe8]
mov eax, dword [esi + 0x58bfd4]
test eax, eax
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
je 0x455269
mov ecx, dword [0x58bfbc]
sub ecx, 0
je 0x45522a
sub ecx, 1
jne 0x455269
faddp st(1)
push ecx
sub esp, 8
fadd dword [0x58bfc4]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [0x58bfc0]
fadd dword [0x58bf64]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push eax
call fcn.00436a20
fld dword [esp + 0x24]
add esp, 0x10
jmp 0x45526b
fstp st(1)
push 0
fadd dword [0x58bfc4]
sub esp, 8
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [0x58bfc0]
fadd dword [0x58bf64]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push eax
call fcn.00436a20
fld dword [esp + 0x24]
add esp, 0x10
jmp 0x45526b
fstp st(1)
fld dword [0x58bf64]
mov ecx, dword [esi + 0x58bfd8]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fst dword [esi + 0x58bfdc]
fxch st(1)
or eax, 0xc00
mov dword [esp + 0x18], eax
fst dword [esi + 0x58bfe0]
fldcw word [esp + 0x18]
fistp qword [esp + 0x18]
mov edx, dword [esp + 0x18]
add edx, dword [0x6cbd84]
fldcw word [esp + 0x10]
push edx
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp qword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add eax, dword [0x6cbd80]
fldcw word [esp + 0x14]
push eax
push ecx
call fcn.0046fb20
mov edi, dword [esp + 0x114]
add esp, 0xc
test edi, edi
je 0x455344
cmp dword [esp + 0xb4], 0
je 0x45531b
mov edx, dword [esp + 0xb8]
push 0
push edx
call fcn.004022d0
add esp, 4
push eax
call fcn.0046c7a0
add esp, 8
test eax, eax
je 0x45531b
mov eax, 1
jmp 0x45531d
xor eax, eax
mov edx, dword [esp + 0xb0]
neg edx
sbb edx, edx
lea ecx, [esi + 0x58bfd0]
and edx, 2
push ecx
add edx, eax
push edx
push edi
call fcn.00454460
add esp, 0xc
mov dword [esi + 0x58bff4], eax
mov eax, dword [esi + 0x58c048]
test eax, eax
je 0x45537d
fld dword [esp + 0x14]
mov ecx, dword [0x6cbd48]
push 0
sub esp, 8
test ecx, ecx
fstp dword [esp + 4]
fild dword [0x6cbd48]
jge 0x455371
fadd dword [0x49a4d0]
fstp dword [esp]
push eax
call fcn.00431e00
add esp, 0x10
mov dword [esi + 0x58bff0], 1
mov edx, dword [ebx + 0x74]
mov dword [esi + 0x58bfd0], edx
jmp 0x455459
fld dword [esp + 0x14]
imul esi, esi, 0x7c
mov dword [esi + 0x58bff0], 1
fisub dword [esi + 0x58bfe8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fsub dword [esi + 0x58bfe0]
call fcn.00482530
mov ebp, eax
mov eax, dword [esi + 0x58bfd4]
test eax, eax
mov dword [esp + 0x10], ebp
je 0x4553ea
fild dword [esp + 0x10]
push 0
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00431e00
add esp, 0x10
jmp 0x4553ec
fstp st(0)
fld dword [esp + 0x14]
xor edi, edi
cmp dword [esi + 0x58bff4], edi
fstp dword [esi + 0x58bfe0]
jle 0x455426
lea ebx, [esi + 0x58bff8]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x108]
push ebp
push 0
push eax
call fcn.00422720
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x58bff4]
jl 0x455406
mov ecx, dword [esi + 0x58bfd8]
push ebp
push 0
push ecx
call fcn.0046fb90
fild dword [esp + 0x1c]
mov edx, dword [esi + 0x58c048]
add esp, 0xc
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push edx
call fcn.00431e00
add esp, 0x10
fldz
fcom dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x45547d
mov ecx, dword [0x58cfa4]
call fcn.004542a0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x454f6c
fstp st(0)
mov esi, 0x58bff4
cmp dword [esi - 4], 0
jne 0x4554f8
cmp dword [esp + 0x108], 0
je 0x4554b8
xor edi, edi
cmp dword [esi], edi
jle 0x4554b8
mov ebp, dword [esp + 0x108]
lea ebx, [esi + 4]
mov eax, dword [ebx]
push eax
mov ecx, ebp
call fcn.004224f0
add edi, 1
add ebx, 4
cmp edi, dword [esi]
jl 0x4554a4
mov eax, dword [esi - 0x1c]
xor edi, edi
cmp eax, edi
mov dword [esi], edi
je 0x4554cf
push eax
call fcn.00471b70
add esp, 4
mov dword [esi - 0x1c], edi
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x4554e2
push eax
call fcn.0043aa50
add esp, 4
mov dword [esi + 0x54], edi
mov eax, dword [esi - 0x20]
cmp eax, edi
je 0x4554f5
push eax
call fcn.0043aa50
add esp, 4
mov dword [esi - 0x20], edi
mov dword [esi - 4], edi
add esi, 0x7c
cmp esi, 0x58cf74
jl 0x455484
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4555da
call fcn.00482530
mov ebp, eax
neg ebp
mov dword [esp + 0x10], ebp
mov esi, 0x58bfe0
lea ebx, [ebx]
cmp dword [esi + 0x10], 0
je 0x4555bc
fild dword [esp + 0x10]
xor edi, edi
cmp dword [esi + 0x14], edi
fstp dword [esp + 0x14]
fld dword [esi]
fadd dword [esp + 0x14]
fstp dword [esi]
jle 0x455571
lea ebx, [esi + 0x18]
mov ecx, dword [ebx]
push ebp
push 0
push ecx
mov ecx, dword [esp + 0x114]
call fcn.00422720
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x14]
jl 0x455554
mov edx, dword [esi - 8]
push ebp
push 0
push edx
call fcn.0046fb90
fld dword [esp + 0x20]
mov eax, dword [esi - 0xc]
add esp, 0xc
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push eax
call fcn.00431e00
fld dword [esp + 0x24]
mov ecx, dword [esi + 0x68]
add esp, 0x10
push 0
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
push ecx
call fcn.00431e00
add esp, 0x10
add esi, 0x7c
cmp esi, 0x58cf60
jl 0x455530
jmp 0x4555dc
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0xf0
ret
fstp st(0)
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x4555f0
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0xf0
ret