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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1dc
mov eax, dword [0x4ad1bc]
xor eax, esp
mov dword [esp + 0x1d8], eax
mov eax, dword [ebp + 0x20]
push ebx
push esi
mov esi, edx
mov dword [esp + 0x20], eax
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x3c], eax
xor eax, eax
mov edx, dword [ecx]
test edx, edx
jle 0x45c82c
add ecx, 4
mov esi, dword [esp + 0x3c]
cmp dword [ecx], esi
mov esi, dword [esp + 0x1c]
je 0x45c930
inc eax
add ecx, 4
cmp eax, edx
jl 0x45c814
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
cmp byte [edi + 0x1d], 0
mov eax, dword [esp + 0x1c]
mov esi, dword [esi + 0x1c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], esi
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x14], eax
jne 0x45cae5
cmp dword [edi + 0x3c], 0
jne 0x45cae5
cmp esi, eax
jae 0x45cae5
movsd xmm5, qword [0x4a8898]
movsd xmm4, qword [0x4a88b8]
nop dword [eax]
mov edx, 0x100
cmp word [esi + 0x10], dx
mov edx, dword [esp + 0x18]
jne 0x45cad2
not ecx
mov eax, edx
and ecx, dword [esi + 0x20]
not eax
and eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x45cace
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x160]
mov eax, dword [edx + 0x164]
and ecx, dword [esp + 0x2c]
and eax, dword [esp + 0x18]
or ecx, eax
je 0x45cace
mov eax, dword [edx + 0x14]
xorps xmm0, xmm0
mov esi, dword [edx + 0x1c]
xorps xmm3, xmm3
movlpd qword [esp + 0x30], xmm0
xorps xmm2, xmm2
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
movsd qword [esp + 0x48], xmm3
mov dword [esp + 0x20], eax
movsd qword [esp + 0x50], xmm2
cmp esi, eax
jae 0x45cafa
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
nop
mov eax, 0x200
cmp word [esi + 0x10], ax
jne 0x45c94a
mov edx, dword [esi + 0xc]
jmp 0x45c993
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x45c83d
mov eax, dword [esp + 0x3c]
cmp dword [esi + 8], eax
mov eax, dword [esp + 0x20]
jne 0x45ca5c
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x80]
mov byte [esp + 0x90], 0x45
mov dword [esp + 0x9c], esi
mov dword [esp + 0x94], 1
mov eax, dword [ecx]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0xc]
mov ecx, ebx
test byte [eax + 0x22], 0x10
je 0x45c9ed
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call fcn.0045d580
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp dword [eax + 0x1c], 0
je 0x45c9e0
push dword [eax + 0x18]
call fcn.00409f40
mov eax, dword [esp + 0x14]
add esp, 4
push eax
push dword [ebx]
call fcn.00409fe0
add esp, 8
jmp 0x45ca0b
lea eax, [esp + 0x58]
push eax
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call fcn.0045d7b0
add esp, 0x20
movsd xmm0, qword [esp + 0x70]
addsd xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
or edx, dword [esp + 0x78]
or ecx, dword [esp + 0x7c]
movaps xmm3, xmm0
comisd xmm3, xmmword [eax + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], ecx
movsd xmm0, qword [esp + 0x60]
addsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x48], xmm3
movaps xmm2, xmm0
movsd qword [esp + 0x50], xmm2
jae 0x45ca6b
mov eax, dword [esp + 0x20]
add esi, 0x28
cmp esi, eax
jb 0x45c920
mov eax, dword [esp + 0x24]
movsd xmm5, qword [0x4a8898]
movsd xmm4, qword [0x4a88b8]
cmp dword [ebp + 0x1c], 0
je 0x45caa6
comisd xmm2, xmm4
movaps xmm0, xmm5
movaps xmm1, xmm4
jbe 0x45ca9e
nop dword [eax]
mulsd xmm1, xmm4
addsd xmm0, xmm5
comisd xmm2, xmm1
ja 0x45ca90
mulsd xmm0, xmm2
addsd xmm3, xmm0
movsd xmm0, qword [eax + 0x18]
comisd xmm0, xmm3
mov esi, dword [esp + 0x28]
jbe 0x45cace
movsd qword [eax + 0x18], xmm3
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
movsd qword [eax + 8], xmm2
mov dword [eax], 0x10000000
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
add esi, 0x28
mov dword [esp + 0x28], esi
cmp esi, eax
jb 0x45c890
mov ecx, dword [esp + 0x1e4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047137e
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
jmp 0x45ca7b