Function at 0x14014c780
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, 0x198
mov rax, qword [rcx + 0x38]
mov r15, qword [rcx + 8]
mov rbx, qword [rcx + 0x70]
mov qword [rsp + 0x40], rax
mov eax, dword [rcx + 0x18]
mov r10, rcx
mov r14, rdx
mov qword [rsp + 0x1f0], r8
mov r8, rdx
mov edi, dword [r10 + 0x1c]
mov qword [rsp + 0x1f8], r9
mov r9d, dword [rcx + 0x34]
sub r8, r15
mov ecx, dword [rcx + 0x100]
mov dword [rsp + 0x88], eax
add rax, r15
mov edx, edi
mov qword [rsp + 0x70], rax
mov eax, 1
shl eax, cl
mov ecx, r8d
mov dword [rsp + 0x48], r8d
sub ecx, edi
mov dword [rsp + 0x3c], edi
cmp eax, ecx
jae 0x14014c800
mov edx, r8d
sub edx, eax
mov eax, dword [r10 + 0x10c]
cmp dword [r10 + 0x28], 0
mov ecx, 5
mov r11d, 1
cmovne edx, dword [rsp + 0x3c]
mov r13, qword [r10 + 0xf8]
mov esi, r11d
cmp eax, 5
mov rdi, qword [r10 + 0x60]
cmovbe ecx, eax
mov dword [rsp + 0x3c], edx
movabs rdx, 0xcf1bbcdcbb000000
imul rdx, qword [r14]
mov qword [rsp + 0x78], rdi
shl esi, cl
mov ecx, 0x42
sub ecx, dword [r13 + 0x108]
mov dword [rsp + 0x60], esi
mov rsi, rdx
shr rsi, cl
mov rcx, rsi
shl rcx, 4
mov qword [rsp + 0x58], rcx
add rcx, qword [r13 + 0x70]
prefetcht0 byte [rcx]
mov dword [rsp + 0x8c], 0
cmp eax, 5
jbe 0x14014c890
lea ecx, [rax - 5]
shl r11d, cl
mov dword [rsp + 0x8c], r11d
mov eax, 0x38
sub eax, r9d
cmp dword [r10 + 0x12c], 0
mov dword [rsp + 0x68], eax
jne 0x14014cb0c
lea rax, [r10 + 0x40]
mov edx, r8d
mov qword [rsp + 0x50], rax
mov eax, dword [r10 + 0x2c]
sub edx, eax
cmp edx, 0x180
jbe 0x14014ca0c
movabs rdi, 0xcf1bbcdcbb000000
cmp eax, 0xffffffa0
sbb edx, edx
and edx, 0x60
lea esi, [rax + rdx]
cmp eax, esi
je 0x14014c96d
mov edx, eax
mov r11, qword [rsp + 0x50]
mov rcx, qword [r15 + rdx + 8]
imul rcx, rdi
xor rcx, qword [r10 + 0x60]
mov rdx, rcx
mov cl, byte [rsp + 0x68]
shr rdx, cl
mov rcx, rdx
shr edx, 8
shl edx, 5
mov r9d, edx
add edx, 0x10
prefetcht0 byte [rbx + rdx*4]
mov rdx, qword [rsp + 0x40]
prefetcht0 byte [rbx + r9*4]
prefetcht0 byte [rdx + r9]
mov edx, eax
and edx, 7
lea rdx, [r11 + rdx*4]
mov ebp, dword [rdx]
mov dword [rdx], ecx
mov rdx, qword [rsp + 0x40]
mov ecx, ebp
shr ecx, 8
shl ecx, 5
lea r9, [rdx + rcx]
movzx edx, byte [r9]
dec edx
and edx, 0x1f
cmp edx, 1
sbb r11d, r11d
and r11d, 0x1f
add edx, r11d
mov byte [r9], dl
mov byte [r9 + rdx], bpl
add rdx, rcx
mov dword [rbx + rdx*4], eax
inc eax
jmp 0x14014c8dd
lea edx, [r8 - 0x20]
lea rcx, [r14 + 1]
mov rbp, qword [r10 + 0x70]
mov r12, qword [r10 + 0x38]
mov rax, rdx
add rdx, r15
mov r9d, dword [r10 + 0x34]
xor r11d, r11d
cmp rcx, rdx
jb 0x14014c996
sub rcx, rdx
lea r11d, [rcx + 1]
cmp r11d, 8
mov ecx, 8
cmova r11d, ecx
mov ecx, 0x38
sub ecx, r9d
lea edi, [r11 + rax]
mov dword [rsp + 0x80], edi
mov edi, eax
cmp dword [rsp + 0x80], edi
jbe 0x14014ca0c
movabs rsi, 0xcf1bbcdcbb000000
imul rsi, qword [rdx]
inc rdx
xor rsi, qword [r10 + 0x60]
shr rsi, cl
mov r9d, esi
shr r9d, 8
shl r9d, 5
mov r11d, r9d
add r9d, 0x10
prefetcht0 byte [rbp + r9*4]
mov r9d, edi
prefetcht0 byte [rbp + r11*4]
inc edi
and r9d, 7
prefetcht0 byte [r12 + r11]
mov dword [r10 + r9*4 + 0x40], esi
jmp 0x14014c9b8
mov rsi, qword [r10 + 0x70]
mov r12, qword [r10 + 0x38]
mov r11d, eax
mov ecx, 0x38
add r11, qword [r10 + 8]
sub ecx, dword [r10 + 0x34]
cmp dword [rsp + 0x48], eax
jbe 0x14014cab8
movabs r9, 0xcf1bbcdcbb000000
imul r9, qword [r11 + 8]
xor r9, qword [r10 + 0x60]
shr r9, cl
mov edx, r9d
shr edx, 8
shl edx, 5
mov edi, edx
add edx, 0x10
prefetcht0 byte [rsi + rdi*4]
prefetcht0 byte [rsi + rdx*4]
prefetcht0 byte [r12 + rdi]
mov edx, eax
mov rdi, qword [rsp + 0x50]
and edx, 7
lea rdx, [rdi + rdx*4]
mov edi, dword [rdx]
mov dword [rdx], r9d
mov r9d, edi
mov dword [rsp + 0x80], edi
shr r9d, 8
shl r9d, 5
lea rdi, [r12 + r9]
movzx edx, byte [rdi]
dec edx
and edx, 0x1f
cmp edx, 1
sbb ebp, ebp
inc r11
and ebp, 0x1f
add edx, ebp
mov bpl, byte [rsp + 0x80]
mov byte [rdi], dl
mov byte [rdi + rdx], bpl
add rdx, r9
mov dword [rsi + rdx*4], eax
inc eax
jmp 0x14014ca24
mov edx, r8d
mov cl, byte [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov dword [r10 + 0x2c], r8d
movabs rax, 0xcf1bbcdcbb000000
imul rax, qword [r15 + rdx + 8]
xor rax, qword [rsp + 0x78]
and r8d, 7
shr rax, cl
mov rsi, qword [rsp + 0x50]
mov edx, eax
shr edx, 8
shl edx, 5
mov ecx, edx
add edx, 0x10
prefetcht0 byte [rbx + rcx*4]
prefetcht0 byte [rdi + rcx]
lea rcx, [rsi + r8*4]
prefetcht0 byte [rbx + rdx*4]
mov edx, dword [rcx]
mov dword [rcx], eax
jmp 0x14014cb1c
mov cl, byte [rsp + 0x68]
xor rdx, qword [rsp + 0x78]
mov dword [r10 + 0x2c], r8d
shr rdx, cl
mov r8d, edx
movd xmm0, edx
add dword [r10 + 0x68], edx
mov edi, edx
shr r8d, 8
punpcklbw xmm0, xmm0
shl r8d, 5
punpcklwd xmm0, xmm0
lea r11, [rbx + r8*4]
add r8, qword [rsp + 0x40]
pshufd xmm0, xmm0, 0
xor ebx, ebx
movups xmm1, xmmword [r8]
movups xmm2, xmmword [r8 + 0x10]
mov r9b, byte [r8]
pcmpeqb xmm1, xmm0
pcmpeqb xmm0, xmm2
mov esi, r9d
and esi, 0x1f
pmovmskb eax, xmm0
pmovmskb ecx, xmm1
shl eax, 0x10
or eax, ecx
mov ecx, r9d
ror eax, cl
mov ecx, eax
test rcx, rcx
je 0x14014cbb9
cmp dword [rsp + 0x60], 0
je 0x14014cbb9
call fcn.1401797c0
add eax, esi
and eax, 0x1f
je 0x14014cbb0
mov eax, eax
mov eax, dword [r11 + rax*4]
cmp eax, dword [rsp + 0x3c]
jb 0x14014cbb9
mov edx, eax
prefetcht0 byte [r15 + rdx]
dec dword [rsp + 0x60]
mov dword [rsp + rbx*4 + 0x90], eax
inc rbx
lea rax, [rcx - 1]
and rcx, rax
jmp 0x14014cb77
lea eax, [r9 + 0x1f]
and eax, 0x1f
cmp eax, 1
sbb edx, edx
xor ebp, ebp
and edx, 0x1f
add eax, edx
mov byte [r8], al
mov byte [r8 + rax], dil
mov edx, dword [r10 + 0x2c]
mov edi, 3
lea ecx, [rdx + 1]
mov dword [r10 + 0x2c], ecx
mov dword [r11 + rax*4], edx
mov eax, dword [rsp + 0x48]
add eax, 3
mov dword [rsp + 0x3c], eax
cmp rbx, rbp
je 0x14014cc49
mov edx, dword [rsp + rbp*4 + 0x90]
mov eax, dword [r14 + rdi - 3]
mov rsi, rdx
add rdx, r15
cmp dword [rdx + rdi - 3], eax
jne 0x14014cc44
mov r8, qword [rsp + 0x1f0]
mov rcx, r14
call fcn.140179530
mov r12, rax
cmp rdi, rax
jae 0x14014cc44
mov eax, dword [rsp + 0x3c]
mov rdi, qword [rsp + 0x1f8]
sub eax, esi
mov qword [rdi], rax
lea rax, [r14 + r12]
cmp r8, rax
je 0x14014cc4c
mov rdi, r12
inc rbp
jmp 0x14014cbf2
mov r12, rdi
mov r9, qword [r13]
mov rdi, qword [r13 + 8]
mov eax, dword [rsp + 0x60]
add eax, dword [rsp + 0x8c]
mov r15d, r9d
mov dword [rsp + 0x3c], eax
mov rdx, qword [r13 + 0x70]
sub r15d, edi
cmp eax, 3
mov eax, 3
cmovbe eax, dword [rsp + 0x3c]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x58]
lea r11, [rdx + rax]
xor eax, eax
mov ecx, dword [r11 + rax*4]
inc rax
prefetcht0 byte [rdi + rcx]
cmp rax, 3
jne 0x14014cc89
mov rax, qword [rsp + 0x58]
xor ebp, ebp
mov ebx, dword [rdx + rax + 0xc]
mov rax, qword [r13 + 0x80]
mov esi, ebx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
shr esi, 8
mov eax, esi
lea r10, [rcx + rax*4]
mov eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x88]
lea rcx, [r14 + 4]
lea eax, [r15 + rax + 3]
prefetcht0 byte [r10]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x50], ebp
jbe 0x14014cd82
mov edx, dword [r11 + rbp*4]
mov r13, rdx
add rdx, rdi
test r13d, r13d
je 0x14014ce37
mov eax, dword [r14]
cmp dword [rdx], eax
jne 0x14014cd7a
mov rax, qword [rsp + 0x70]
mov r8, qword [rsp + 0x1f0]
add rdx, 4
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], rcx
call fcn.1401798a0
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
add rax, 4
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
cmp rax, r12
jbe 0x14014cd7a
mov edx, dword [rsp + 0x58]
mov r8, qword [rsp + 0x1f8]
mov r12, rax
sub edx, r13d
mov qword [r8], rdx
lea rdx, [r14 + rax]
cmp qword [rsp + 0x1f0], rdx
je 0x14014ce37
inc rbp
jmp 0x14014ccdd
mov edx, dword [rsp + 0x3c]
movzx ebx, bl
sub edx, ebp
cmp ebx, edx
cmova ebx, edx
xor eax, eax
cmp ebx, eax
jbe 0x14014cda3
mov edx, dword [r10 + rax*4]
inc rax
prefetcht0 byte [rdi + rdx]
jmp 0x14014cd92
lea eax, [rsi + rbx]
mov r13, r12
lea rbx, [r14 + 4]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x88]
lea ebp, [r15 + rax + 3]
cmp esi, dword [rsp + 0x3c]
je 0x14014ce34
mov rcx, qword [rsp + 0x40]
mov eax, esi
mov edx, dword [rcx + rax*4]
mov eax, dword [r14]
mov r15, rdx
add rdx, rdi
cmp dword [rdx], eax
jne 0x14014ce30
mov rax, qword [rsp + 0x70]
add rdx, 4
mov rcx, rbx
mov qword [rsp + 0x48], r9
mov r8, qword [rsp + 0x1f0]
mov qword [rsp + 0x20], rax
call fcn.1401798a0
mov r9, qword [rsp + 0x48]
lea r12, [rax + 4]
cmp r12, r13
jbe 0x14014ce30
mov rcx, qword [rsp + 0x1f8]
mov eax, ebp
sub eax, r15d
mov qword [rcx], rax
lea rax, [r14 + r12]
cmp qword [rsp + 0x1f0], rax
je 0x14014ce37
mov r13, r12
inc esi
jmp 0x14014cdc1
mov r12, r13
mov rax, r12
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret