Function at 0x14000c2b0
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, 0x98
mov r9d, 0xffffffff
mov eax, dword [rcx + 8]
mov rdi, qword [rcx]
mov r8, qword [rcx + 0x10]
mov r15, qword [rcx + 0x28]
sub eax, 5
add rax, rdi
mov rbx, r8
mov esi, dword [r15 + 0x3c]
mov rbp, qword [r15 + 0x40]
mov r14, rcx
mov r10d, dword [r15 + 0x34]
mov r12, qword [r15 + 0x60]
mov qword [rsp], rax
mov eax, dword [rcx + 0x18]
mov ecx, dword [r15 + 0x70]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x30], r10d
mov r13, qword [r15 + 0x68]
sub edx, eax
sub eax, 0x101
sub rbx, rdx
add rax, r8
mov edx, dword [r15 + 0x4c]
mov qword [rsp + 0x20], rbx
mov ebx, r9d
shl ebx, cl
mov qword [rsp + 8], rax
mov eax, dword [r15 + 0x38]
mov ecx, ebx
lea ebx, [rsi - 1]
not ecx
mov dword [rsp + 0x60], ebx
mov ebx, esi
mov dword [rsp + 0x10], ecx
mov ecx, dword [r15 + 0x74]
and ebx, 0xfffffff0
mov dword [rsp + 0x4c], ebx
shl r9d, cl
mov ecx, esi
mov dword [rsp + 0x2c], eax
mov eax, dword [r15 + 0x48]
shr ecx, 4
not r9d
shl rcx, 4
mov dword [rsp + 0x14], r9d
mov r9d, ebx
mov qword [rsp + 0x50], rcx
mov ecx, esi
sub ecx, ebx
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x48], ecx
mov ebx, ecx
lea rcx, [rbp + r9]
mov r9d, 0xffffffff
mov qword [rsp + 0x38], rcx
lea ecx, [r10 + rsi]
sub ebx, 1
mov dword [rsp + 0x34], ecx
lea rcx, [rbp + 1]
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x64], ebx
mov qword [rsp + 0x18], rbp
cmp edx, 0xe
ja 0x14000c3d1
movzx r10d, byte [rdi + 1]
lea ecx, [rdx + 8]
movzx r11d, byte [rdi]
add rdi, 2
shl r10d, cl
mov ecx, edx
add edx, 0x10
shl r11d, cl
add r10d, r11d
add eax, r10d
mov ecx, dword [rsp + 0x10]
and ecx, eax
jmp 0x14000c405
test cl, 0x10
jne 0x14000c4c0
test cl, 0x40
jne 0x14000c790
mov esi, r9d
movzx r10d, word [r10 + 2]
shl esi, cl
mov ecx, esi
not ecx
and ecx, eax
add rcx, r10
lea r10, [r12 + rcx*4]
movzx ecx, byte [r10 + 1]
shr eax, cl
sub edx, ecx
movzx ecx, byte [r10]
mov r11d, ecx
test ecx, ecx
jne 0x14000c3e0
movzx ecx, word [r10 + 2]
add r8, 1
mov byte [r8 - 1], cl
cmp rdi, qword [rsp]
jae 0x14000c440
cmp r8, qword [rsp + 8]
jb 0x14000c3ab
nop dword [rax + rax]
mov ecx, edx
and edx, 7
mov r9d, 0xffffffff
mov qword [r14 + 0x10], r8
shr ecx, 3
sub rdi, rcx
mov ecx, edx
shl r9d, cl
mov qword [r14], rdi
not r9d
and r9d, eax
mov rax, qword [rsp]
cmp rax, rdi
jbe 0x14000c7c0
sub rax, rdi
add eax, 5
mov dword [r14 + 8], eax
mov rax, qword [rsp + 8]
cmp r8, rax
jae 0x14000c7a8
sub rax, r8
add eax, 0x101
movd xmm0, r9d
movd xmm1, ecx
mov dword [r14 + 0x18], eax
punpckldq xmm0, xmm1
movq qword [r15 + 0x48], xmm0
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx r10d, word [r10 + 2]
and r11d, 0xf
je 0x14000c4fb
movzx ebx, r11b
cmp ebx, edx
jbe 0x14000c4e3
movzx esi, byte [rdi]
mov ecx, edx
add rdi, 1
add edx, 8
shl esi, cl
add eax, esi
mov ecx, r11d
mov esi, r9d
sub edx, ebx
shl esi, cl
mov ecx, esi
not ecx
and ecx, eax
add r10d, ecx
mov ecx, r11d
shr eax, cl
cmp edx, 0xe
jbe 0x14000c7d0
mov ecx, dword [rsp + 0x14]
and ecx, eax
jmp 0x14000c52d
and r11d, 0x40
jne 0x14000c810
mov esi, r9d
movzx r11d, word [rbx + 2]
shl esi, cl
mov ecx, esi
not ecx
and ecx, eax
add rcx, r11
lea rbx, [r13 + rcx*4]
movzx ecx, byte [rbx + 1]
shr eax, cl
sub edx, ecx
movzx ecx, byte [rbx]
mov r11d, ecx
test cl, 0x10
je 0x14000c510
movzx esi, word [rbx + 2]
and r11d, 0xf
mov ebx, ecx
and ebx, 0xf
cmp r11d, edx
jbe 0x14000c572
movzx ebp, byte [rdi]
mov ecx, edx
shl ebp, cl
lea ecx, [rdx + 8]
add eax, ebp
cmp r11d, ecx
ja 0x14000ca70
add rdi, 1
mov edx, ecx
mov ecx, ebx
mov ebp, r9d
sub edx, r11d
shl ebp, cl
mov ecx, ebp
not ecx
and ecx, eax
lea ebp, [rcx + rsi]
mov ecx, ebx
mov rsi, r8
sub rsi, qword [rsp + 0x20]
mov dword [rsp + 0x88], ebp
shr eax, cl
cmp ebp, esi
jbe 0x14000c9ff
sub ebp, esi
mov r11d, ebp
cmp dword [rsp + 0x2c], ebp
jae 0x14000c5ba
mov ecx, dword [r15 + 0x1be0]
test ecx, ecx
jne 0x14000cc13
mov ebp, dword [rsp + 0x28]
sub esi, dword [rsp + 0x88]
test ebp, ebp
je 0x14000c87f
mov ebp, dword [rsp + 0x28]
mov ebx, ebp
cmp ebp, r11d
jae 0x14000ca84
mov ecx, dword [rsp + 0x34]
sub r11d, ebp
mov dword [rsp + 0x68], r11d
lea ebx, [rcx + rsi]
mov rcx, qword [rsp + 0x18]
add rcx, rbx
mov qword [rsp + 0x70], rcx
cmp r10d, r11d
jbe 0x14000c856
add r10d, ebp
mov ebp, r11d
add r10d, esi
mov esi, r11d
mov r11, qword [rsp + 0x18]
sub esi, 1
lea rbx, [r11 + rbx + 1]
mov r11, r8
mov dword [rsp + 0x8c], esi
sub r11, rbx
cmp r11, 0xe
jbe 0x14000cc86
cmp esi, 6
jbe 0x14000cc86
cmp esi, 0xe
jbe 0x14000ce33
lea ecx, [rbp - 0x10]
mov rbp, qword [rsp + 0x70]
xor r11d, r11d
xor ebx, ebx
shr ecx, 4
add ecx, 1
movdqu xmm3, xmmword [rbp + r11]
add ebx, 1
movups xmmword [r8 + r11], xmm3
add r11, 0x10
cmp ecx, ebx
ja 0x14000c656
shl ecx, 4
mov qword [rsp + 0x70], rbp
mov ebx, ecx
mov ecx, dword [rsp + 0x68]
lea rsi, [r8 + rbx]
sub ecx, ebx
mov dword [rsp + 0x78], ecx
mov rcx, rbp
mov ebp, dword [rsp + 0x8c]
add rcx, rbx
mov qword [rsp + 0x80], rbp
cmp ebx, dword [rsp + 0x68]
je 0x14000c764
mov r11d, dword [rsp + 0x78]
mov dword [rsp + 0x68], r11d
sub r11d, 1
cmp r11d, 6
jbe 0x14000c6fa
mov r11, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x68]
mov r11, qword [r11 + rbx]
mov qword [r8 + rbx], r11
mov r11d, ebp
and r11d, 0xfffffff8
sub dword [rsp + 0x78], r11d
mov ebx, r11d
add rsi, rbx
add rcx, rbx
mov ebx, dword [rsp + 0x8c]
mov qword [rsp + 0x80], rbx
cmp r11d, ebp
je 0x14000c764
mov ebx, dword [rsp + 0x78]
lea r11d, [rbx - 1]
movzx ebx, byte [rcx]
mov byte [rsi], bl
mov ebx, dword [rsp + 0x8c]
mov qword [rsp + 0x80], rbx
test r11d, r11d
je 0x14000c764
movzx r11d, byte [rcx + 1]
mov ebx, dword [rsp + 0x78]
mov byte [rsi + 1], r11b
cmp ebx, 2
je 0x14000c764
movzx r11d, byte [rcx + 2]
mov byte [rsi + 2], r11b
cmp ebx, 3
je 0x14000c764
movzx r11d, byte [rcx + 3]
mov byte [rsi + 3], r11b
cmp ebx, 4
je 0x14000c764
movzx r11d, byte [rcx + 4]
mov byte [rsi + 4], r11b
cmp ebx, 5
je 0x14000c764
movzx r11d, byte [rcx + 5]
mov byte [rsi + 5], r11b
cmp ebx, 6
je 0x14000c764
movzx ecx, byte [rcx + 6]
mov byte [rsi + 6], cl
mov rsi, qword [rsp + 0x80]
add rsi, 1
lea rbx, [r8 + rsi]
cmp dword [rsp + 0x28], r10d
jb 0x14000ccbc
mov rcx, qword [rsp + 0x18]
mov r8, rbx
jmp 0x14000c856
and r11d, 0x20
je 0x14000c7f8
mov dword [r15 + 8], 0x3f3f
jmp 0x14000c440
mov eax, dword [rsp + 8]
sub eax, r8d
add eax, 0x101
jmp 0x14000c490
mov eax, dword [rsp]
sub eax, edi
add eax, 5
jmp 0x14000c476
movzx r11d, byte [rdi + 1]
lea ecx, [rdx + 8]
movzx ebx, byte [rdi]
add rdi, 2
shl r11d, cl
mov ecx, edx
add edx, 0x10
shl ebx, cl
add r11d, ebx
add eax, r11d
jmp 0x14000c504
lea rbx, [0x14002ac94]
mov qword [r14 + 0x20], rbx
mov dword [r15 + 8], 0x3f51
jmp 0x14000c440
lea rbx, [0x14002ac7e]
mov qword [r14 + 0x20], rbx
mov dword [r15 + 8], 0x3f51
jmp 0x14000c440
movzx r11d, byte [rcx]
add rcx, 3
add r8, 3
sub r10d, 3
mov byte [r8 - 3], r11b
movzx r11d, byte [rcx - 2]
mov byte [r8 - 2], r11b
movzx r11d, byte [rcx - 1]
mov byte [r8 - 1], r11b
cmp r10d, 2
ja 0x14000c830
test r10d, r10d
je 0x14000c42a
movzx r11d, byte [rcx]
mov byte [r8], r11b
cmp r10d, 2
je 0x14000cc30
add r8, 1
jmp 0x14000c42a
mov ebx, dword [rsp + 0x30]
lea ebp, [rbx + rsi]
mov rbx, qword [rsp + 0x18]
add rbx, rbp
mov rcx, rbx
cmp r10d, r11d
jbe 0x14000c856
add r10d, esi
lea esi, [r11 - 1]
mov dword [rsp + 0x68], esi
mov rsi, qword [rsp + 0x18]
lea rbp, [rsi + rbp + 1]
mov rsi, r8
sub rsi, rbp
cmp rsi, 0xe
jbe 0x14000cc41
mov esi, dword [rsp + 0x68]
cmp esi, 6
jbe 0x14000cc41
cmp esi, 0xe
jbe 0x14000ce15
mov esi, r11d
xor ecx, ecx
shr esi, 4
shl rsi, 4
movdqu xmm2, xmmword [rbx + rcx]
movups xmmword [r8 + rcx], xmm2
add rcx, 0x10
cmp rcx, rsi
jne 0x14000c8dd
mov ecx, r11d
mov ebp, r11d
and ecx, 0xfffffff0
mov esi, ecx
mov dword [rsp + 0x70], ecx
sub ebp, ecx
mov qword [rsp + 0x80], rsi
add rsi, r8
mov qword [rsp + 0x78], rsi
mov rsi, qword [rsp + 0x80]
lea rcx, [rbx + rsi]
mov esi, r11d
mov qword [rsp + 0x68], rsi
cmp r11d, dword [rsp + 0x70]
je 0x14000c9e8
lea esi, [rbp - 1]
mov dword [rsp + 0x70], ebp
mov dword [rsp + 0x8c], esi
cmp esi, 6
jbe 0x14000c97e
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rbx + rsi]
mov qword [r8 + rsi], rbx
mov ebx, dword [rsp + 0x70]
and ebx, 0xfffffff8
mov esi, ebx
add qword [rsp + 0x78], rsi
sub ebp, ebx
add rcx, rsi
mov esi, r11d
mov qword [rsp + 0x68], rsi
cmp ebx, dword [rsp + 0x70]
je 0x14000c9e8
lea ebx, [rbp - 1]
mov dword [rsp + 0x8c], ebx
movzx ebx, byte [rcx]
mov rsi, qword [rsp + 0x78]
mov byte [rsi], bl
mov ebx, r11d
mov qword [rsp + 0x68], rbx
mov ebx, dword [rsp + 0x8c]
test ebx, ebx
je 0x14000c9e8
movzx r11d, byte [rcx + 1]
mov byte [rsi + 1], r11b
cmp ebp, 2
je 0x14000c9e8
movzx r11d, byte [rcx + 2]
mov byte [rsi + 2], r11b
cmp ebp, 3
je 0x14000c9e8
movzx r11d, byte [rcx + 3]
mov byte [rsi + 3], r11b
cmp ebp, 4
je 0x14000c9e8
movzx r11d, byte [rcx + 4]
mov byte [rsi + 4], r11b
cmp ebp, 5
je 0x14000c9e8
movzx r11d, byte [rcx + 5]
mov byte [rsi + 5], r11b
cmp ebp, 6
je 0x14000c9e8
movzx ecx, byte [rcx + 6]
mov byte [rsi + 6], cl
mov esi, dword [rsp + 0x88]
add r8, qword [rsp + 0x68]
mov rcx, r8
sub rcx, rsi
jmp 0x14000c856
mov esi, dword [rsp + 0x88]
mov rcx, r8
sub rcx, rsi
nop dword [rax]
movzx r11d, byte [rcx]
mov rbx, rcx
add rcx, 3
sub r10d, 3
mov byte [r8], r11b
movzx r11d, byte [rcx - 2]
mov byte [r8 + 1], r11b
movzx esi, byte [rcx - 1]
mov r11, r8
add r8, 3
mov byte [r8 - 1], sil
cmp r10d, 2
ja 0x14000ca10
test r10d, r10d
je 0x14000c42a
movzx ecx, byte [rbx + 3]
lea r8, [r11 + 4]
mov byte [r11 + 3], cl
cmp r10d, 2
jne 0x14000c42a
movzx ecx, byte [rbx + 4]
lea r8, [r11 + 5]
mov byte [r11 + 4], cl
jmp 0x14000c42a
movzx ebp, byte [rdi + 1]
add edx, 0x10
add rdi, 2
shl ebp, cl
add eax, ebp
jmp 0x14000c572
mov rcx, qword [rsp + 0x18]
add ebx, esi
lea rbp, [rcx + rbx]
mov rcx, rbp
cmp r10d, r11d
jbe 0x14000c856
add r10d, esi
lea esi, [r11 - 1]
mov dword [rsp + 0x68], esi
mov rsi, qword [rsp + 0x18]
lea rbx, [rsi + rbx + 1]
mov rsi, r8
sub rsi, rbx
cmp rsi, 0xe
jbe 0x14000cc62
mov ebx, dword [rsp + 0x68]
cmp ebx, 6
jbe 0x14000cc62
cmp ebx, 0xe
jbe 0x14000cdf7
mov ebx, r11d
xor ecx, ecx
shr ebx, 4
shl rbx, 4
movdqu xmm4, xmmword [rbp + rcx]
movups xmmword [r8 + rcx], xmm4
add rcx, 0x10
cmp rcx, rbx
jne 0x14000cae2
mov ecx, r11d
and ecx, 0xfffffff0
mov ebx, ecx
mov dword [rsp + 0x78], ecx
mov qword [rsp + 0x80], rbx
lea rsi, [r8 + rbx]
mov ebx, r11d
sub ebx, ecx
mov dword [rsp + 0x70], ebx
mov rbx, qword [rsp + 0x80]
lea rcx, [rbp + rbx]
mov ebx, r11d
mov qword [rsp + 0x68], rbx
cmp r11d, dword [rsp + 0x78]
je 0x14000c9e8
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x78], ebx
sub ebx, 1
mov dword [rsp + 0x8c], ebx
cmp ebx, 6
jbe 0x14000cb92
mov rbx, qword [rsp + 0x80]
mov rbp, qword [rbp + rbx]
mov qword [r8 + rbx], rbp
mov ebx, dword [rsp + 0x78]
and ebx, 0xfffffff8
sub dword [rsp + 0x70], ebx
mov ebp, ebx
add rsi, rbp
add rcx, rbp
mov ebp, r11d
mov qword [rsp + 0x68], rbp
cmp dword [rsp + 0x78], ebx
je 0x14000c9e8
mov ebx, dword [rsp + 0x70]
sub ebx, 1
mov dword [rsp + 0x8c], ebx
movzx ebx, byte [rcx]
mov byte [rsi], bl
mov ebx, r11d
mov r11d, dword [rsp + 0x8c]
mov qword [rsp + 0x68], rbx
test r11d, r11d
je 0x14000c9e8
movzx r11d, byte [rcx + 1]
mov ebx, dword [rsp + 0x70]
mov byte [rsi + 1], r11b
cmp ebx, 2
je 0x14000c9e8
movzx r11d, byte [rcx + 2]
mov byte [rsi + 2], r11b
cmp ebx, 3
je 0x14000c9e8
movzx r11d, byte [rcx + 3]
mov byte [rsi + 3], r11b
cmp ebx, 4
je 0x14000c9e8
movzx r11d, byte [rcx + 4]
mov byte [rsi + 4], r11b
cmp ebx, 5
je 0x14000c9e8
movzx r11d, byte [rcx + 5]
mov byte [rsi + 5], r11b
cmp ebx, 6
jne 0x14000c9e1
jmp 0x14000c9e8
lea rbx, [0x14002ac60]
mov qword [r14 + 0x20], rbx
mov dword [r15 + 8], 0x3f51
jmp 0x14000c440
movzx ecx, byte [rcx + 1]
add r8, 2
mov byte [r8 - 1], cl
jmp 0x14000c42a
mov esi, r11d
xor ecx, ecx
mov qword [rsp + 0x68], rsi
movzx r11d, byte [rbx + rcx]
mov byte [r8 + rcx], r11b
add rcx, 1
cmp rsi, rcx
jne 0x14000cc4b
jmp 0x14000c9e8
mov ebx, r11d
xor ecx, ecx
mov qword [rsp + 0x68], rbx
movzx r11d, byte [rbp + rcx]
mov byte [r8 + rcx], r11b
add rcx, 1
cmp rcx, qword [rsp + 0x68]
jne 0x14000cc6c
jmp 0x14000c9e8
mov ebx, dword [rsp + 0x8c]
mov rbp, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x80], rbx
movzx r11d, byte [rbp + rcx]
mov byte [r8 + rcx], r11b
mov r11, rcx
add rcx, 1
cmp r11, qword [rsp + 0x80]
jne 0x14000cc9c
jmp 0x14000c764
mov rcx, rbx
sub rcx, qword [rsp + 0x58]
sub r10d, dword [rsp + 0x28]
cmp rcx, 0xe
jbe 0x14000ce45
mov ecx, dword [rsp + 0x60]
cmp ecx, 6
jbe 0x14000ce45
cmp ecx, 0xe
jbe 0x14000ce67
mov r11, qword [rsp + 0x18]
xor ecx, ecx
movdqu xmm5, xmmword [r11 + rcx]
movups xmmword [rbx + rcx], xmm5
add rcx, 0x10
cmp rcx, qword [rsp + 0x50]
jne 0x14000ccf0
mov rcx, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x4c]
add rcx, rbx
mov qword [rsp + 0x68], rcx
cmp ebp, r11d
je 0x14000cde1
mov ebp, dword [rsp + 0x48]
cmp dword [rsp + 0x64], 6
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x70], ebp
jbe 0x14000ce87
mov qword [rsp + 0x78], rcx
mov ecx, r11d
mov r11, qword [rsp + 0x18]
movq xmm0, qword [r11 + rcx]
mov r11d, dword [rsp + 0x70]
add rcx, r8
mov r8d, r11d
movq qword [rcx + rsi], xmm0
mov esi, ebp
mov ebp, dword [rsp + 0x28]
and r8d, 0xfffffff8
mov ecx, r8d
sub esi, r8d
add qword [rsp + 0x68], rcx
add rcx, qword [rsp + 0x78]
cmp r8d, r11d
je 0x14000cde1
movzx r8d, byte [rcx]
mov r11, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x28]
mov byte [r11], r8b
cmp esi, 1
je 0x14000cde1
movzx r8d, byte [rcx + 1]
mov byte [r11 + 1], r8b
cmp esi, 2
je 0x14000cde1
movzx r8d, byte [rcx + 2]
mov byte [r11 + 2], r8b
cmp esi, 3
je 0x14000cde1
movzx r8d, byte [rcx + 3]
mov byte [r11 + 3], r8b
cmp esi, 4
je 0x14000cde1
movzx r8d, byte [rcx + 4]
mov byte [r11 + 4], r8b
cmp esi, 5
je 0x14000cde1
movzx r8d, byte [rcx + 5]
mov byte [r11 + 5], r8b
cmp esi, 6
je 0x14000cde1
movzx ecx, byte [rcx + 6]
mov byte [r11 + 6], cl
mov esi, dword [rsp + 0x88]
lea r8, [rbx + rbp]
mov rcx, r8
sub rcx, rsi
jmp 0x14000c856
mov dword [rsp + 0x78], r11d
mov rsi, r8
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x80], 0
jmp 0x14000cb4e
mov qword [rsp + 0x78], r8
mov ebp, r11d
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x80], 0
jmp 0x14000c943
mov ebx, dword [rsp + 0x68]
mov rsi, r8
mov dword [rsp + 0x78], ebx
xor ebx, ebx
jmp 0x14000c6b8
mov ebp, dword [rsp + 0x28]
mov r11, qword [rsp + 0x18]
xor ecx, ecx
movzx r8d, byte [r11 + rcx]
mov byte [rbx + rcx], r8b
add rcx, 1
cmp rcx, rbp
jne 0x14000ce50
jmp 0x14000cde1
mov ecx, dword [rsp + 0x28]
mov r11, qword [rsp + 0x18]
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x70], ecx
mov ebp, ecx
xor ecx, ecx
mov qword [rsp + 0x78], r11
jmp 0x14000cd44
mov esi, dword [rsp + 0x48]
jmp 0x14000cd7e