Function at 0x1403eec40
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, 0xe8
movups xmmword [rsp + 0xc0], xmm6
movups xmmword [rsp + 0xd0], xmm7
mov rax, qword [0x1405535b0]
movdqu xmm0, xmmword [0x140553550]
movdqu xmm1, xmmword [0x1405535a0]
mov qword [r8 + 0x20], rax
mov r15, r8
mov r14, rdx
mov rsi, rcx
movups xmmword [r8], xmm0
mov rdx, r15
mov rcx, r14
lea r8, [r8 + 0x28]
movups xmmword [r8 - 0x18], xmm1
mov dword [rsp + 0x148], r9d
call fcn.1400469f0
movdqu xmm4, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
pxor xmm0, xmm0
movdqa xmm3, xmm0
movdqu xmm2, xmmword [0x140553590]
movd xmm5, dword [rsp + 0x148]
mov qword [rsp + 0x28], rsi
movdqa xmm6, xmm4
movdqa xmm7, xmm4
mov ecx, dword [rsp + 0x148]
mov qword [rsp + 0x130], rsi
paddd xmm6, xmm2
paddd xmm2, xmm1
pshufd xmm5, xmm5, 0
mov qword [rsp + 0x30], 0
pcmpgtd xmm0, xmm2
pcmpgtd xmm3, xmm6
paddd xmm4, xmm5
add ecx, 0x140000
movups xmmword [r15], xmm4
movdqa xmm4, xmm1
paddd xmm1, xmm5
movd xmm5, dword [rsp + 0x148]
movups xmmword [r15 + 0x10], xmm1
pxor xmm1, xmm1
mov r13d, dword [rsp + 0x148]
pand xmm4, xmm0
pandn xmm0, xmm2
pand xmm7, xmm3
mov dword [rsp + 0x38], ecx
pandn xmm3, xmm6
por xmm0, xmm4
pshufd xmm6, xmm5, 0xe0
movq xmm4, qword [r15 + 0x20]
movq xmm5, qword [0x140553590]
por xmm3, xmm7
psrad xmm0, 8
movdqa xmm2, xmm4
psrad xmm3, 8
movd r11d, xmm0
paddd xmm5, xmm4
paddd xmm4, xmm6
movd r12d, xmm3
pshufd xmm6, xmm3, 0x55
movd dword [rsp + 0x3c], xmm6
pcmpgtd xmm1, xmm5
movq qword [r15 + 0x20], xmm4
movdqa xmm4, xmm3
punpckhdq xmm4, xmm3
pshufd xmm3, xmm3, 0xff
movd ebp, xmm4
movd ebx, xmm3
pand xmm2, xmm1
pandn xmm1, xmm5
pshufd xmm5, xmm0, 0x55
por xmm1, xmm2
movdqa xmm2, xmm0
movd edx, xmm5
psrad xmm1, 8
punpckhdq xmm2, xmm0
pshufd xmm0, xmm0, 0xff
mov esi, edx
pshufd xmm7, xmm1, 0xe5
movd edi, xmm2
movd dword [rsp + 0x48], xmm7
movd dword [rsp + 0x40], xmm0
movd dword [rsp + 0x44], xmm1
jmp 0x1403ef201
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
sub eax, 0x140000
mov dword [rdx + 4], eax
mov dword [r15], ecx
mov edx, dword [r9]
mov ecx, edx
shr edx, 8
shl ecx, 0x18
add r12d, ecx
cmp r8d, edx
je 0x1403ef740
mov r8, qword [rsp + 0x28]
mov dword [r8 + 8], edx
lea rcx, [r8 + 8]
mov dword [r8 + 0xc], eax
add eax, 0x20000
mov r9, qword [rsp + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [rsp + 0x5c]
mov dword [r15 + 4], eax
mov eax, dword [r9]
mov r9d, dword [rsp + 0x3c]
mov r8d, eax
shr eax, 8
shl r8d, 0x18
lea r8d, [r9 + r8 + 0x10000]
mov dword [rsp + 0x3c], r8d
cmp edx, eax
je 0x1403ef730
mov r9d, dword [rsp + 0x38]
mov dword [rcx + 8], eax
lea rdx, [rcx + 8]
lea r8d, [r9 - 0x13ffff]
mov dword [rcx + 0xc], r8d
mov ecx, dword [rsp + 0x68]
add r8d, 0x20000
mov dword [rdx + 4], r8d
mov dword [r15 + 8], ecx
mov r9d, dword [r10]
mov r10d, r9d
shr r9d, 8
shl r10d, 0x18
lea ebp, [rbp + r10 + 0x20000]
cmp eax, r9d
je 0x1403ef720
mov r8d, dword [rsp + 0x38]
mov dword [rdx + 8], r9d
lea rax, [rdx + 8]
lea ecx, [r8 - 0x13fffe]
mov dword [rdx + 0xc], ecx
mov edx, dword [rsp + 0x6c]
mov r10, qword [rsp + 0x70]
add ecx, 0x20000
mov dword [rax + 4], ecx
mov dword [r15 + 0xc], edx
mov r8d, dword [r10]
mov ecx, r8d
shr r8d, 8
shl ecx, 0x18
lea edx, [rbx + rcx + 0x30000]
cmp r9d, r8d
je 0x1403ef710
mov ebx, dword [rsp + 0x38]
mov dword [rax + 8], r8d
lea rcx, [rax + 8]
lea r9d, [rbx - 0x13fffd]
mov dword [rax + 0xc], r9d
mov eax, dword [rsp + 0x80]
mov r10, qword [rsp + 0x78]
add r9d, 0x20000
mov dword [rcx + 4], r9d
mov dword [r15 + 0x10], eax
mov eax, dword [r10]
mov ebx, eax
shr eax, 8
shl ebx, 0x18
lea r11d, [r11 + rbx + 0x40000]
cmp r8d, eax
je 0x1403ef700
mov r8d, dword [rsp + 0x38]
mov dword [rcx + 8], eax
lea r10, [rcx + 8]
lea r9d, [r8 - 0x13fffc]
mov dword [rcx + 0xc], r9d
mov ecx, dword [rsp + 0x84]
mov rbx, qword [rsp + 0x88]
add r9d, 0x20000
mov dword [r10 + 4], r9d
mov dword [r15 + 0x14], ecx
mov ecx, dword [rbx]
mov r8d, ecx
shr ecx, 8
shl r8d, 0x18
lea r8d, [rsi + r8 + 0x50000]
cmp eax, ecx
je 0x1403ef6f0
mov esi, dword [rsp + 0x38]
mov dword [r10 + 8], ecx
lea r9, [r10 + 8]
sub esi, 0x13fffb
mov dword [r10 + 0xc], esi
mov eax, dword [rsp + 0x98]
mov r10, qword [rsp + 0x90]
add esi, 0x20000
mov dword [r9 + 4], esi
mov dword [r15 + 0x18], eax
mov ebx, dword [r10]
mov esi, ebx
shr ebx, 8
shl esi, 0x18
lea eax, [rdi + rsi + 0x60000]
cmp ecx, ebx
je 0x1403ef6e0
mov edi, dword [rsp + 0x38]
mov dword [r9 + 8], ebx
lea rsi, [r9 + 8]
lea ecx, [rdi - 0x13fffa]
mov dword [r9 + 0xc], ecx
mov r9d, dword [rsp + 0x9c]
add ecx, 0x20000
mov r10, qword [rsp + 0xa0]
mov dword [rsi + 4], ecx
mov edi, dword [rsp + 0x40]
mov dword [r15 + 0x1c], r9d
mov ecx, dword [r10]
mov r9d, ecx
shr ecx, 8
shl r9d, 0x18
lea r9d, [rdi + r9 + 0x70000]
cmp ebx, ecx
je 0x1403ef6d0
mov r10d, dword [rsp + 0x38]
mov dword [rsi + 8], ecx
lea rbx, [rsi + 8]
lea edi, [r10 - 0x13fff9]
mov dword [rsi + 0xc], edi
mov esi, dword [rsp + 0xb0]
mov r10, qword [rsp + 0xa8]
add edi, 0x20000
mov dword [rbx + 4], edi
mov dword [r15 + 0x20], esi
mov edi, dword [r10]
mov esi, dword [rsp + 0x44]
mov r10d, edi
shr edi, 8
shl r10d, 0x18
lea r10d, [rsi + r10 + 0x80000]
cmp ecx, edi
je 0x1403ef6c0
mov ecx, dword [rsp + 0x38]
mov dword [rbx + 8], edi
lea rsi, [rbx + 8]
sub ecx, 0x13fff8
mov dword [rbx + 0xc], ecx
add ecx, 0x20000
mov ebx, dword [rsp + 0xb4]
mov dword [rsi + 4], ecx
mov rcx, qword [rsp + 0xb8]
mov dword [r15 + 0x24], ebx
mov ebx, dword [rsp + 0x48]
mov ecx, dword [rcx]
mov dword [rsp + 0x28], ecx
shl ecx, 0x18
lea ecx, [rbx + rcx + 0x90000]
mov ebx, dword [rsp + 0x28]
shr ebx, 8
cmp edi, ebx
je 0x1403ef6b0
mov dword [rsi + 8], ebx
mov ebx, dword [rsp + 0x38]
lea rdi, [rsi + 8]
mov qword [rsp + 0x28], rdi
lea ebx, [rbx - 0x13fff7]
mov dword [rsi + 0xc], ebx
mov rsi, qword [rsp + 0x28]
add ebx, 0x20000
mov dword [rsi + 4], ebx
mov esi, dword [rsp + 0x3c]
mov ebx, r12d
add qword [rsp + 0x28], 8
shr ebx, 0x18
shr esi, 0x18
cmp ebx, esi
jne 0x1403ef500
mov edi, ebp
shr edi, 0x18
cmp ebx, edi
jne 0x1403ef500
mov esi, edx
shr esi, 0x18
cmp ebx, esi
jne 0x1403ef500
mov edi, r11d
shr edi, 0x18
cmp ebx, edi
jne 0x1403ef500
mov esi, r8d
shr esi, 0x18
cmp ebx, esi
jne 0x1403ef500
mov edi, eax
shr edi, 0x18
cmp ebx, edi
jne 0x1403ef500
mov esi, r9d
shr esi, 0x18
cmp ebx, esi
jne 0x1403ef500
mov edi, r10d
shr edi, 0x18
cmp ebx, edi
jne 0x1403ef500
mov esi, ecx
shr esi, 0x18
cmp ebx, esi
jne 0x1403ef500
movzx ebx, byte [rsp + 0x3c]
movzx esi, r8b
movzx r8d, r9b
movzx ecx, cl
movzx r10d, r10b
add dword [rsp + 0x38], 0xa
movzx r12d, r12b
movzx edi, al
mov dword [rsp + 0x3c], ebx
movzx ebp, bpl
movzx ebx, dl
movzx r11d, r11b
add qword [rsp + 0x30], 1
mov r9, qword [rsp + 0x30]
add r15, 0x28
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x44], r10d
mov dword [rsp + 0x48], ecx
cmp r9, 0x100
je 0x1403ef74d
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x30]
mov ecx, r12d
shl ecx, 8
shl edx, 8
movsxd r8, ecx
movsxd r9, edx
sub r8, r10
sub r9, r10
mov r8d, dword [r14 + r8 + 0xff]
mov eax, dword [r14 + r9 + 0xff]
mov r9, qword [rsp + 0x28]
and r8d, 0xffffff
and eax, 0xffffff
mov dword [r9], r8d
mov dword [rsp + 0x4c], eax
mov eax, 0xff
sub eax, r10d
add ecx, eax
add edx, eax
lea r10d, [r13 + rcx]
movsxd rcx, ecx
lea r9, [r14 + rcx - 1]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x58], r10d
mov qword [rsp + 0x50], r9
shl ecx, 8
add ecx, eax
movsxd r9, ecx
lea r10d, [r13 + rcx]
lea rcx, [r14 + r9 - 1]
mov r9d, ebp
mov dword [rsp + 0x5c], r10d
shl r9d, 8
mov qword [rsp + 0x60], rcx
add r9d, eax
lea r10d, [r13 + r9]
movsxd rcx, r9d
mov dword [rsp + 0x68], r10d
lea r10, [r14 + rcx - 1]
mov ecx, ebx
shl ecx, 8
add ecx, eax
lea r9d, [r13 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x6c], r9d
lea r9, [r14 + rcx - 1]
mov ecx, r11d
shl ecx, 8
mov qword [rsp + 0x70], r9
add ecx, eax
lea r9d, [r13 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x80], r9d
lea r9, [r14 + rcx - 1]
mov ecx, esi
shl ecx, 8
mov qword [rsp + 0x78], r9
add ecx, eax
lea r9d, [r13 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x84], r9d
lea r9, [r14 + rcx - 1]
mov ecx, edi
shl ecx, 8
mov qword [rsp + 0x88], r9
add ecx, eax
lea r9d, [r13 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x98], r9d
lea r9, [r14 + rcx - 1]
mov ecx, dword [rsp + 0x40]
mov qword [rsp + 0x90], r9
shl ecx, 8
add ecx, eax
lea r9d, [r13 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0x9c], r9d
lea r9, [r14 + rcx - 1]
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0xa0], r9
shl ecx, 8
add ecx, eax
lea eax, [r13 + rdx]
movsxd rdx, edx
lea r9d, [r13 + rcx]
movsxd rcx, ecx
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb0], r9d
lea r9, [r14 + rcx - 1]
lea rcx, [r14 + rdx - 1]
mov qword [rsp + 0xa8], r9
mov r9d, dword [rsp + 0x4c]
mov qword [rsp + 0xb8], rcx
cmp r8d, r9d
jne 0x1403eee00
mov r8, qword [rsp + 0x28]
mov edx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
mov dword [r8 + 4], edx
mov r8d, dword [rsp + 0x5c]
mov rdx, qword [rsp + 0x60]
mov dword [r15], eax
movzx ecx, byte [r9]
mov r9d, dword [rsp + 0x3c]
mov dword [r15 + 4], r8d
movzx eax, byte [rdx]
mov r8d, dword [rsp + 0x68]
shl ecx, 0x18
mov edx, dword [rsp + 0x6c]
shl eax, 0x18
add r12d, ecx
mov dword [r15 + 8], r8d
movzx r10d, byte [r10]
lea ecx, [r9 + rax + 0x10000]
mov rax, qword [rsp + 0x70]
mov dword [r15 + 0xc], edx
shl r10d, 0x18
mov dword [rsp + 0x3c], ecx
mov rcx, qword [rsp + 0x78]
movzx r9d, byte [rax]
lea ebp, [rbp + r10 + 0x20000]
mov rax, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x84]
shl r9d, 0x18
lea edx, [rbx + r9 + 0x30000]
mov ebx, dword [rsp + 0x80]
mov dword [r15 + 0x10], ebx
movzx r8d, byte [rcx]
mov dword [r15 + 0x14], r10d
movzx r9d, byte [rax]
shl r8d, 0x18
mov rbx, qword [rsp + 0x90]
shl r9d, 0x18
lea r11d, [r11 + r8 + 0x40000]
lea r8d, [rsi + r9 + 0x50000]
mov esi, dword [rsp + 0x98]
mov dword [r15 + 0x18], esi
movzx ecx, byte [rbx]
shl ecx, 0x18
lea eax, [rdi + rcx + 0x60000]
mov edi, dword [rsp + 0x9c]
mov r10, qword [rsp + 0xa0]
mov esi, dword [rsp + 0x40]
mov ebx, dword [rsp + 0xb0]
mov dword [r15 + 0x1c], edi
movzx r9d, byte [r10]
mov rcx, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x44]
mov dword [r15 + 0x20], ebx
shl r9d, 0x18
mov rbx, qword [rsp + 0xb8]
movzx r10d, byte [rcx]
lea r9d, [rsi + r9 + 0x70000]
mov esi, dword [rsp + 0xb4]
shl r10d, 0x18
mov dword [r15 + 0x24], esi
movzx ecx, byte [rbx]
lea r10d, [rdi + r10 + 0x80000]
mov edi, dword [rsp + 0x48]
shl ecx, 0x18
lea ecx, [rdi + rcx + 0x90000]
jmp 0x1403ef121
mov esi, dword [rsp + 0x3c]
mov ebx, edx
cmp esi, r12d
mov edi, esi
cmova edi, r12d
cmovb esi, r12d
cmp r11d, edx
cmovae edx, r11d
cmovbe ebx, r11d
cmp ebp, edx
mov r11d, edx
cmovbe r11d, ebp
cmovae edx, ebp
cmp ebx, r11d
mov ebp, r11d
cmovbe ebp, ebx
cmovb ebx, r11d
cmp edi, ebx
mov r12d, ebx
cmovbe r12d, edi
cmovae ebx, edi
mov edi, edx
cmp ebp, r12d
mov r11d, r12d
cmovbe r11d, ebp
cmovae r12d, ebp
cmp esi, edx
mov ebp, eax
cmovbe edi, esi
cmovae edx, esi
cmp ebx, edi
mov esi, edi
mov dword [rsp + 0x40], edx
mov edx, ecx
cmovbe esi, ebx
cmovae edi, ebx
cmp r12d, esi
mov ebx, esi
cmovbe ebx, r12d
cmovae esi, r12d
cmp r8d, eax
cmovbe ebp, r8d
cmovae eax, r8d
cmp r10d, ecx
mov r8d, r9d
cmovae ecx, r10d
cmovbe edx, r10d
cmp ecx, r9d
cmovbe r8d, ecx
cmovb ecx, r9d
cmp edx, r8d
mov r9d, r8d
mov r12d, ecx
cmovbe r9d, edx
cmovb edx, r8d
cmp ebp, edx
mov r10d, edx
cmovbe r10d, ebp
cmovae edx, ebp
mov r8d, r10d
cmp r9d, r10d
cmovbe r8d, r9d
cmovb r9d, r10d
cmp eax, ecx
cmovbe r12d, eax
cmovb eax, ecx
mov ebp, r12d
cmp edx, r12d
cmovbe ebp, edx
cmovb edx, r12d
mov r12d, r8d
cmp r9d, ebp
mov ecx, ebp
cmovbe ecx, r9d
cmovb r9d, ebp
cmp r11d, r8d
mov ebp, edx
cmovbe r12d, r11d
cmovb r11d, r8d
mov r10d, ecx
cmp ebx, ecx
cmovbe r10d, ebx
cmovb ebx, ecx
mov ecx, dword [rsp + 0x40]
cmp r11d, r10d
mov r8d, r10d
cmovbe r8d, r11d
cmovb r11d, r10d
cmp esi, r9d
mov r10d, ecx
mov dword [rsp + 0x3c], r8d
mov r8d, r9d
cmovbe r8d, esi
cmovb esi, r9d
cmp edi, edx
cmovae edx, edi
cmovbe ebp, edi
cmp ecx, eax
cmova r10d, eax
cmovb ecx, eax
mov edi, ebp
cmp edx, r10d
mov r9d, r10d
cmovbe r9d, edx
cmovae r10d, edx
cmp esi, ebp
cmovbe edi, esi
cmovb esi, ebp
mov ebp, r8d
cmp r9d, esi
mov eax, esi
cmovbe eax, r9d
cmovb r9d, esi
cmp r11d, r8d
cmovae r8d, r11d
cmovbe ebp, r11d
cmp ebx, edi
mov r11d, edi
cmovbe r11d, ebx
cmovb ebx, edi
mov esi, eax
cmp ebx, eax
mov edx, r11d
cmovbe esi, ebx
cmovae eax, ebx
cmp r8d, r11d
cmovbe edx, r8d
cmovb r8d, r11d
cmp esi, r8d
mov r11d, r8d
cmovbe r11d, esi
cmovae r8d, esi
jmp 0x1403ef1a8
mov qword [rsp + 0x28], rsi
mov ebx, dword [rsi + 4]
jmp 0x1403ef113
mov ecx, dword [rbx + 4]
mov rsi, rbx
jmp 0x1403ef0bb
mov edi, dword [rsi + 4]
mov rbx, rsi
jmp 0x1403ef06a
mov ecx, dword [r9 + 4]
mov rsi, r9
jmp 0x1403ef016
mov esi, dword [r10 + 4]
mov r9, r10
jmp 0x1403eefc9
mov r9d, dword [rcx + 4]
mov r10, rcx
jmp 0x1403eef79
mov r9d, dword [rax + 4]
mov rcx, rax
jmp 0x1403eef2b
mov ecx, dword [rdx + 4]
mov rax, rdx
jmp 0x1403eeee1
mov r8d, dword [rcx + 4]
mov rdx, rcx
jmp 0x1403eee98
mov rcx, qword [rsp + 0x28]
mov eax, dword [rcx + 4]
jmp 0x1403eee45
mov r14, qword [rsp + 0x130]
mov rax, qword [rsp + 0x28]
movups xmm6, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0xd0]
sub rax, r14
sar rax, 3
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret