Function at 0x14000b630
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 0x14000b751
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 0x14000b785
test cl, 0x10
jne 0x14000b840
test cl, 0x40
jne 0x14000bb10
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 0x14000b760
movzx ecx, word [r10 + 2]
add r8, 1
mov byte [r8 - 1], cl
cmp rdi, qword [rsp]
jae 0x14000b7c0
cmp r8, qword [rsp + 8]
jb 0x14000b72b
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 0x14000bb40
sub rax, rdi
add eax, 5
mov dword [r14 + 8], eax
mov rax, qword [rsp + 8]
cmp r8, rax
jae 0x14000bb28
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 0x14000b87b
movzx ebx, r11b
cmp ebx, edx
jbe 0x14000b863
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 0x14000bb50
mov ecx, dword [rsp + 0x14]
and ecx, eax
jmp 0x14000b8ad
and r11d, 0x40
jne 0x14000bb90
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 0x14000b890
movzx esi, word [rbx + 2]
and r11d, 0xf
mov ebx, ecx
and ebx, 0xf
cmp r11d, edx
jbe 0x14000b8f2
movzx ebp, byte [rdi]
mov ecx, edx
shl ebp, cl
lea ecx, [rdx + 8]
add eax, ebp
cmp r11d, ecx
ja 0x14000bdf0
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 0x14000bd7f
sub ebp, esi
mov r11d, ebp
cmp dword [rsp + 0x2c], ebp
jae 0x14000b93a
mov ecx, dword [r15 + 0x1be0]
test ecx, ecx
jne 0x14000bf93
mov ebp, dword [rsp + 0x28]
sub esi, dword [rsp + 0x88]
test ebp, ebp
je 0x14000bbff
mov ebp, dword [rsp + 0x28]
mov ebx, ebp
cmp ebp, r11d
jae 0x14000be04
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 0x14000bbd6
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 0x14000c006
cmp esi, 6
jbe 0x14000c006
cmp esi, 0xe
jbe 0x14000c1b3
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 0x14000b9d6
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 0x14000bae4
mov r11d, dword [rsp + 0x78]
mov dword [rsp + 0x68], r11d
sub r11d, 1
cmp r11d, 6
jbe 0x14000ba7a
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 0x14000bae4
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 0x14000bae4
movzx r11d, byte [rcx + 1]
mov ebx, dword [rsp + 0x78]
mov byte [rsi + 1], r11b
cmp ebx, 2
je 0x14000bae4
movzx r11d, byte [rcx + 2]
mov byte [rsi + 2], r11b
cmp ebx, 3
je 0x14000bae4
movzx r11d, byte [rcx + 3]
mov byte [rsi + 3], r11b
cmp ebx, 4
je 0x14000bae4
movzx r11d, byte [rcx + 4]
mov byte [rsi + 4], r11b
cmp ebx, 5
je 0x14000bae4
movzx r11d, byte [rcx + 5]
mov byte [rsi + 5], r11b
cmp ebx, 6
je 0x14000bae4
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 0x14000c03c
mov rcx, qword [rsp + 0x18]
mov r8, rbx
jmp 0x14000bbd6
and r11d, 0x20
je 0x14000bb78
mov dword [r15 + 8], 0x3f3f
jmp 0x14000b7c0
mov eax, dword [rsp + 8]
sub eax, r8d
add eax, 0x101
jmp 0x14000b810
mov eax, dword [rsp]
sub eax, edi
add eax, 5
jmp 0x14000b7f6
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 0x14000b884
lea rbx, [0x140029c94]
mov qword [r14 + 0x20], rbx
mov dword [r15 + 8], 0x3f51
jmp 0x14000b7c0
lea rbx, [0x140029c7e]
mov qword [r14 + 0x20], rbx
mov dword [r15 + 8], 0x3f51
jmp 0x14000b7c0
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 0x14000bbb0
test r10d, r10d
je 0x14000b7aa
movzx r11d, byte [rcx]
mov byte [r8], r11b
cmp r10d, 2
je 0x14000bfb0
add r8, 1
jmp 0x14000b7aa
mov ebx, dword [rsp + 0x30]
lea ebp, [rbx + rsi]
mov rbx, qword [rsp + 0x18]
add rbx, rbp
mov rcx, rbx
cmp r10d, r11d
jbe 0x14000bbd6
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 0x14000bfc1
mov esi, dword [rsp + 0x68]
cmp esi, 6
jbe 0x14000bfc1
cmp esi, 0xe
jbe 0x14000c195
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 0x14000bc5d
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 0x14000bd68
lea esi, [rbp - 1]
mov dword [rsp + 0x70], ebp
mov dword [rsp + 0x8c], esi
cmp esi, 6
jbe 0x14000bcfe
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 0x14000bd68
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 0x14000bd68
movzx r11d, byte [rcx + 1]
mov byte [rsi + 1], r11b
cmp ebp, 2
je 0x14000bd68
movzx r11d, byte [rcx + 2]
mov byte [rsi + 2], r11b
cmp ebp, 3
je 0x14000bd68
movzx r11d, byte [rcx + 3]
mov byte [rsi + 3], r11b
cmp ebp, 4
je 0x14000bd68
movzx r11d, byte [rcx + 4]
mov byte [rsi + 4], r11b
cmp ebp, 5
je 0x14000bd68
movzx r11d, byte [rcx + 5]
mov byte [rsi + 5], r11b
cmp ebp, 6
je 0x14000bd68
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 0x14000bbd6
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 0x14000bd90
test r10d, r10d
je 0x14000b7aa
movzx ecx, byte [rbx + 3]
lea r8, [r11 + 4]
mov byte [r11 + 3], cl
cmp r10d, 2
jne 0x14000b7aa
movzx ecx, byte [rbx + 4]
lea r8, [r11 + 5]
mov byte [r11 + 4], cl
jmp 0x14000b7aa
movzx ebp, byte [rdi + 1]
add edx, 0x10
add rdi, 2
shl ebp, cl
add eax, ebp
jmp 0x14000b8f2
mov rcx, qword [rsp + 0x18]
add ebx, esi
lea rbp, [rcx + rbx]
mov rcx, rbp
cmp r10d, r11d
jbe 0x14000bbd6
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 0x14000bfe2
mov ebx, dword [rsp + 0x68]
cmp ebx, 6
jbe 0x14000bfe2
cmp ebx, 0xe
jbe 0x14000c177
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 0x14000be62
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 0x14000bd68
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x78], ebx
sub ebx, 1
mov dword [rsp + 0x8c], ebx
cmp ebx, 6
jbe 0x14000bf12
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 0x14000bd68
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 0x14000bd68
movzx r11d, byte [rcx + 1]
mov ebx, dword [rsp + 0x70]
mov byte [rsi + 1], r11b
cmp ebx, 2
je 0x14000bd68
movzx r11d, byte [rcx + 2]
mov byte [rsi + 2], r11b
cmp ebx, 3
je 0x14000bd68
movzx r11d, byte [rcx + 3]
mov byte [rsi + 3], r11b
cmp ebx, 4
je 0x14000bd68
movzx r11d, byte [rcx + 4]
mov byte [rsi + 4], r11b
cmp ebx, 5
je 0x14000bd68
movzx r11d, byte [rcx + 5]
mov byte [rsi + 5], r11b
cmp ebx, 6
jne 0x14000bd61
jmp 0x14000bd68
lea rbx, [0x140029c60]
mov qword [r14 + 0x20], rbx
mov dword [r15 + 8], 0x3f51
jmp 0x14000b7c0
movzx ecx, byte [rcx + 1]
add r8, 2
mov byte [r8 - 1], cl
jmp 0x14000b7aa
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 0x14000bfcb
jmp 0x14000bd68
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 0x14000bfec
jmp 0x14000bd68
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 0x14000c01c
jmp 0x14000bae4
mov rcx, rbx
sub rcx, qword [rsp + 0x58]
sub r10d, dword [rsp + 0x28]
cmp rcx, 0xe
jbe 0x14000c1c5
mov ecx, dword [rsp + 0x60]
cmp ecx, 6
jbe 0x14000c1c5
cmp ecx, 0xe
jbe 0x14000c1e7
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 0x14000c070
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 0x14000c161
mov ebp, dword [rsp + 0x48]
cmp dword [rsp + 0x64], 6
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x70], ebp
jbe 0x14000c207
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 0x14000c161
movzx r8d, byte [rcx]
mov r11, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x28]
mov byte [r11], r8b
cmp esi, 1
je 0x14000c161
movzx r8d, byte [rcx + 1]
mov byte [r11 + 1], r8b
cmp esi, 2
je 0x14000c161
movzx r8d, byte [rcx + 2]
mov byte [r11 + 2], r8b
cmp esi, 3
je 0x14000c161
movzx r8d, byte [rcx + 3]
mov byte [r11 + 3], r8b
cmp esi, 4
je 0x14000c161
movzx r8d, byte [rcx + 4]
mov byte [r11 + 4], r8b
cmp esi, 5
je 0x14000c161
movzx r8d, byte [rcx + 5]
mov byte [r11 + 5], r8b
cmp esi, 6
je 0x14000c161
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 0x14000bbd6
mov dword [rsp + 0x78], r11d
mov rsi, r8
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x80], 0
jmp 0x14000bece
mov qword [rsp + 0x78], r8
mov ebp, r11d
mov dword [rsp + 0x70], r11d
mov qword [rsp + 0x80], 0
jmp 0x14000bcc3
mov ebx, dword [rsp + 0x68]
mov rsi, r8
mov dword [rsp + 0x78], ebx
xor ebx, ebx
jmp 0x14000ba38
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 0x14000c1d0
jmp 0x14000c161
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 0x14000c0c4
mov esi, dword [rsp + 0x48]
jmp 0x14000c0fe