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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
mov eax, dword [0x5903c4]
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 0x495b3c
add ecx, 4
mov esi, dword [esp + 0x3c]
cmp dword [ecx], esi
mov esi, dword [esp + 0x1c]
je 0x495c50
inc eax
add ecx, 4
cmp eax, edx
jl 0x495b24
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
cmp byte [edi + 0x1d], 0
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov eax, dword [ecx + 0x18]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x14], eax
jne 0x495e1c
cmp dword [edi + 0x3c], 0
jne 0x495e1c
test byte [ecx + 0x16], 0x80
jne 0x495e1c
cmp esi, eax
jae 0x495e1c
movsd xmm5, qword [0x57c8a8]
mov ecx, 0x100
movsd xmm4, qword [0x57c8d0]
nop dword [eax + eax]
cmp word [esi + 0x10], cx
jne 0x495e09
mov eax, dword [esp + 0x18]
mov ecx, edx
not ecx
not eax
and ecx, dword [esi + 0x20]
and eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x495e00
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 0x495e00
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 0x495e31
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
nop word [eax + eax]
mov eax, 0x200
cmp word [esi + 0x10], ax
jne 0x495c6e
mov edx, dword [esi + 0xc]
jmp 0x495cc8
xor edx, edx
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
mov dword [esp + 0x18], ecx
jmp 0x495b51
mov eax, dword [esp + 0x3c]
cmp dword [esi + 8], eax
mov eax, dword [esp + 0x20]
jne 0x495d91
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 0x495d22
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.00496870
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp dword [eax + 0x1c], 0
je 0x495d15
push dword [eax + 0x18]
call fcn.00444ee0
mov eax, dword [esp + 0x14]
add esp, 4
push eax
push dword [ebx]
call fcn.00444f80
add esp, 8
jmp 0x495d40
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.00496aa0
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 0x495da0
mov eax, dword [esp + 0x20]
add esi, 0x28
cmp esi, eax
jb 0x495c40
mov eax, dword [esp + 0x24]
movsd xmm5, qword [0x57c8a8]
movsd xmm4, qword [0x57c8d0]
cmp dword [ebp + 0x1c], 0
je 0x495dd8
comisd xmm2, xmm4
movaps xmm0, xmm5
movaps xmm1, xmm4
jbe 0x495dd0
mulsd xmm1, xmm4
addsd xmm0, xmm5
comisd xmm2, xmm1
ja 0x495dc2
mulsd xmm0, xmm2
addsd xmm3, xmm0
movsd xmm0, qword [eax + 0x18]
comisd xmm0, xmm3
mov esi, dword [esp + 0x28]
jbe 0x495e00
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, 0x100
mov edx, dword [esp + 0x2c]
add esi, 0x28
mov dword [esp + 0x28], esi
cmp esi, eax
jb 0x495bb0
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00519876
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
jmp 0x495db0