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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
movups xmmword [rsp + 0xa0], xmm6
movdqu xmm0, xmmword [0x140553550]
movdqu xmm1, xmmword [0x1405535a0]
mov r15, r8
mov r13, rdx
mov rsi, rcx
mov r14d, r9d
movups xmmword [r8], xmm0
mov rdx, r15
lea r8, [r8 + 0x20]
mov rcx, r13
movups xmmword [r8 - 0x10], xmm1
mov r12, rsi
call fcn.1400469f0
movdqu xmm2, xmmword [r15]
movd xmm4, r14d
movdqu xmm3, xmmword [0x140553590]
pshufd xmm4, xmm4, 0
pxor xmm0, xmm0
lea eax, [r14 + 0x100000]
mov qword [rsp + 0x100], rsi
movdqa xmm5, xmm2
movdqa xmm6, xmm2
paddd xmm2, xmm4
mov dword [rsp + 0x2c], eax
movups xmmword [r15], xmm2
movdqu xmm2, xmmword [r15 + 0x10]
paddd xmm5, xmm3
movdqa xmm1, xmm0
mov qword [rsp + 0x30], 0
pcmpgtd xmm1, xmm5
paddd xmm3, xmm2
pcmpgtd xmm0, xmm3
pand xmm6, xmm1
pandn xmm1, xmm5
movdqa xmm5, xmm2
por xmm1, xmm6
paddd xmm2, xmm4
pand xmm5, xmm0
pandn xmm0, xmm3
movups xmmword [r15 + 0x10], xmm2
por xmm0, xmm5
psrad xmm1, 8
psrad xmm0, 8
movdqa xmm6, xmm1
pshufd xmm3, xmm1, 0x55
pshufd xmm2, xmm0, 0x55
pshufd xmm4, xmm0, 0xff
punpckhdq xmm6, xmm1
movd ebp, xmm1
movd r11d, xmm0
movd edx, xmm2
movd dword [rsp + 0x3c], xmm4
pshufd xmm1, xmm1, 0xff
punpckhdq xmm0, xmm0
movd edi, xmm3
mov esi, edx
movd ebx, xmm6
movd r10d, xmm1
movd dword [rsp + 0x38], xmm0
jmp 0x1403ff08b
mov r9d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x48]
sub eax, 0x100000
mov dword [r12 + 4], eax
mov dword [r15], r9d
mov r9d, dword [rdx]
mov ecx, r9d
shr r9d, 8
shl ecx, 0x18
add ebp, ecx
cmp r8d, r9d
je 0x1403ff448
mov dword [r12 + 8], r9d
lea rcx, [r12 + 8]
mov dword [r12 + 0xc], eax
mov r12d, dword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
add eax, 0x20000
mov dword [rcx + 4], eax
mov dword [r15 + 4], r12d
mov eax, dword [r8]
mov edx, eax
shr eax, 8
shl edx, 0x18
lea edi, [rdi + rdx + 0x10000]
cmp r9d, eax
je 0x1403ff438
mov r12d, dword [rsp + 0x2c]
mov dword [rcx + 8], eax
lea r9, [rcx + 8]
sub r12d, 0xfffff
mov dword [rcx + 0xc], r12d
mov ecx, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x60]
add r12d, 0x20000
mov dword [r9 + 4], r12d
mov dword [r15 + 8], ecx
mov edx, dword [r8]
mov r12d, edx
shr edx, 8
shl r12d, 0x18
lea ebx, [rbx + r12 + 0x20000]
cmp eax, edx
je 0x1403ff428
mov ecx, dword [rsp + 0x2c]
mov dword [r9 + 8], edx
lea rax, [r9 + 8]
sub ecx, 0xffffe
mov dword [r9 + 0xc], ecx
mov r9d, dword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
add ecx, 0x20000
mov dword [rax + 4], ecx
mov dword [r15 + 0xc], r9d
mov r12d, dword [r8]
mov ecx, r12d
shr r12d, 8
shl ecx, 0x18
lea ecx, [r10 + rcx + 0x30000]
cmp edx, r12d
je 0x1403ff418
mov r10d, dword [rsp + 0x2c]
mov dword [rax + 8], r12d
lea rdx, [rax + 8]
lea r9d, [r10 - 0xffffd]
mov dword [rax + 0xc], r9d
mov eax, dword [rsp + 0x74]
mov r8, qword [rsp + 0x78]
add r9d, 0x20000
mov dword [rdx + 4], r9d
mov dword [r15 + 0x10], eax
mov r8d, dword [r8]
mov r10d, r8d
shr r8d, 8
shl r10d, 0x18
lea eax, [r11 + r10 + 0x40000]
cmp r12d, r8d
je 0x1403ff408
mov r12d, dword [rsp + 0x2c]
mov dword [rdx + 8], r8d
lea r11, [rdx + 8]
lea r9d, [r12 - 0xffffc]
mov dword [rdx + 0xc], r9d
mov edx, dword [rsp + 0x88]
mov r10, qword [rsp + 0x80]
add r9d, 0x20000
mov dword [r11 + 4], r9d
mov dword [r15 + 0x14], edx
mov r12d, dword [r10]
mov r9d, r12d
shr r12d, 8
shl r9d, 0x18
lea edx, [rsi + r9 + 0x50000]
cmp r8d, r12d
je 0x1403ff3f8
mov esi, dword [rsp + 0x2c]
mov dword [r11 + 8], r12d
lea r10, [r11 + 8]
lea r8d, [rsi - 0xffffb]
mov dword [r11 + 0xc], r8d
mov r11d, dword [rsp + 0x8c]
mov r9, qword [rsp + 0x90]
add r8d, 0x20000
mov dword [r10 + 4], r8d
mov dword [r15 + 0x18], r11d
mov esi, dword [r9]
mov r11d, dword [rsp + 0x38]
mov r8d, esi
shr esi, 8
shl r8d, 0x18
lea r8d, [r11 + r8 + 0x60000]
cmp r12d, esi
je 0x1403ff3e8
mov r12d, dword [rsp + 0x2c]
mov dword [r10 + 8], esi
lea r11, [r10 + 8]
sub r12d, 0xffffa
mov dword [r10 + 0xc], r12d
mov r10d, dword [rsp + 0x40]
mov r9, qword [rsp + 0x98]
add r12d, 0x20000
mov dword [r11 + 4], r12d
mov r12d, dword [rsp + 0x3c]
mov dword [r15 + 0x1c], r10d
mov r10d, dword [r9]
mov r9d, r10d
shr r10d, 8
shl r9d, 0x18
lea r9d, [r12 + r9 + 0x70000]
cmp esi, r10d
je 0x1403ff3d8
mov esi, dword [rsp + 0x2c]
mov dword [r11 + 8], r10d
lea r12, [r11 + 8]
lea r10d, [rsi - 0xffff9]
mov dword [r11 + 0xc], r10d
add r10d, 0x20000
mov dword [r12 + 4], r10d
mov r10d, ebp
mov esi, edi
add r12, 8
shr r10d, 0x18
shr esi, 0x18
cmp r10d, esi
jne 0x1403ff2d8
mov r11d, ebx
shr r11d, 0x18
cmp r10d, r11d
jne 0x1403ff2d8
mov esi, ecx
shr esi, 0x18
cmp r10d, esi
jne 0x1403ff2d8
mov r11d, eax
shr r11d, 0x18
cmp r10d, r11d
jne 0x1403ff2d8
mov esi, edx
shr esi, 0x18
cmp r10d, esi
jne 0x1403ff2d8
mov r11d, r8d
shr r11d, 0x18
cmp r10d, r11d
jne 0x1403ff2d8
mov esi, r9d
shr esi, 0x18
cmp r10d, esi
jne 0x1403ff2d8
add qword [rsp + 0x30], 1
movzx r11d, al
movzx ebx, bl
movzx esi, dl
movzx eax, r8b
movzx r8d, r9b
movzx ebp, bpl
movzx edi, dil
mov r9, qword [rsp + 0x30]
add dword [rsp + 0x2c], 8
movzx r10d, cl
add r15, 0x20
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], r8d
cmp r9, 0x100
je 0x1403ff455
mov edx, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x30]
mov ecx, ebp
shl ecx, 8
shl edx, 8
movsxd r8, ecx
movsxd rax, edx
mov dword [rsp + 0x40], edx
sub r8, r9
mov rdx, r9
sub rax, r9
mov r8d, dword [r13 + r8 + 0xff]
mov r9d, dword [r13 + rax + 0xff]
mov eax, 0xff
sub eax, edx
and r8d, 0xffffff
add ecx, eax
and r9d, 0xffffff
mov dword [r12], r8d
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x44], edx
lea rdx, [r13 + rcx - 1]
mov ecx, edi
shl ecx, 8
mov qword [rsp + 0x48], rdx
add ecx, eax
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x58], edx
lea rdx, [r13 + rcx - 1]
mov ecx, ebx
shl ecx, 8
mov qword [rsp + 0x50], rdx
add ecx, eax
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x5c], edx
lea rdx, [r13 + rcx - 1]
mov ecx, r10d
shl ecx, 8
mov qword [rsp + 0x60], rdx
add ecx, eax
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x70], edx
lea rdx, [r13 + rcx - 1]
mov ecx, r11d
shl ecx, 8
mov qword [rsp + 0x68], rdx
add ecx, eax
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x74], edx
lea rdx, [r13 + rcx - 1]
mov ecx, esi
shl ecx, 8
mov qword [rsp + 0x78], rdx
add ecx, eax
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x88], edx
lea rdx, [r13 + rcx - 1]
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x80], rdx
shl ecx, 8
add ecx, eax
lea edx, [r14 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x8c], edx
lea rdx, [r13 + rcx - 1]
mov ecx, dword [rsp + 0x40]
mov qword [rsp + 0x90], rdx
add ecx, eax
movsxd rdx, ecx
lea eax, [r14 + rcx]
lea rcx, [r13 + rdx - 1]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x2c]
mov qword [rsp + 0x98], rcx
cmp r8d, r9d
jne 0x1403fed50
mov ecx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x58]
mov dword [r12 + 4], eax
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov dword [r15], ecx
movzx edx, byte [rax]
mov eax, dword [rsp + 0x5c]
mov dword [r15 + 4], r8d
movzx ecx, byte [r9]
mov r9d, dword [rsp + 0x70]
shl edx, 0x18
mov dword [r15 + 8], eax
shl ecx, 0x18
add ebp, edx
mov rdx, qword [rsp + 0x60]
lea edi, [rdi + rcx + 0x10000]
mov rcx, qword [rsp + 0x68]
movzx r8d, byte [rdx]
mov rdx, qword [rsp + 0x78]
mov dword [r15 + 0xc], r9d
movzx eax, byte [rcx]
mov r9, qword [rsp + 0x80]
shl r8d, 0x18
shl eax, 0x18
lea ebx, [rbx + r8 + 0x20000]
lea ecx, [r10 + rax + 0x30000]
mov r10d, dword [rsp + 0x74]
mov dword [r15 + 0x10], r10d
movzx r8d, byte [rdx]
shl r8d, 0x18
lea eax, [r11 + r8 + 0x40000]
mov r11d, dword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov dword [r15 + 0x14], r11d
movzx r10d, byte [r9]
mov r9d, dword [rsp + 0x38]
shl r10d, 0x18
lea edx, [rsi + r10 + 0x50000]
mov esi, dword [rsp + 0x8c]
mov r10d, dword [rsp + 0x40]
mov dword [r15 + 0x18], esi
movzx r11d, byte [r8]
mov dword [r15 + 0x1c], r10d
mov rsi, qword [rsp + 0x98]
shl r11d, 0x18
lea r8d, [r9 + r11 + 0x60000]
movzx r11d, byte [rsi]
mov r9d, dword [rsp + 0x3c]
shl r11d, 0x18
lea r9d, [r9 + r11 + 0x70000]
jmp 0x1403fefcf
cmp edi, ebp
mov r11d, ebp
mov r10d, ebx
cmovbe r11d, edi
cmovb edi, ebp
cmp ecx, ebx
cmovbe r10d, ecx
cmovb ecx, ebx
mov esi, r10d
cmp r11d, r10d
mov ebp, ecx
mov ebx, ecx
cmovbe esi, r11d
cmovae r10d, r11d
cmp edi, ecx
mov r11d, eax
cmovbe ebp, edi
cmovae ebx, edi
mov ecx, r8d
cmp r10d, ebp
mov edi, ebp
cmovbe edi, r10d
cmovb r10d, ebp
cmp edx, eax
mov ebp, esi
cmovbe r11d, edx
cmovb edx, eax
cmp r9d, r8d
cmovbe ecx, r9d
cmovb r9d, r8d
mov eax, ecx
cmp r11d, ecx
mov r8d, r9d
cmovbe eax, r11d
cmovae ecx, r11d
cmp edx, r9d
cmovbe r8d, edx
cmovb edx, r9d
mov r9d, edi
cmp ecx, r8d
mov r11d, r8d
cmovbe r11d, ecx
cmovb ecx, r8d
cmp eax, esi
mov r8d, ebx
cmovbe ebp, eax
cmovb eax, esi
cmp r11d, edi
mov esi, r10d
cmovbe r9d, r11d
cmovb r11d, edi
cmp eax, r9d
mov edi, r9d
cmovbe edi, eax
cmovb eax, r9d
cmp ecx, r10d
cmovbe esi, ecx
cmovb ecx, r10d
cmp edx, ebx
cmovbe r8d, edx
cmovae ebx, edx
cmp ecx, r8d
mov edx, r8d
mov r9d, ebx
mov ebx, esi
cmovbe edx, ecx
cmovae r8d, ecx
cmp eax, esi
cmovbe ebx, eax
cmovb eax, esi
mov r10d, edx
cmp r11d, edx
cmovbe r10d, r11d
cmovae edx, r11d
mov ecx, r10d
cmp eax, r10d
cmovbe ecx, eax
cmovb eax, r10d
jmp 0x1403ff043
mov r10d, dword [r11 + 4]
mov r12, r11
jmp 0x1403fefc3
mov r12d, dword [r10 + 4]
mov r11, r10
jmp 0x1403fef6c
mov r8d, dword [r11 + 4]
mov r10, r11
jmp 0x1403fef12
mov r9d, dword [rdx + 4]
mov r11, rdx
jmp 0x1403feebe
mov r9d, dword [rax + 4]
mov rdx, rax
jmp 0x1403fee6e
mov ecx, dword [r9 + 4]
mov rax, r9
jmp 0x1403fee21
mov r12d, dword [rcx + 4]
mov r9, rcx
jmp 0x1403fedd6
mov eax, dword [r12 + 4]
mov rcx, r12
jmp 0x1403fed8e
mov r13, qword [rsp + 0x100]
mov rax, r12
movups xmm6, xmmword [rsp + 0xa0]
sub rax, r13
sar rax, 3
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret