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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
mov eax, dword [0x49f008]
xor eax, esp
mov dword [esp + 0x1e0], 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 0x45ddec
add ecx, 4
mov esi, dword [esp + 0x3c]
cmp dword [ecx], esi
mov esi, dword [esp + 0x1c]
je 0x45def2
inc eax
add ecx, 4
cmp eax, edx
jl 0x45ddd4
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
cmp byte [edi + 0x1d], 0
mov esi, dword [esi + 0x20]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], esi
jne 0x45e0b5
cmp dword [edi + 0x3c], 0
jne 0x45e0b5
mov eax, dword [esp + 0x1c]
test byte [eax + 0x16], 0x80
jne 0x45e0b5
mov eax, dword [eax + 0x18]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x14], eax
cmp esi, eax
jae 0x45e0b5
movsd xmm5, qword [0x49bb00]
movsd xmm4, qword [0x49bb28]
mov edx, 0x100
cmp word [esi + 0x10], dx
mov edx, dword [esp + 0x18]
jne 0x45e0a2
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 0x45e09e
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x168]
mov eax, dword [edx + 0x16c]
and ecx, dword [esp + 0x2c]
and eax, dword [esp + 0x18]
or ecx, eax
je 0x45e09e
mov eax, dword [edx + 0x18]
xorps xmm0, xmm0
mov esi, dword [edx + 0x20]
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 0x45e0ca
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
mov eax, 0x200
cmp word [esi + 0x10], ax
jne 0x45df0c
mov edx, dword [esi + 0xc]
jmp 0x45df66
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 0x45ddfd
mov eax, dword [esp + 0x3c]
cmp dword [esi + 8], eax
mov eax, dword [esp + 0x20]
jne 0x45e028
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x80]
mov dword [esp + 0x90], ecx
mov byte [esp + 0x94], 0x45
mov dword [esp + 0xa0], esi
mov eax, dword [ecx]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x84], eax
xor eax, eax
mov word [esp + 0x96], ax
mov dword [esp + 0x98], 1
mov eax, dword [edi + 0xc]
mov ecx, ebx
test byte [eax + 0x22], 0x10
je 0x45dfbc
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.0045e8a0
mov edx, dword [esp + 0x30]
add esp, 0x20
cmp dword [edx + 0x1c], 0
je 0x45dfb3
push dword [edx + 0x18]
call fcn.00409d50
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [ebx]
call fcn.00409df0
jmp 0x45dfda
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.0045eb90
add esp, 0x20
movsd xmm0, qword [esp + 0x60]
movsd xmm3, qword [esp + 0x70]
addsd xmm0, qword [esp + 0x50]
addsd xmm3, qword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
or edx, dword [esp + 0x78]
movaps xmm2, xmm0
or ecx, dword [esp + 0x7c]
comisd xmm3, xmmword [eax + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], ecx
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x50], xmm2
jae 0x45e037
mov eax, dword [esp + 0x20]
add esi, 0x28
cmp esi, eax
jb 0x45dee2
mov eax, dword [esp + 0x24]
movsd xmm5, qword [0x49bb00]
movsd xmm4, qword [0x49bb28]
cmp dword [ebp + 0x1c], 0
je 0x45e076
comisd xmm2, xmm4
movaps xmm0, xmm5
movaps xmm1, xmm4
jbe 0x45e06e
nop dword [eax]
mulsd xmm1, xmm4
addsd xmm0, xmm5
comisd xmm2, xmm1
ja 0x45e060
mulsd xmm0, xmm2
addsd xmm3, xmm0
movsd xmm0, qword [eax + 0x18]
comisd xmm0, xmm3
mov esi, dword [esp + 0x28]
jbe 0x45e09e
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 0x45de53
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047540c
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
jmp 0x45e047