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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
vmovdqa xmmword [rsp + 0x120], xmm15
vmovdqa xmmword [rsp + 0x110], xmm14
vmovdqa xmmword [rsp + 0x100], xmm13
vmovdqa xmmword [rsp + 0xf0], xmm12
vmovdqa xmmword [rsp + 0xe0], xmm11
vmovdqa xmmword [rsp + 0xd0], xmm10
vmovdqa xmmword [rsp + 0xc0], xmm9
vmovdqa xmmword [rsp + 0xb0], xmm8
vmovdqa xmmword [rsp + 0xa0], xmm7
vmovdqa xmmword [rsp + 0x90], xmm6
mov rax, qword [rdx + 0x258]
mov byte [rax + 0x1180], 1
mov qword [rsp + 0x88], 0
mov r8, qword [rdx + 0x170]
mov r9, qword [rdx + 0x178]
mov r10, r8
or r10, r9
je 0x1400125e5
mov r10d, dword [rdx + 0x218]
lea r11d, [r10 + r10*2]
add r11d, dword [rdx + 0x228]
vmovdqa xmm0, xmmword [rdx + 0x1e0]
vpand xmm0, xmm0, xmmword [rdx + 0x1f0]
vmovq r10, xmm0
vpextrq rsi, xmm0, 1
tzcnt rsi, rsi
or rsi, 0x40
tzcnt r10, r10
cmovb r10, rsi
lea rsi, [0x1400db770]
movzx esi, byte [r10 + rsi]
mov r10d, esi
shr r10d, 3
imul rdi, r10, 0x168
lea r10, [0x1400db498]
add r10, rdi
and esi, 7
lea esi, [rsi + rsi*8]
add esi, r11d
imul esi, esi, 0x2d0
xor r11d, r11d
lea rdi, [0x1400db7d0]
nop dword [rax]
tzcnt rbx, r8
tzcnt r14, r9
or r14, 0x40
test r8, r8
cmovne r14, rbx
mov rbx, r8
add rbx, 0xffffffffffffffff
mov r15, r9
adc r15, 0xffffffffffffffff
and r8, rbx
and r9, r15
mov ebx, dword [rdx + r14*4]
mov ebp, ebx
and ebp, 3
xor r15d, r15d
cmp ebp, 2
sete r15b
imul r15, r15, 0x5a
add r15, r10
movzx ebp, byte [r14 + r15]
add ebp, dword [rdi + rbx*4]
add ebp, esi
mov dword [rsp + r11*4 + 8], ebp
inc r11
mov rbx, r8
or rbx, r9
jne 0x140012580
mov qword [rsp + 0x88], r11
xor edx, edx
mov r8, rdx
shl r8, 9
vmovdqa ymm15, ymmword [rcx + r8]
vmovdqa ymm14, ymmword [rcx + r8 + 0x20]
vmovdqa ymm13, ymmword [rcx + r8 + 0x40]
vmovdqa ymm12, ymmword [rcx + r8 + 0x60]
vmovdqa ymm11, ymmword [rcx + r8 + 0x80]
vmovdqa ymm10, ymmword [rcx + r8 + 0xa0]
vmovdqa ymm9, ymmword [rcx + r8 + 0xc0]
vmovdqa ymm8, ymmword [rcx + r8 + 0xe0]
vmovdqa ymm7, ymmword [rcx + r8 + 0x100]
vmovdqa ymm6, ymmword [rcx + r8 + 0x120]
vmovdqa ymm5, ymmword [rcx + r8 + 0x140]
vmovdqa ymm4, ymmword [rcx + r8 + 0x160]
vmovdqa ymm3, ymmword [rcx + r8 + 0x180]
vmovdqa ymm2, ymmword [rcx + r8 + 0x1a0]
vmovdqa ymm1, ymmword [rcx + r8 + 0x1c0]
vmovdqa ymm0, ymmword [rcx + r8 + 0x1e0]
mov r9, qword [rsp + 0x88]
test r9, r9
je 0x140012748
mov r10d, edx
shl r10d, 8
shl r9, 2
xor r11d, r11d
mov esi, dword [rsp + r11 + 8]
shl esi, 0xa
add esi, r10d
vpaddw ymm15, ymm15, ymmword [rcx + rsi*2 + 0x800]
vpaddw ymm14, ymm14, ymmword [rcx + rsi*2 + 0x820]
vpaddw ymm13, ymm13, ymmword [rcx + rsi*2 + 0x840]
vpaddw ymm12, ymm12, ymmword [rcx + rsi*2 + 0x860]
vpaddw ymm11, ymm11, ymmword [rcx + rsi*2 + 0x880]
vpaddw ymm10, ymm10, ymmword [rcx + rsi*2 + 0x8a0]
vpaddw ymm9, ymm9, ymmword [rcx + rsi*2 + 0x8c0]
vpaddw ymm8, ymm8, ymmword [rcx + rsi*2 + 0x8e0]
vpaddw ymm7, ymm7, ymmword [rcx + rsi*2 + 0x900]
vpaddw ymm6, ymm6, ymmword [rcx + rsi*2 + 0x920]
vpaddw ymm5, ymm5, ymmword [rcx + rsi*2 + 0x940]
vpaddw ymm4, ymm4, ymmword [rcx + rsi*2 + 0x960]
vpaddw ymm3, ymm3, ymmword [rcx + rsi*2 + 0x980]
vpaddw ymm2, ymm2, ymmword [rcx + rsi*2 + 0x9a0]
vpaddw ymm1, ymm1, ymmword [rcx + rsi*2 + 0x9c0]
vpaddw ymm0, ymm0, ymmword [rcx + rsi*2 + 0x9e0]
add r11, 4
cmp r9, r11
jne 0x1400126a0
or r8, 0x140
vmovdqa ymmword [rax + r8], ymm15
vmovdqa ymmword [rax + r8 + 0x20], ymm14
vmovdqa ymmword [rax + r8 + 0x40], ymm13
vmovdqa ymmword [rax + r8 + 0x60], ymm12
vmovdqa ymmword [rax + r8 + 0x80], ymm11
vmovdqa ymmword [rax + r8 + 0xa0], ymm10
vmovdqa ymmword [rax + r8 + 0xc0], ymm9
vmovdqa ymmword [rax + r8 + 0xe0], ymm8
vmovdqa ymmword [rax + r8 + 0x100], ymm7
vmovdqa ymmword [rax + r8 + 0x120], ymm6
vmovdqa ymmword [rax + r8 + 0x140], ymm5
vmovdqa ymmword [rax + r8 + 0x160], ymm4
vmovdqa ymmword [rax + r8 + 0x180], ymm3
vmovdqa ymmword [rax + r8 + 0x1a0], ymm2
vmovdqa ymmword [rax + r8 + 0x1c0], ymm1
vmovdqa ymmword [rax + r8 + 0x1e0], ymm0
inc rdx
cmp rdx, 4
jne 0x1400125e7
mov r8, qword [rsp + 0x88]
test r8, r8
je 0x140012ad2
lea rdx, [r8 - 1]
mov r9d, 0x3e00
bextr r9, rdx, r9
mov rdx, r8
and rdx, 3
je 0x140012ac4
lea r10, [rdx*4]
vpxor xmm0, xmm0, xmm0
xor r11d, r11d
mov esi, dword [rsp + r11*4 + 8]
shl esi, 3
vpaddd ymm0, ymm0, ymmword [rcx + rsi*4 + 0x4bf0800]
inc r11
cmp rdx, r11
jne 0x14001282b
lea rdx, [rsp + r10]
add rdx, 8
cmp r9, 3
jae 0x1400128c7
vmovdqa ymmword [rax + 0x1140], ymm0
vmovaps xmm6, xmmword [rsp + 0x90]
vmovaps xmm7, xmmword [rsp + 0xa0]
vmovaps xmm8, xmmword [rsp + 0xb0]
vmovaps xmm9, xmmword [rsp + 0xc0]
vmovaps xmm10, xmmword [rsp + 0xd0]
vmovaps xmm11, xmmword [rsp + 0xe0]
vmovaps xmm12, xmmword [rsp + 0xf0]
vmovaps xmm13, xmmword [rsp + 0x100]
vmovaps xmm14, xmmword [rsp + 0x110]
vmovaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
vzeroupper
ret
lea r8, [rsp + r8*4]
add r8, 8
mov r9d, dword [rdx]
mov r10d, dword [rdx + 4]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
shl r10d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r10*4 + 0x4bf0800]
mov r9d, dword [rdx + 8]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
mov r9d, dword [rdx + 0xc]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
lea r9, [rdx + 0x10]
cmp r9, r8
je 0x140012852
mov r9d, dword [rdx + 0x10]
mov r10d, dword [rdx + 0x14]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
shl r10d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r10*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x18]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x1c]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
lea r9, [rdx + 0x20]
cmp r9, r8
je 0x140012852
mov r9d, dword [rdx + 0x20]
mov r10d, dword [rdx + 0x24]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
shl r10d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r10*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x28]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x2c]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
lea r9, [rdx + 0x30]
cmp r9, r8
je 0x140012852
mov r9d, dword [rdx + 0x30]
mov r10d, dword [rdx + 0x34]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
shl r10d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r10*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x38]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x3c]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
lea r9, [rdx + 0x40]
cmp r9, r8
je 0x140012852
mov r9d, dword [rdx + 0x40]
mov r10d, dword [rdx + 0x44]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
shl r10d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r10*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x48]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
mov r9d, dword [rdx + 0x4c]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
add rdx, 0x50
cmp rdx, r8
je 0x140012852
mov r9d, dword [rdx]
mov r10d, dword [rdx + 4]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
shl r10d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r10*4 + 0x4bf0800]
mov r9d, dword [rdx + 8]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
mov r9d, dword [rdx + 0xc]
shl r9d, 3
vpaddd ymm0, ymm0, ymmword [rcx + r9*4 + 0x4bf0800]
add rdx, 0x10
jmp 0x140012a6e
vpxor xmm0, xmm0, xmm0
lea rdx, [rsp + 8]
jmp 0x14001284c
vpxor xmm0, xmm0, xmm0
jmp 0x140012852