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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x314
mov eax, dword [0x100cd008]
xor eax, esp
mov dword [esp + 0x310], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x24]
push ebx
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x28], eax
lea eax, [esi + 0x456]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x38], eax
push edi
mov edi, dword [ebp + 0x1c]
cmp esi, eax
jae 0x1002f15b
movsd xmm0, qword [0x100c0798]
movsd xmm2, qword [0x100c1c78]
cmp esi, 0x1be
ja 0x1002eec8
je 0x1002ed0f
cmp esi, 0x140
ja 0x1002ec57
je 0x1002eb89
mov eax, esi
sub eax, 0x9b
je 0x1002ea16
sub eax, 0x6f
jne case.0x1002eede.543
movups xmm0, xmmword [esp + 0xa8]
movups xmm1, xmmword [esp + 0xc0]
addpd xmm1, xmm0
movsd xmm0, qword [esp + 0x70]
addsd xmm0, qword [esp + 0x40]
movups xmmword [ebx + 0x18], xmm1
movsd qword [ebx + 0x28], xmm0
jmp 0x1002f146
lea edx, [esp + 0x150]
mov ecx, edi
call fcn.100048b0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x120]
call fcn.100048b0
movsd xmm7, qword [esp + 0x130]
movsd xmm5, qword [esp + 0x158]
movaps xmm1, xmm7
movsd xmm4, qword [esp + 0x160]
movsd xmm0, qword [esp + 0x128]
movsd xmm6, qword [esp + 0x120]
movsd xmm3, qword [esp + 0x150]
mulsd xmm1, xmm5
mulsd xmm0, xmm4
movsd xmm2, qword [esp + 0x148]
subsd xmm1, xmm0
movaps xmm0, xmm7
mulsd xmm0, xmm3
movsd qword [ebx], xmm1
movaps xmm1, xmm6
mulsd xmm1, xmm4
subsd xmm1, xmm0
movaps xmm0, xmm6
mulsd xmm0, xmm5
movsd qword [ebx + 8], xmm1
movsd xmm1, qword [esp + 0x128]
mulsd xmm1, xmm3
subsd xmm1, xmm0
movsd xmm0, qword [esp + 0x140]
movsd qword [esp + 0x40], xmm0
mulsd xmm0, xmm4
movsd qword [ebx + 0x10], xmm1
movaps xmm1, xmm2
mulsd xmm1, xmm5
mulsd xmm2, xmm3
subsd xmm1, xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x138]
movaps xmm0, xmm1
mulsd xmm1, xmm5
mulsd xmm0, xmm4
subsd xmm0, xmm2
movsd xmm2, qword [esp + 0x178]
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [esp + 0x40]
mulsd xmm0, xmm3
movsd xmm3, qword [esp + 0x170]
subsd xmm0, xmm1
movaps xmm1, xmm3
mulsd xmm1, xmm7
mulsd xmm3, xmm6
movsd qword [esp + 0x40], xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [esp + 0x128]
mulsd xmm2, xmm6
subsd xmm1, xmm0
movsd qword [esp + 0xc0], xmm1
movsd xmm1, qword [esp + 0x168]
movaps xmm0, xmm1
mulsd xmm1, qword [esp + 0x128]
mulsd xmm0, xmm7
subsd xmm1, xmm3
subsd xmm2, xmm0
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0xc8], xmm2
jmp 0x1002f13a
movsd xmm1, qword [0x100c24b8]
lea eax, [esp + 0x180]
movsd xmm0, qword [0x100c2608]
lea edx, [esp + 0x98]
push eax
lea eax, [esp + 0x1fc]
push eax
lea eax, [esp + 0x248]
push eax
lea eax, [esp + 0x294]
push eax
lea eax, [esp + 0x2e0]
push eax
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xb8]
call fcn.1000df30
movsd xmm2, qword [0x100c07d0]
mov edx, 0x1007cb80
movsd xmm1, qword [0x100c1a48]
mov ecx, str.eraPnm00a
movsd xmm0, qword [esp + 0x198]
push edi
call fcn.10027f90
movsd xmm2, qword [0x100c0798]
add esp, 0x1c
movsd xmm1, qword [0x100c10d0]
mov edx, 0x1007cb90
movsd xmm0, qword [esp + 0x188]
mov ecx, str.eraPnm00a
push edi
call fcn.10027f90
movsd xmm2, qword [0x100c0798]
add esp, 4
movsd xmm1, qword [0x100c0f88]
mov edx, 0x1007cb94
movsd xmm0, qword [esp + 0x190]
jmp 0x1002f12c
mov eax, esi
sub eax, 0x179
je 0x1002f15b
sub eax, 0x36
jne case.0x1002eede.543
movsd xmm1, qword [0x100c2d60]
movaps xmm2, xmm0
movsd xmm0, qword [esp + 0x198]
mov edx, 0x1007cb98
push edi
mov ecx, str.eraPnm00a
call fcn.10027f90
movsd xmm2, qword [0x100c07d0]
add esp, 4
movsd xmm1, qword [0x100c1a90]
mov edx, 0x1007cb9c
movsd xmm0, qword [esp + 0x1a0]
mov ecx, str.eraPnm00a
push edi
call fcn.10027f90
movsd xmm2, qword [0x100c0798]
add esp, 4
movsd xmm1, qword [0x100c0e38]
mov edx, 0x1007cba0
movsd xmm0, qword [esp + 0x1a8]
mov ecx, str.eraPnm00a
push edi
call fcn.10027f90
movsd xmm2, qword [0x100c0798]
add esp, 4
movsd xmm1, qword [0x100c2c90]
mov edx, 0x1007cba4
movsd xmm0, qword [esp + 0x1b0]
jmp 0x1002f12c
movsd xmm0, qword [edi]
call fcn.100746d0
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [edi]
call fcn.100739c0
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [eax]
call fcn.100739c0
mov eax, dword [esp + 0x10]
movaps xmm1, xmm0
mulsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x80], xmm1
movsd qword [esp + 0x58], xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [esp + 0x60]
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [eax]
call fcn.100746d0
mov eax, dword [esp + 0x14]
movaps xmm3, xmm0
movsd xmm2, qword [esp + 0x58]
movsd xmm0, qword [esp + 0x48]
movaps xmm1, xmm2
mov ecx, dword [esp + 0x2c]
mulsd xmm0, qword [eax + 0x10]
mulsd xmm1, qword [eax + 8]
movsd xmm6, qword [ecx]
mov ecx, dword [esp + 0x30]
mulsd xmm6, qword [0x100c0bf0]
addsd xmm1, xmm0
movsd qword [esp + 0x20], xmm3
movsd xmm5, qword [ecx]
movaps xmm0, xmm3
mulsd xmm0, qword [eax + 0x18]
mov ecx, dword [ebp + 0x2c]
mulsd xmm5, qword [0x100c14b0]
movsd xmm4, qword [esp + 0x58]
mulsd xmm3, qword [ecx]
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0x48]
mulsd xmm0, qword [ebx]
mulsd xmm1, qword [0x100c0cb8]
mulsd xmm5, xmm6
addsd xmm1, qword [eax]
mulsd xmm2, xmm5
movsd qword [esp + 0x18], xmm5
movsd qword [esp + 0x78], xmm1
movaps xmm1, xmm3
mulsd xmm1, qword [esp + 0x50]
mulsd xmm3, qword [esp + 0x60]
addsd xmm1, xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [eax + 8]
subsd xmm2, xmm1
movsd xmm1, qword [esp + 0x78]
mulsd xmm2, xmm1
subsd xmm2, xmm0
movsd xmm0, qword [esp + 0x48]
mulsd xmm0, xmm5
addsd xmm2, xmm4
mulsd xmm4, qword [ebx]
subsd xmm4, xmm3
movsd qword [esp + 0xf0], xmm2
movsd xmm3, qword [esp + 0x80]
mulsd xmm3, qword [ecx]
addsd xmm4, xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [eax + 0x10]
mulsd xmm6, qword [eax + 0x18]
mulsd xmm4, xmm1
subsd xmm4, xmm0
movsd xmm0, qword [esp + 0x20]
mulsd xmm0, xmm5
addsd xmm4, qword [esp + 0x48]
addsd xmm3, xmm0
movsd qword [esp + 0xf8], xmm4
mulsd xmm3, xmm1
subsd xmm3, xmm6
addsd xmm3, qword [esp + 0x20]
movsd qword [esp + 0x100], xmm3
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xdc]
push eax
lea eax, [esp + 0x20]
push 0x1a9
push eax
call fcn.10035da0
add esp, 0x10
jmp 0x1002f13a
lea eax, [esi - 0x21e]
cmp eax, 0x7e
ja case.0x1002eede.543
movzx eax, byte [eax + 0x1002f184]
jmp dword [eax*4 + 0x1002f170]
movsd xmm6, qword [edx + 0x38]
lea eax, [esp + 0x1c8]
movsd xmm4, qword [0x100c0910]
movaps xmm1, xmm2
movaps xmm0, xmm6
movsd xmm5, qword [edx + 0x28]
mulsd xmm0, xmm6
push eax
divsd xmm4, xmm6
lea eax, [edx + 0x40]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x118]
push eax
maxsd xmm1, xmm0
movsd xmm6, qword [esp + 0xec]
movsd xmm0, qword [edx + 0x20]
movsd xmm7, qword [esp + 0xfc]
addsd xmm0, xmm6
movsd xmm3, qword [edx + 0x30]
maxsd xmm1, xmm2
movsd xmm2, qword [0x100c0b18]
mulsd xmm0, xmm6
divsd xmm2, xmm1
movaps xmm1, xmm5
addsd xmm1, qword [esp + 0xf4]
mulsd xmm1, qword [esp + 0xf4]
addsd xmm1, xmm0
movaps xmm0, xmm7
addsd xmm0, xmm3
mulsd xmm0, xmm7
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0xf4]
mulsd xmm0, xmm3
maxsd xmm1, xmm2
movaps xmm2, xmm6
mulsd xmm2, xmm3
movsd xmm3, qword [esp + 0xf4]
divsd xmm4, xmm1
movsd xmm1, qword [edx + 0x20]
movsd qword [esp + 0x2c], xmm4
movaps xmm4, xmm7
mulsd xmm4, xmm5
subsd xmm4, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm7
mulsd xmm1, xmm3
subsd xmm2, xmm0
movaps xmm0, xmm6
mulsd xmm0, xmm5
movsd xmm5, qword [esp + 0x2c]
subsd xmm1, xmm0
movaps xmm0, xmm2
mulsd xmm0, xmm7
mulsd xmm2, xmm6
movsd qword [esp + 0x34], xmm1
mulsd xmm1, xmm3
subsd xmm1, xmm0
movaps xmm0, xmm4
mulsd xmm0, xmm7
mulsd xmm4, xmm3
mulsd xmm1, xmm5
subsd xmm2, xmm4
addsd xmm1, xmm6
mulsd xmm2, xmm5
movsd qword [esp + 0x11c], xmm1
movsd xmm1, qword [esp + 0x34]
mulsd xmm1, xmm6
addsd xmm2, xmm7
subsd xmm0, xmm1
movsd qword [esp + 0x12c], xmm2
mulsd xmm0, xmm5
addsd xmm0, xmm3
movsd qword [esp + 0x124], xmm0
movsd xmm0, qword [edx + 0x38]
movsd qword [esp + 0x34], xmm0
movsd xmm0, qword [edx + 0x58]
movsd qword [esp + 0x2c], xmm0
push 0x167
call fcn.1000e420
mov eax, dword [esp + 0x2c]
add eax, 0x60
push eax
lea eax, [esp + 0x1fc]
push eax
push 0x1cc
push 0
lea eax, [esp + 0x1f0]
push eax
push 0
call fcn.100353e0
add esp, 0x30
jmp 0x1002f13a
push 0xfb
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x1e8]
push eax
push dword [esp + 0x40]
call fcn.10031cb0
movsd xmm0, qword [esp + 0x98]
lea eax, [esp + 0x28]
push 0
push 0x10c
push eax
push 0
movsd qword [esp + 0x38], xmm0
call fcn.1003fdf0
mov dword [esp + 0x88], eax
add esp, 0x20
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], edx
movsd xmm0, qword [esp + 0x68]
movsd qword [eax], xmm0
jmp 0x1002f13a
movsd xmm2, qword [0x100c07d0]
mov edx, 0x1007cbac
movsd xmm1, qword [0x100c1b60]
movsd xmm0, qword [esp + 0x1c0]
jmp 0x1002f12c
movsd xmm1, qword [0x100c2c20]
movaps xmm2, xmm0
movsd xmm0, qword [esp + 0x1b8]
mov edx, 0x1007cba8
push edi
mov ecx, str.eraPnm00a
call fcn.10027f90
add esp, 4
mov edx, dword [esp + 0x14]
movsd xmm2, qword [0x100c1c78]
movsd xmm0, qword [0x100c0798]
add esi, 0x6f
cmp esi, dword [esp + 0x3c]
jb 0x1002e9b2
mov ecx, dword [esp + 0x31c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10062dbb
mov esp, ebp
pop ebp
ret