Function at 0x1403ff490
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, 0xc8
movups xmmword [rsp + 0xb0], xmm6
movdqu xmm0, xmmword [0x140553550]
movdqu xmm1, xmmword [0x1405535a0]
mov r14, r8
mov r15, rdx
mov r13d, r9d
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm1
mov rbx, rcx
lea r8, [r8 + 0x24]
mov rdx, r14
mov dword [r8 - 4], 0x8ff
mov rcx, r15
call fcn.1400469f0
movdqu xmm2, xmmword [r14]
movd xmm4, r13d
movdqu xmm3, xmmword [0x140553590]
pshufd xmm4, xmm4, 0
pxor xmm0, xmm0
mov eax, dword [r14 + 0x20]
lea r8d, [r13 + 0x120000]
movdqa xmm5, xmm2
movdqa xmm6, xmm2
paddd xmm2, xmm4
mov dword [rsp + 0x30], r8d
movups xmmword [r14], xmm2
movdqu xmm2, xmmword [r14 + 0x10]
paddd xmm5, xmm3
mov edx, eax
movdqa xmm1, xmm0
sub edx, 0xff
mov r8, rbx
mov qword [rsp + 0x28], 0
paddd xmm3, xmm2
pcmpgtd xmm1, xmm5
cmovs edx, eax
add eax, r13d
pcmpgtd xmm0, xmm3
mov dword [r14 + 0x20], eax
sar edx, 8
mov qword [rsp + 0x110], rbx
pand xmm6, xmm1
pandn xmm1, xmm5
movdqa xmm5, xmm2
mov dword [rsp + 0x40], edx
pand xmm5, xmm0
pandn xmm0, xmm3
por xmm1, xmm6
por xmm0, xmm5
psrad xmm1, 8
paddd xmm2, xmm4
psrad xmm0, 8
movdqa xmm3, xmm1
movups xmmword [r14 + 0x10], xmm2
movd r12d, xmm1
pshufd xmm6, xmm0, 0x55
movdqa xmm2, xmm0
pshufd xmm4, xmm1, 0x55
mov dword [rsp + 0x34], r12d
punpckhdq xmm3, xmm1
punpckhdq xmm2, xmm0
pshufd xmm1, xmm1, 0xff
movd ebp, xmm0
movd ecx, xmm6
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x38], xmm2
movd edx, xmm4
movd edi, xmm3
movd esi, xmm1
mov r12d, ecx
movd dword [rsp + 0x3c], xmm0
jmp 0x1403ff9a0
mov ecx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x48]
sub eax, 0x120000
mov dword [r8 + 4], eax
mov r11d, dword [rsp + 0x34]
mov dword [r14], ecx
mov ecx, dword [r9]
mov r9d, ecx
shr ecx, 8
shl r9d, 0x18
add r11d, r9d
mov dword [rsp + 0x34], r11d
cmp r10d, ecx
je 0x1403ffe50
mov dword [r8 + 8], ecx
lea r10, [r8 + 8]
mov dword [r8 + 0xc], eax
add eax, 0x20000
mov r8d, dword [rsp + 0x54]
mov dword [r10 + 4], eax
mov rax, qword [rsp + 0x58]
mov dword [r14 + 4], r8d
mov eax, dword [rax]
mov r9d, eax
shr eax, 8
shl r9d, 0x18
lea edx, [rdx + r9 + 0x10000]
cmp ecx, eax
je 0x1403ffe40
mov r11d, dword [rsp + 0x30]
mov dword [r10 + 8], eax
lea rcx, [r10 + 8]
sub r11d, 0x11ffff
mov dword [r10 + 0xc], r11d
add r11d, 0x20000
mov dword [rcx + 4], r11d
mov dword [r14 + 8], ebx
mov rbx, qword [rsp + 0x60]
mov r10d, dword [rbx]
mov r8d, r10d
shr r10d, 8
shl r8d, 0x18
lea r11d, [rdi + r8 + 0x20000]
cmp eax, r10d
je 0x1403ffe30
mov edi, dword [rsp + 0x30]
mov dword [rcx + 8], r10d
lea rax, [rcx + 8]
lea r9d, [rdi - 0x11fffe]
mov dword [rcx + 0xc], r9d
mov ecx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
add r9d, 0x20000
mov dword [rax + 4], r9d
mov dword [r14 + 0xc], ecx
mov edi, dword [rbx]
mov r8d, edi
shr edi, 8
shl r8d, 0x18
lea esi, [rsi + r8 + 0x30000]
cmp r10d, edi
je 0x1403ffe20
mov r10d, dword [rsp + 0x30]
mov dword [rax + 8], edi
lea rbx, [rax + 8]
sub r10d, 0x11fffd
mov dword [rax + 0xc], r10d
mov eax, dword [rsp + 0x74]
mov r9, qword [rsp + 0x78]
add r10d, 0x20000
mov dword [rbx + 4], r10d
mov dword [r14 + 0x10], eax
mov r10d, dword [r9]
mov ecx, r10d
shr r10d, 8
shl ecx, 0x18
lea ecx, [rbp + rcx + 0x40000]
cmp edi, r10d
je 0x1403ffe10
mov edi, dword [rsp + 0x30]
mov dword [rbx + 8], r10d
lea rbp, [rbx + 8]
sub edi, 0x11fffc
mov dword [rbx + 0xc], edi
mov r8d, dword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
add edi, 0x20000
mov dword [rbp + 4], edi
mov dword [r14 + 0x14], r8d
mov r8d, dword [rbx]
mov eax, r8d
shr r8d, 8
shl eax, 0x18
lea eax, [r12 + rax + 0x50000]
cmp r10d, r8d
je 0x1403ffe00
mov r9d, dword [rsp + 0x30]
mov dword [rbp + 8], r8d
lea r12, [rbp + 8]
lea r10d, [r9 - 0x11fffb]
mov dword [rbp + 0xc], r10d
mov ebp, dword [rsp + 0x8c]
mov rdi, qword [rsp + 0x90]
add r10d, 0x20000
mov dword [r12 + 4], r10d
mov r10d, dword [rsp + 0x38]
mov dword [r14 + 0x18], ebp
mov r9d, dword [rdi]
mov ebx, r9d
shr r9d, 8
shl ebx, 0x18
lea r10d, [r10 + rbx + 0x60000]
cmp r8d, r9d
je 0x1403ffdf0
mov r8d, dword [rsp + 0x30]
mov dword [r12 + 8], r9d
lea rdi, [r12 + 8]
sub r8d, 0x11fffa
mov dword [r12 + 0xc], r8d
mov r12d, dword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
add r8d, 0x20000
mov dword [rdi + 4], r8d
mov dword [r14 + 0x1c], r12d
mov r8d, dword [rbp]
mov r12d, dword [rsp + 0x3c]
mov ebx, r8d
shr r8d, 8
shl ebx, 0x18
lea ebx, [r12 + rbx + 0x70000]
cmp r9d, r8d
je 0x1403ffde0
mov r9d, dword [rsp + 0x30]
mov dword [rdi + 8], r8d
lea rbp, [rdi + 8]
sub r9d, 0x11fff9
mov dword [rdi + 0xc], r9d
mov edi, dword [rsp + 0xa4]
mov r12, qword [rsp + 0xa8]
add r9d, 0x20000
mov dword [rbp + 4], r9d
mov dword [r14 + 0x20], edi
mov edi, dword [r12]
mov r12d, dword [rsp + 0x40]
mov r9d, edi
shr edi, 8
shl r9d, 0x18
lea r9d, [r12 + r9 + 0x80000]
cmp r8d, edi
je 0x1403ffdd0
mov dword [rbp + 8], edi
mov edi, dword [rsp + 0x30]
lea r8, [rbp + 8]
sub edi, 0x11fff8
mov dword [rbp + 0xc], edi
add edi, 0x20000
mov dword [r8 + 4], edi
mov edi, dword [rsp + 0x34]
mov ebp, edx
add r8, 8
shr ebp, 0x18
shr edi, 0x18
cmp edi, ebp
jne 0x1403ffc60
mov r12d, r11d
shr r12d, 0x18
cmp edi, r12d
jne 0x1403ffc60
mov ebp, esi
shr ebp, 0x18
cmp edi, ebp
jne 0x1403ffc60
mov r12d, ecx
shr r12d, 0x18
cmp edi, r12d
jne 0x1403ffc60
mov ebp, eax
shr ebp, 0x18
cmp edi, ebp
jne 0x1403ffc60
mov r12d, r10d
shr r12d, 0x18
cmp edi, r12d
jne 0x1403ffc60
mov ebp, ebx
shr ebp, 0x18
cmp edi, ebp
jne 0x1403ffc60
mov r12d, r9d
shr r12d, 0x18
cmp edi, r12d
jne 0x1403ffc60
movzx r12d, byte [rsp + 0x34]
movzx ebp, cl
movzx r10d, r10b
movzx ebx, bl
movzx r9d, r9b
add dword [rsp + 0x30], 9
movzx edx, dl
movzx edi, r11b
add qword [rsp + 0x28], 1
mov rcx, qword [rsp + 0x28]
movzx esi, sil
add r14, 0x24
mov dword [rsp + 0x34], r12d
movzx r12d, al
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x40], r9d
cmp rcx, 0x100
je 0x1403ffe5c
mov ecx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
mov r9d, dword [rsp + 0x34]
shl ecx, 8
movsxd r11, ecx
shl r9d, 8
sub r11, rbx
movsxd r10, r9d
mov eax, dword [r15 + r11 + 0xff]
sub r10, rbx
mov r10d, dword [r15 + r10 + 0xff]
and eax, 0xffffff
mov dword [rsp + 0x44], eax
mov eax, 0xff
and r10d, 0xffffff
sub eax, ebx
mov dword [r8], r10d
add r9d, eax
add ecx, eax
lea ebx, [r13 + r9]
movsxd r9, r9d
lea r11, [r15 + r9 - 1]
mov r9d, edx
mov dword [rsp + 0x50], ebx
shl r9d, 8
mov qword [rsp + 0x48], r11
add r9d, eax
movsxd r11, r9d
lea ebx, [r13 + r9]
lea r9, [r15 + r11 - 1]
mov r11d, edi
mov dword [rsp + 0x54], ebx
shl r11d, 8
mov qword [rsp + 0x58], r9
add r11d, eax
movsxd r9, r11d
lea ebx, [r13 + r11]
lea r11, [r15 + r9 - 1]
mov r9d, esi
shl r9d, 8
mov qword [rsp + 0x60], r11
add r9d, eax
lea r11d, [r13 + r9]
movsxd r9, r9d
mov dword [rsp + 0x70], r11d
lea r11, [r15 + r9 - 1]
mov r9d, ebp
shl r9d, 8
mov qword [rsp + 0x68], r11
add r9d, eax
lea r11d, [r13 + r9]
movsxd r9, r9d
mov dword [rsp + 0x74], r11d
lea r11, [r15 + r9 - 1]
mov r9d, r12d
shl r9d, 8
mov qword [rsp + 0x78], r11
add r9d, eax
lea r11d, [r13 + r9]
movsxd r9, r9d
mov dword [rsp + 0x88], r11d
lea r11, [r15 + r9 - 1]
mov r9d, dword [rsp + 0x38]
mov qword [rsp + 0x80], r11
shl r9d, 8
add r9d, eax
lea r11d, [r13 + r9]
movsxd r9, r9d
mov dword [rsp + 0x8c], r11d
lea r11, [r15 + r9 - 1]
mov r9d, dword [rsp + 0x3c]
mov qword [rsp + 0x90], r11
shl r9d, 8
add r9d, eax
lea eax, [r13 + rcx]
movsxd rcx, ecx
lea r11d, [r13 + r9]
movsxd r9, r9d
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0xa0], r11d
lea r11, [r15 + r9 - 1]
lea r9, [r15 + rcx - 1]
mov qword [rsp + 0x98], r11
mov r11d, dword [rsp + 0x44]
mov qword [rsp + 0xa8], r9
cmp r10d, r11d
jne 0x1403ff5f0
mov r11d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov dword [r8 + 4], eax
mov r9d, dword [rsp + 0x54]
mov r10d, dword [rsp + 0x34]
mov dword [r14], r11d
mov r11, qword [rsp + 0x58]
movzx eax, byte [rcx]
mov dword [r14 + 4], r9d
movzx ecx, byte [r11]
mov dword [r14 + 8], ebx
mov rbx, qword [rsp + 0x60]
shl eax, 0x18
add r10d, eax
shl ecx, 0x18
movzx eax, byte [rbx]
mov dword [rsp + 0x34], r10d
lea edx, [rdx + rcx + 0x10000]
mov r10, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
shl eax, 0x18
mov rbx, qword [rsp + 0x78]
lea r11d, [rdi + rax + 0x20000]
mov edi, dword [rsp + 0x70]
mov dword [r14 + 0xc], edi
movzx r9d, byte [r10]
mov dword [r14 + 0x10], ecx
movzx eax, byte [rbx]
mov rdi, qword [rsp + 0x80]
shl r9d, 0x18
shl eax, 0x18
lea esi, [rsi + r9 + 0x30000]
mov r9, qword [rsp + 0x90]
lea ecx, [rbp + rax + 0x40000]
mov ebp, dword [rsp + 0x88]
mov dword [r14 + 0x14], ebp
movzx r10d, byte [rdi]
mov edi, dword [rsp + 0xa0]
mov ebp, dword [rsp + 0x38]
shl r10d, 0x18
lea eax, [r12 + r10 + 0x50000]
mov r12d, dword [rsp + 0x8c]
mov dword [r14 + 0x18], r12d
movzx ebx, byte [r9]
mov dword [r14 + 0x1c], edi
mov r12, qword [rsp + 0x98]
shl ebx, 0x18
mov rdi, qword [rsp + 0xa8]
movzx r9d, byte [r12]
lea r10d, [rbp + rbx + 0x60000]
mov ebp, dword [rsp + 0xa4]
mov ebx, dword [rsp + 0x3c]
shl r9d, 0x18
mov dword [r14 + 0x20], ebp
movzx r12d, byte [rdi]
lea ebx, [rbx + r9 + 0x70000]
mov r9d, dword [rsp + 0x40]
shl r12d, 0x18
lea r9d, [r9 + r12 + 0x80000]
jmp 0x1403ff8ca
mov edi, dword [rsp + 0x34]
mov r12d, r11d
cmp edx, edi
mov ebp, edi
cmovbe ebp, edx
cmovb edx, edi
cmp esi, r11d
cmovbe r12d, esi
cmovb esi, r11d
mov edi, r12d
cmp ebp, r12d
mov r11d, esi
cmovbe edi, ebp
cmovae r12d, ebp
cmp edx, esi
mov ebp, ecx
cmovbe r11d, edx
cmovae esi, edx
cmp r12d, r11d
mov edx, r11d
cmovbe edx, r12d
cmovae r11d, r12d
cmp eax, ecx
cmovbe ebp, eax
cmovb eax, ecx
cmp ebx, r9d
mov ecx, r9d
cmovae r9d, ebx
cmovbe ecx, ebx
cmp r10d, r9d
mov ebx, r9d
cmovbe ebx, r10d
cmovae r9d, r10d
cmp ecx, ebx
mov r10d, ebx
cmovbe r10d, ecx
cmovb ecx, ebx
mov ebx, r9d
cmp ebp, ecx
mov r12d, ecx
cmovbe r12d, ebp
cmovae ecx, ebp
cmp r10d, r12d
mov ebp, r12d
cmovbe ebp, r10d
cmovb r10d, r12d
cmp eax, r9d
cmovbe ebx, eax
cmovb eax, r9d
cmp ecx, ebx
mov r9d, ebx
cmovbe r9d, ecx
cmovb ecx, ebx
mov r12d, r9d
cmp r10d, r9d
cmovbe r12d, r10d
cmovae r9d, r10d
cmp edi, r12d
mov r10d, r12d
mov ebx, r9d
cmovbe r10d, edi
cmovae r12d, edi
cmp ebp, r10d
mov edi, r10d
cmovbe edi, ebp
cmovb ebp, r10d
cmp edx, r9d
mov r10d, ecx
cmovbe ebx, edx
mov dword [rsp + 0x34], edi
mov edi, r9d
cmovae edi, edx
mov r9d, ebx
cmp r12d, ebx
cmovbe r9d, r12d
cmovb r12d, ebx
mov ebx, eax
cmp ebp, r9d
mov edx, r9d
cmovbe edx, ebp
cmovb ebp, r9d
cmp r11d, ecx
mov r9d, eax
cmovbe r10d, r11d
cmovb r11d, ecx
cmp esi, eax
mov eax, edi
cmovbe ebx, esi
mov dword [rsp + 0x38], r10d
cmovae r9d, esi
mov esi, dword [rsp + 0x38]
cmp r11d, ebx
mov r10d, ebx
mov ecx, esi
cmovbe r10d, r11d
cmovae ebx, r11d
cmp esi, r12d
mov r11d, ebp
cmova ecx, r12d
cmovb esi, r12d
cmp ecx, ebp
cmovbe r11d, ecx
cmovb ecx, ebp
cmp r10d, edi
cmovbe eax, r10d
cmovb r10d, edi
mov ebp, eax
cmp esi, eax
cmovbe ebp, esi
cmovae eax, esi
cmp ecx, ebp
mov esi, ebp
cmovbe esi, ecx
cmovb ecx, ebp
jmp 0x1403ff949
mov edi, dword [rbp + 4]
mov r8, rbp
jmp 0x1403ff8c0
mov r9d, dword [rdi + 4]
mov rbp, rdi
jmp 0x1403ff86a
mov r8d, dword [r12 + 4]
mov rdi, r12
jmp 0x1403ff80f
mov r10d, dword [rbp + 4]
mov r12, rbp
jmp 0x1403ff7b2
mov edi, dword [rbx + 4]
mov rbp, rbx
jmp 0x1403ff75f
mov r10d, dword [rax + 4]
mov rbx, rax
jmp 0x1403ff715
mov r9d, dword [rcx + 4]
mov rax, rcx
jmp 0x1403ff6c9
mov r11d, dword [r10 + 4]
mov rcx, r10
jmp 0x1403ff67f
mov eax, dword [r8 + 4]
mov r10, r8
jmp 0x1403ff634
mov r15, qword [rsp + 0x110]
mov rax, r8
movups xmm6, xmmword [rsp + 0xb0]
sub rax, r15
sar rax, 3
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret