Function at 0x454f00
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 0x455001
pop edi
xor eax, eax
pop esi
add esp, 0xf0
ret
cmp dword [0x6cbbdc], 2
jne 0x455017
mov eax, 0x80100000
or dword [esp + 0x20], eax
or dword [esp + 0x24], eax
mov ecx, dword [0x58cfa4]
call fcn.00454310
mov eax, dword [0x58cfa4]
mov eax, dword [eax + 8]
xor edx, edx
cmp eax, edi
mov dword [esp + 8], eax
je 0x455053
add edx, dword [eax + 0x68]
cmp edx, esi
jg 0x45504c
mov ecx, dword [0x58cfa4]
call fcn.004543e0
test eax, eax
jne 0x455034
jmp 0x45504f
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.00422f10
mov eax, 0x58bff0
jmp 0x455080
mov dword [eax], edi
add eax, 0x7c
cmp eax, 0x58cf70
jl 0x455080
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 0x4555bd
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x88]
push ecx
mov ecx, edi
call fcn.00454100
test al, al
je 0x4555bd
xor esi, esi
mov eax, 0x58bfd0
cmp dword [eax + 8], 0
je 0x4550e1
mov edx, dword [eax]
cmp edx, dword [edi + 0x74]
jne 0x4550e1
cmp dword [eax + 0x20], 0
je 0x455153
cmp dword [eax + 0x84], 0
je 0x4550fb
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [edi + 0x74]
jne 0x4550fb
cmp dword [eax + 0x9c], 0
je 0x455146
cmp dword [eax + 0x100], 0
je 0x455118
mov edx, dword [eax + 0xf8]
cmp edx, dword [edi + 0x74]
jne 0x455118
cmp dword [eax + 0x118], 0
je 0x45514b
cmp dword [eax + 0x17c], 0
je 0x455135
mov ecx, dword [eax + 0x174]
cmp ecx, dword [edi + 0x74]
jne 0x455135
cmp dword [eax + 0x194], 0
je 0x455150
add eax, 0x1f0
add esi, 4
cmp eax, 0x58cf50
jl 0x4550ce
jmp 0x455153
add esi, 1
jmp 0x455153
add esi, 2
jmp 0x455153
add esi, 3
cmp esi, 0x20
jne 0x4554d5
fstp st(0)
xor esi, esi
mov eax, 0x58c054
cmp dword [eax - 0x7c], 0
je 0x45519d
cmp dword [eax], 0
je 0x455190
cmp dword [eax + 0x7c], 0
je 0x455195
cmp dword [eax + 0xf8], 0
je 0x45519a
add eax, 0x1f0
add esi, 4
cmp eax, 0x58cfd4
jl 0x455165
jmp 0x45519d
add esi, 1
jmp 0x45519d
add esi, 2
jmp 0x45519d
add esi, 3
cmp esi, 0x20
je 0x4555bf
mov edx, dword [0x58bf4c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.0046fb40
imul esi, esi, 0x7c
add esp, 8
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esi + 0x58bfd8], eax
je 0x45570d
cmp dword [esp + 0xa0], 0xffffffff
je 0x4551f1
mov eax, dword [esp + 0xa8]
test eax, eax
mov edi, eax
mov dword [esp + 0x24], edi
je 0x4551f7
mov ebx, dword [eax + 8]
add ebx, eax
jmp 0x4551f9
xor edi, edi
mov dword [esp + 0x24], edi
xor ebx, ebx
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x45520b
mov eax, dword [ecx + 8]
add eax, ecx
jmp 0x45520d
xor eax, eax
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x455226
mov edi, dword [edx + ecx]
mov ebp, dword [esp + 0x20]
add edx, ecx
mov dword [ebp], edi
mov edi, dword [esp + 0x24]
jmp 0x455228
xor edx, edx
test edi, edi
mov ebp, dword [ecx + 0x18]
mov ecx, dword [ecx + 0xc]
je 0x455237
mov edi, dword [edi + 0xc]
jmp 0x455239
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.00471d70
mov eax, dword [0x58bfb8]
add esp, 0x20
test eax, eax
je 0x45528e
mov edx, dword [0x58bf4c]
shl edx, 5
push edx
push 0
push 0
push eax
call fcn.0043bde0
push eax
call fcn.004335b0
add esp, 0x14
test eax, eax
mov dword [esi + 0x58bfd4], eax
je 0x45528e
push 3
push 1
push eax
call fcn.00433470
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 0x4552ea
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.0043be80
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 0x4553a9
mov ecx, dword [0x58bfbc]
sub ecx, 0
je 0x45536a
sub ecx, 1
jne 0x4553a9
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.00436ac0
fld dword [esp + 0x24]
add esp, 0x10
jmp 0x4553ab
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.00436ac0
fld dword [esp + 0x24]
add esp, 0x10
jmp 0x4553ab
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.0046fcf0
mov edi, dword [esp + 0x114]
add esp, 0xc
test edi, edi
je 0x455484
cmp dword [esp + 0xb4], 0
je 0x45545b
mov edx, dword [esp + 0xb8]
push 0
push edx
call fcn.004022d0
add esp, 4
push eax
call fcn.0046c970
add esp, 8
test eax, eax
je 0x45545b
mov eax, 1
jmp 0x45545d
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.004545a0
add esp, 0xc
mov dword [esi + 0x58bff4], eax
mov eax, dword [esi + 0x58c048]
test eax, eax
je 0x4554bd
fld dword [esp + 0x14]
mov ecx, dword [0x6cbd48]
push 0
sub esp, 8
test ecx, ecx
fstp dword [esp + 4]
fild dword [0x6cbd48]
jge 0x4554b1
fadd dword [0x49a4d0]
fstp dword [esp]
push eax
call fcn.00431ea0
add esp, 0x10
mov dword [esi + 0x58bff0], 1
mov edx, dword [ebx + 0x74]
mov dword [esi + 0x58bfd0], edx
jmp 0x455599
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.00482700
mov ebp, eax
mov eax, dword [esi + 0x58bfd4]
test eax, eax
mov dword [esp + 0x10], ebp
je 0x45552a
fild dword [esp + 0x10]
push 0
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
push eax
call fcn.00431ea0
add esp, 0x10
jmp 0x45552c
fstp st(0)
fld dword [esp + 0x14]
xor edi, edi
cmp dword [esi + 0x58bff4], edi
fstp dword [esi + 0x58bfe0]
jle 0x455566
lea ebx, [esi + 0x58bff8]
mov eax, dword [ebx]
mov ecx, dword [esp + 0x108]
push ebp
push 0
push eax
call fcn.004227c0
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x58bff4]
jl 0x455546
mov ecx, dword [esi + 0x58bfd8]
push ebp
push 0
push ecx
call fcn.0046fd60
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.00431ea0
add esp, 0x10
fldz
fcom dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x4555bd
mov ecx, dword [0x58cfa4]
call fcn.004543e0
test eax, eax
mov dword [esp + 0x10], eax
jne 0x4550ac
fstp st(0)
mov esi, 0x58bff4
cmp dword [esi - 4], 0
jne 0x455638
cmp dword [esp + 0x108], 0
je 0x4555f8
xor edi, edi
cmp dword [esi], edi
jle 0x4555f8
mov ebp, dword [esp + 0x108]
lea ebx, [esi + 4]
mov eax, dword [ebx]
push eax
mov ecx, ebp
call fcn.00422590
add edi, 1
add ebx, 4
cmp edi, dword [esi]
jl 0x4555e4
mov eax, dword [esi - 0x1c]
xor edi, edi
cmp eax, edi
mov dword [esi], edi
je 0x45560f
push eax
call fcn.00471d40
add esp, 4
mov dword [esi - 0x1c], edi
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x455622
push eax
call fcn.0043ab90
add esp, 4
mov dword [esi + 0x54], edi
mov eax, dword [esi - 0x20]
cmp eax, edi
je 0x455635
push eax
call fcn.0043ab90
add esp, 4
mov dword [esi - 0x20], edi
mov dword [esi - 4], edi
add esi, 0x7c
cmp esi, 0x58cf74
jl 0x4555c4
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x45571a
call fcn.00482700
mov ebp, eax
neg ebp
mov dword [esp + 0x10], ebp
mov esi, 0x58bfe0
lea ebx, [ebx]
cmp dword [esi + 0x10], 0
je 0x4556fc
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 0x4556b1
lea ebx, [esi + 0x18]
mov ecx, dword [ebx]
push ebp
push 0
push ecx
mov ecx, dword [esp + 0x114]
call fcn.004227c0
add edi, 1
add ebx, 4
cmp edi, dword [esi + 0x14]
jl 0x455694
mov edx, dword [esi - 8]
push ebp
push 0
push edx
call fcn.0046fd60
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.00431ea0
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.00431ea0
add esp, 0x10
add esi, 0x7c
cmp esi, 0x58cf60
jl 0x455670
jmp 0x45571c
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 0x455730
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