Function at 0x454e90
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 0x454f91
pop edi
xor eax, eax
pop esi
add esp, 0xf0
ret
cmp dword [0x6cbbdc], 2
jne 0x454fa7
mov eax, 0x80100000
or dword [esp + 0x20], eax
or dword [esp + 0x24], eax
mov ecx, dword [0x58cfa4]
call fcn.004542a0
mov eax, dword [0x58cfa4]
mov eax, dword [eax + 8]
xor edx, edx
cmp eax, edi
mov dword [esp + 8], eax
je 0x454fe3
add edx, dword [eax + 0x68]
cmp edx, esi
jg 0x454fdc
mov ecx, dword [0x58cfa4]
call fcn.00454370
test eax, eax
jne 0x454fc4
jmp 0x454fdf
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 [0x49b3c0]
fstp dword [esp + 0xc]
call fcn.00422ea0
mov eax, 0x58bff0
jmp 0x455010
mov dword [eax], edi
add eax, 0x7c
cmp eax, 0x58cf70
jl 0x455010
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 0x45554d
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call fcn.00454090
test al, al
je 0x45554d
xor esi, esi
mov eax, 0x58bfd0
cmp dword [eax + 8], 0
je 0x455071
mov edx, dword [eax]
cmp edx, dword [edi + 0x74]
jne 0x455071
cmp dword [eax + 0x20], 0
je 0x4550e3
cmp dword [eax + 0x84], 0
je 0x45508b
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [edi + 0x74]
jne 0x45508b
cmp dword [eax + 0x9c], 0
je 0x4550d6
cmp dword [eax + 0x100], 0
je 0x4550a8
mov edx, dword [eax + 0xf8]
cmp edx, dword [edi + 0x74]
jne 0x4550a8
cmp dword [eax + 0x118], 0
je 0x4550db
cmp dword [eax + 0x17c], 0
je 0x4550c5
mov ecx, dword [eax + 0x174]
cmp ecx, dword [edi + 0x74]
jne 0x4550c5
cmp dword [eax + 0x194], 0
je 0x4550e0
add eax, 0x1f0
add esi, 4
cmp eax, 0x58cf50
jl 0x45505e
jmp 0x4550e3
add esi, 1
jmp 0x4550e3
add esi, 2
jmp 0x4550e3
add esi, 3
cmp esi, 0x20
jne 0x455465
fstp st(0)
xor esi, esi
mov eax, 0x58c054
cmp dword [eax - 0x7c], 0
je 0x45512d
cmp dword [eax], 0
je 0x455120
cmp dword [eax + 0x7c], 0
je 0x455125
cmp dword [eax + 0xf8], 0
je 0x45512a
add eax, 0x1f0
add esi, 4
cmp eax, 0x58cfd4
jl 0x4550f5
jmp 0x45512d
add esi, 1
jmp 0x45512d
add esi, 2
jmp 0x45512d
add esi, 3
cmp esi, 0x20
je 0x45554f
mov edx, dword [0x58bf4c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.0046fa40
imul esi, esi, 0x7c
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esi + 0x58bfd8], eax
je 0x45569d
cmp dword [esp + 0xa0], 0xffffffff
je 0x455181
mov eax, dword [esp + 0xa8]
test eax, eax
mov edi, eax
mov dword [esp + 0x24], edi
je 0x455187
mov ebx, dword [eax + 8]
add ebx, eax
jmp 0x455189
xor edi, edi
mov dword [esp + 0x24], edi
xor ebx, ebx
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x45519b
mov eax, dword [ecx + 8]
add eax, ecx
jmp 0x45519d
xor eax, eax
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x4551b6
mov edi, dword [edx + ecx]
mov ebp, dword [esp + 0x20]
add edx, ecx
mov dword [ebp], edi
mov edi, dword [esp + 0x24]
jmp 0x4551b8
xor edx, edx
test edi, edi
mov ebp, dword [ecx + 0x18]
mov ecx, dword [ecx + 0xc]
je 0x4551c7
mov edi, dword [edi + 0xc]
jmp 0x4551c9
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.00471c70
mov eax, dword [0x58bfb8]
add esp, 0x20
test eax, eax
je 0x45521e
mov edx, dword [0x58bf4c]
shl edx, 5
push edx
push 0
push 0
push eax
call fcn.0043bd70
push eax
call fcn.00433540
add esp, 0x14
test eax, eax
mov dword [esi + 0x58bfd4], eax
je 0x45521e
push 3
push 1
push eax
call fcn.00433400
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 0x45527a
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.0043be10
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 0x455339
mov ecx, dword [0x58bfbc]
sub ecx, 0
je 0x4552fa
sub ecx, 1
jne 0x455339
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.00436a50
fld dword [esp + 0x24]
add esp, 0x10
jmp 0x45533b
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.00436a50
fld dword [esp + 0x24]
add esp, 0x10
jmp 0x45533b
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.0046fbf0
mov edi, dword [esp + 0x114]
add esp, 0xc
test edi, edi
je 0x455414
cmp dword [esp + 0xb4], 0
je 0x4553eb
mov edx, dword [esp + 0xb8]
push 0
push edx
call fcn.004022d0
add esp, 4
push eax
call fcn.0046c870
add esp, 8
test eax, eax
je 0x4553eb
mov eax, 1
jmp 0x4553ed
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.00454530
add esp, 0xc
mov dword [esi + 0x58bff4], eax
mov eax, dword [esi + 0x58c048]
test eax, eax
je 0x45544d
fld dword [esp + 0x14]
mov ecx, dword [0x6cbd48]
push 0
sub esp, 8
test ecx, ecx
fstp dword [esp + 4]
fild dword [0x6cbd48]
jge 0x455441
fadd dword [0x49a4d0]
fstp dword [esp]
push eax
call fcn.00431e30
add esp, 0x10
mov dword [esi + 0x58bff0], 1
mov edx, dword [ebx + 0x74]
mov dword [esi + 0x58bfd0], edx
jmp 0x455529
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.00482600
mov ebp, eax
mov eax, dword [esi + 0x58bfd4]
test eax, eax
mov dword [esp + 0x10], ebp
je 0x4554ba
fild dword [esp + 0x10]
push 0
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00431e30
add esp, 0x10
jmp 0x4554bc
fstp st(0)
fld dword [esp + 0x14]
xor edi, edi
cmp dword [esi + 0x58bff4], edi
fstp dword [esi + 0x58bfe0]
jle 0x4554f6
lea ebx, [esi + 0x58bff8]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x108]
push ebp
push 0
push eax
call fcn.00422750
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x58bff4]
jl 0x4554d6
mov ecx, dword [esi + 0x58bfd8]
push ebp
push 0
push ecx
call fcn.0046fc60
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.00431e30
add esp, 0x10
fldz
fcom dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x45554d
mov ecx, dword [0x58cfa4]
call fcn.00454370
test eax, eax
mov dword [esp + 0x10], eax
jne 0x45503c
fstp st(0)
mov esi, 0x58bff4
cmp dword [esi - 4], 0
jne 0x4555c8
cmp dword [esp + 0x108], 0
je 0x455588
xor edi, edi
cmp dword [esi], edi
jle 0x455588
mov ebp, dword [esp + 0x108]
lea ebx, [esi + 4]
mov eax, dword [ebx]
push eax
mov ecx, ebp
call fcn.00422520
add edi, 1
add ebx, 4
cmp edi, dword [esi]
jl 0x455574
mov eax, dword [esi - 0x1c]
xor edi, edi
cmp eax, edi
mov dword [esi], edi
je 0x45559f
push eax
call fcn.00471c40
add esp, 4
mov dword [esi - 0x1c], edi
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x4555b2
push eax
call fcn.0043ab20
add esp, 4
mov dword [esi + 0x54], edi
mov eax, dword [esi - 0x20]
cmp eax, edi
je 0x4555c5
push eax
call fcn.0043ab20
add esp, 4
mov dword [esi - 0x20], edi
mov dword [esi - 4], edi
add esi, 0x7c
cmp esi, 0x58cf74
jl 0x455554
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4556aa
call fcn.00482600
mov ebp, eax
neg ebp
mov dword [esp + 0x10], ebp
mov esi, 0x58bfe0
lea ebx, [ebx]
cmp dword [esi + 0x10], 0
je 0x45568c
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 0x455641
lea ebx, [esi + 0x18]
mov ecx, dword [ebx]
push ebp
push 0
push ecx
mov ecx, dword [esp + 0x114]
call fcn.00422750
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x14]
jl 0x455624
mov edx, dword [esi - 8]
push ebp
push 0
push edx
call fcn.0046fc60
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.00431e30
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.00431e30
add esp, 0x10
add esi, 0x7c
cmp esi, 0x58cf60
jl 0x455600
jmp 0x4556ac
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 0x4556c0
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