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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffe0
sub esp, 0x118
mov edx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 4]
shr eax, 2
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 0x14]
shr eax, 2
mov dword [esp + 0x60], ecx
lea eax, [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 8]
add eax, 3
shr eax, 2
mov dword [esp + 0x78], eax
mov eax, dword [edx]
shr eax, 2
mov dword [esp + 0x2c], eax
cmp esi, 0x14
jb 0x10123e04
push edx
push dword [ebp + 0x10]
push edi
push dword [ebp + 8]
call fcn.101223e0
mov ecx, dword [ebp + 8]
add esp, 0x10
mov edx, dword [ebp + 0x18]
sub esi, 0x14
add ecx, 0x280
add edi, 0x50
jmp 0x10123e07
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edi
cmp esi, 0x10
jb 0x10123e3a
push edx
push dword [ebp + 0x10]
push edi
push ecx
call fcn.10122080
mov ecx, dword [esp + 0x38]
add esp, 0x10
add ecx, 0x200
sub esi, 0x10
add edi, 0x40
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], edi
cmp esi, 5
jb 0x10123e7f
mov eax, 0xcccccccd
mul esi
shr edx, 2
mov dword [esp + 0x34], edx
nop dword [eax]
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push edi
push ecx
call fcn.101233f0
mov ecx, dword [esp + 0x38]
add esp, 0x10
add ecx, 0xa0
sub esi, 5
add edi, 0x14
mov dword [esp + 0x28], ecx
sub dword [esp + 0x34], 1
jne 0x10123e50
mov dword [esp + 0x30], edi
cmp esi, 4
jne 0x10123e9d
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push edi
push ecx
call fcn.10122fa0
add esp, 0x10
vzeroupper
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp esi, 3
jne 0x10123ebb
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push edi
push ecx
call fcn.10122bc0
add esp, 0x10
vzeroupper
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp esi, 2
jne 0x10123ed9
push dword [ebp + 0x18]
push dword [ebp + 0x10]
push edi
push ecx
call fcn.101228b0
add esp, 0x10
vzeroupper
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x10124412
mov eax, dword [esp + 0x60]
shr eax, 2
mov dword [esp + 0x5c], eax
shl eax, 2
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x78]
shr eax, 2
mov dword [esp + 0x70], eax
cmp dword [esp + 0x70], 0
lea edx, [eax*4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], edx
lea esi, [eax*4]
mov dword [esp + 0x44], esi
jbe 0x101242b5
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x10]
shl eax, 4
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], ecx
vxorps xmm6, xmm6, xmm6
mov dword [esp + 0x58], edx
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
lea eax, [ecx + ecx*2]
lea eax, [edx + eax*4]
mov dword [esp + 0x40], eax
lea eax, [edx + ecx*8]
mov dword [esp + 0x24], eax
lea eax, [ecx*4]
mov dword [esp + 0x8c], eax
add eax, edx
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x58]
mov ecx, edi
sub edx, eax
cmp dword [esp + 0x5c], 0
vmovups ymm0, ymm6
vmovups ymm3, ymm6
vmovups ymm4, ymm6
vmovups ymm5, ymm6
vmovups ymm7, ymm6
vmovups ymmword [esp + 0xa0], ymm0
vmovups ymmword [esp + 0xc0], ymm6
vmovups ymmword [esp + 0x100], ymm6
vmovups ymmword [esp + 0xe0], ymm6
mov dword [esp + 0x68], edx
jbe 0x10124186
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x2c]
shl esi, 4
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x38], esi
shl eax, 3
vmovups ymm6, ymmword [esp + 0xa0]
lea esi, [eax + edi]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x54], esi
lea esi, [edi + 0x20]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x24]
sub esi, edi
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0x40]
sub esi, edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x44]
sub esi, eax
mov dword [esp + 0x94], esi
lea edi, [edi + edi*2]
mov esi, dword [esp + 0x58]
sub esi, dword [esp + 0x24]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x40]
shl edi, 2
sub edi, eax
sub esi, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x84], eax
mov eax, edi
mov dword [esp + 0x88], edi
mov edx, dword [esp + 0x54]
lea esi, [esi + 0x40]
mov edi, dword [esp + 0x94]
vbroadcastss ymm1, dword [ecx]
add ecx, dword [esp + 0x80]
vbroadcastss xmm0, dword [edi + edx]
vinsertf128 ymm2, ymm1, xmm0, 1
mov edi, edx
mov edx, dword [esp + 0x38]
vbroadcastss xmm0, dword [eax + edi]
vbroadcastss ymm1, dword [edi]
mov edi, dword [esp + 0x98]
mov eax, dword [esp + 0x38]
vinsertf128 ymm1, ymm1, xmm0, 1
vmulps ymm0, ymm2, ymmword [edx + edi]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
vaddps ymm3, ymm0, ymm3
add dword [esp + 0x38], 0x40
vmulps ymm0, ymm1, ymmword [edx + esi - 0x40]
vaddps ymm4, ymm0, ymm4
vmulps ymm0, ymm2, ymmword [esi - 0x60]
vaddps ymm5, ymm0, ymm5
vmulps ymm0, ymm1, ymmword [esi - 0x40]
vaddps ymm7, ymm0, ymm7
vmulps ymm0, ymm2, ymmword [edi]
mov edi, dword [esp + 0x9c]
vaddps ymm6, ymm0, ymm6
vmovups ymmword [esp + 0xa0], ymm6
vmulps ymm0, ymm1, ymmword [esi + edi - 0x40]
mov edi, dword [esp + 0x4c]
vaddps ymm6, ymm0, ymmword [esp + 0xc0]
vmovups ymmword [esp + 0xc0], ymm6
vmovups ymm6, ymmword [esp + 0xa0]
vmulps ymm0, ymm2, ymmword [eax + edi]
mov edi, dword [esp + 0x50]
vaddps ymm2, ymm0, ymmword [esp + 0x100]
mov eax, dword [esp + 0x88]
vmovups ymmword [esp + 0x100], ymm2
vmulps ymm0, ymm1, ymmword [esi + edi - 0x40]
mov edi, dword [esp + 0x54]
add edi, dword [esp + 0x80]
sub dword [esp + 0x84], 1
vaddps ymm1, ymm0, ymmword [esp + 0xe0]
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x30]
vmovups ymmword [esp + 0xe0], ymm1
jne 0x10124061
vmovups ymm0, ymmword [esp + 0xa0]
mov eax, dword [esp + 0x3c]
vxorps xmm6, xmm6, xmm6
jmp 0x1012418a
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x64]
vaddps ymm1, ymm4, ymm3
vaddps ymm3, ymm0, ymmword [esp + 0xc0]
vmovups ymm0, ymmword [esp + 0xe0]
vaddps ymm4, ymm0, ymmword [esp + 0x100]
vaddps ymm2, ymm7, ymm5
vextractf128 xmm0, ymm1, 1
vaddps xmm5, xmm0, xmm1
vextractf128 xmm0, ymm2, 1
vaddps xmm2, xmm0, xmm2
vextractf128 xmm0, ymm3, 1
vaddps xmm3, xmm0, xmm3
vextractf128 xmm0, ymm4, 1
vaddps xmm4, xmm0, xmm4
cmp edx, dword [esp + 0x60]
jae 0x10124257
mov edi, dword [esp + 0x24]
mov eax, edx
mov edx, dword [esp + 0x3c]
sub edi, edx
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x40]
shl eax, 4
sub edi, edx
add eax, edx
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x60]
sub edx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
nop
vbroadcastss xmm1, dword [ecx]
vmulps xmm0, xmm1, xmmword [eax + edi]
mov esi, dword [esp + 0x50]
lea eax, [eax + 0x10]
add ecx, dword [esp + 0x44]
vaddps xmm5, xmm0, xmm5
vmulps xmm0, xmm1, xmmword [eax - 0x10]
vaddps xmm2, xmm0, xmm2
vmulps xmm0, xmm1, xmmword [eax + esi - 0x10]
mov esi, dword [esp + 0x4c]
vaddps xmm3, xmm0, xmm3
vmulps xmm0, xmm1, xmmword [eax + esi - 0x10]
vaddps xmm4, xmm0, xmm4
sub edx, 1
jne 0x10124210
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x74]
vmovups xmmword [edx], xmm5
vmovups xmmword [edx + 0x10], xmm2
vmovups xmmword [ecx], xmm3
vmovups xmmword [ecx + 0x10], xmm4
mov ecx, dword [esp + 0x7c]
add eax, ecx
add dword [esp + 0x58], ecx
add dword [esp + 0x24], ecx
add dword [esp + 0x40], ecx
lea ecx, [esi*8]
add dword [esp + 0x6c], ecx
add edx, ecx
sub dword [esp + 0x70], 1
mov esi, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
jne 0x10123f71
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
jmp 0x101242c7
mov ecx, dword [esp + 0x20]
lea eax, [ecx*4]
mov dword [esp + 0x8c], eax
cmp edx, dword [esp + 0x78]
jae 0x10124412
mov eax, edx
imul eax, ecx
mov ecx, dword [ebp + 0x10]
vxorps xmm5, xmm5, xmm5
lea eax, [ecx + eax*4]
mov ecx, 2
mov dword [esp + 0x20], eax
nop dword [eax]
mov eax, edx
cdq
idiv ecx
mov ecx, dword [esp + 0x28]
imul eax, dword [esp + 0x74]
cmp dword [esp + 0x5c], 0
vmovups ymm3, ymm5
vmovups ymm4, ymm5
lea eax, [eax + edx*4]
lea eax, [ecx + eax*4]
mov dword [esp + 0x4c], eax
mov eax, edi
jbe 0x101243a1
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
lea edi, [ecx + ecx*2]
shl ecx, 4
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x2c]
shl ecx, 3
shl edi, 2
sub ecx, edi
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
nop word [eax + eax]
vbroadcastss xmm0, dword [esi + eax]
mov esi, dword [esp + 0x7c]
lea ecx, [eax + edi]
vbroadcastss ymm1, dword [eax]
add eax, dword [esp + 0x50]
lea edx, [edx + 0x40]
sub dword [esp + 0x48], 1
vinsertf128 ymm2, ymm1, xmm0, 1
vbroadcastss ymm1, dword [esi + ecx]
vbroadcastss xmm0, dword [ecx]
mov esi, dword [esp + 0x44]
vinsertf128 ymm1, ymm1, xmm0, 1
vmulps ymm0, ymm2, ymmword [edx - 0x40]
vaddps ymm3, ymm0, ymm3
vmulps ymm0, ymm1, ymmword [edx - 0x20]
vaddps ymm4, ymm0, ymm4
jne 0x10124350
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
vaddps ymm1, ymm4, ymm3
vextractf128 xmm0, ymm1, 1
vaddps xmm2, xmm0, xmm1
cmp ecx, edx
jae 0x101243e7
shl ecx, 4
add ecx, dword [esp + 0x20]
sub edx, dword [esp + 0x64]
nop word [eax + eax]
vbroadcastss xmm0, dword [eax]
vmulps xmm0, xmm0, xmmword [ecx]
add eax, esi
lea ecx, [ecx + 0x10]
vaddps xmm2, xmm0, xmm2
sub edx, 1
jne 0x101243d0
mov eax, dword [esp + 0x4c]
mov ecx, 2
mov edx, dword [esp + 0x34]
inc edx
mov dword [esp + 0x34], edx
vmovups xmmword [eax], xmm2
mov eax, dword [esp + 0x8c]
add dword [esp + 0x20], eax
cmp edx, dword [esp + 0x78]
jb 0x101242f0
vzeroupper
pop edi
pop esi
mov esp, ebp
pop ebp
ret