Function at 0x14016df97
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov ebp, r9d
mov r14, rdx
mov rdi, rcx
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
mov esi, dword [rsp + 0x150]
movzx r12d, word [rsp + 0x148]
movzx eax, word [rsp + 0x140]
mov word [rsp + 0x46], ax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x98], rax
mov ebx, dword [rsp + 0x130]
mov r13d, dword [rsp + 0x128]
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x5c], eax
mov r15d, r9d
lea rax, [r15 + 1]
cmp rax, rsi
jne 0x14016e0a2
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
mov byte [rsp + 0x39], r8b
mov dword [rsp + 0x40], r13d
mov word [rsp + 0x3a], r12w
mov r13, qword [r14 + 8]
mov r12, qword [r14 + 0x10]
lea r9, [0x140316290]
mov rcx, r13
mov rdx, r12
mov r8, rsi
call fcn.14016f65a
lea r8, str.__file:__
mov r9d, 2
mov rcx, rax
call fcn.140019b1a
test al, al
je 0x14016e1b3
mov dword [rsp + 0x58], ebp
mov rbp, r12
sub rbp, rsi
jbe 0x14016e169
cmp byte [r13 + rsi], 0xbf
jg 0x14016e16f
lea rcx, str.assertion_failed:_self.is_char_boundary_idx_
lea r8, [0x140315b20]
mov edx, 0x2c
call fcn.14003fe40
lea rax, [r15 + 3]
cmp rax, rsi
jne 0x14016e44e
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
mov byte [rsp + 0x39], r8b
mov dword [rsp + 0x40], r13d
mov word [rsp + 0x3a], r12w
mov r13, qword [r14 + 8]
mov r12, qword [r14 + 0x10]
lea rax, [0x1403161b8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r12
mov r8, r15
mov r9, rsi
call fcn.14016f790
lea r8, [0x1403161d0]
mov r9d, 3
mov rcx, rax
call fcn.140101d76
test al, al
je 0x14016e217
cmp r12, rsi
jbe 0x14016e530
lea rcx, [rsi + r13]
cmp byte [r13 + rsi], 0x2f
jne 0x14016e542
lea rax, [rsi + 1]
cmp rax, r12
jae 0x14016e139
cmp byte [r13 + rax], 0x2f
je 0x14016e402
test ebp, ebp
je 0x14016e23c
cmp r12, r15
jbe 0x14016e236
cmp byte [r13 + r15], 0xbf
jg 0x14016e23c
lea rcx, str.assertion_failed:_self.is_char_boundary_n_
lea r8, [0x140315b68]
jmp 0x14016e571
jne 0x14016e08a
mov dword [rsp + 0x3c], ebx
mov rax, qword [r14]
sub rax, r12
cmp rax, 1
jbe 0x14016e516
lea rdx, [rsi + r13]
lea rbx, [rsi + r13]
add rbx, 2
mov rcx, rbx
mov r8, rbp
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov word [rbx - 2], 0x2e2f
add r12, 2
mov qword [r14 + 0x10], r12
add esi, 2
mov ebp, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x3c]
lea r9, [0x1403162a8]
mov rcx, r13
mov rdx, r12
mov r8, r15
call fcn.14016f65a
lea r8, [0x140315e9d]
mov r9d, 3
mov rcx, rax
call fcn.140019b1a
test al, al
movzx r12d, word [rsp + 0x3a]
mov r13d, dword [rsp + 0x40]
mov r8b, byte [rsp + 0x39]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
je 0x14016e44e
lea rcx, str.assertion_failed:__self.serialization_scheme_end_as_usize.._.starts_with__:____
lea r8, [0x1403162c0]
mov edx, 0x4f
call fcn.14003fe40
movzx r12d, word [rsp + 0x3a]
mov r13d, dword [rsp + 0x40]
mov r8b, byte [rsp + 0x39]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
jmp 0x14016e44e
jne 0x14016e156
cmp byte [rcx], 0xbf
jle 0x14016e563
cmp ebp, esi
ja 0x14016e57b
mov rax, r12
sub rax, rsi
jb 0x14016e58d
mov qword [r14 + 0x10], r15
lea r12, [rsp + 0x88]
mov qword [r12 - 0x10], rsi
mov qword [r12 - 8], rax
mov qword [r12 - 0x18], r14
lea rax, [0x140315d8a]
mov qword [r12], rax
lea rax, [0x140315d8b]
mov qword [r12 + 8], rax
mov eax, 1
mov qword [r12 - 0x28], rax
mov qword [r12 - 0x20], rax
mov rcx, r14
jne 0x14016e2ac
mov rdx, r12
call fcn.1401693e4
jmp 0x14016e3b6
mov rdx, rsi
mov r8, r12
call fcn.140169af7
test al, al
je 0x14016e3b6
mov rax, qword [rsp + 0x90]
mov rdx, rax
mov rcx, rax
sub rdx, qword [rsp + 0x88]
je 0x14016e30c
lea r13, [rsp + 0x60]
mov rcx, r13
call fcn.140169b43
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
mov r8, r12
call fcn.140169af7
test al, al
je 0x14016e3b6
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0x3c], ebx
sub rcx, rax
mov edx, 1
mov r8d, 1
call fcn.1401693a7
mov ebx, ebp
lea rbp, [rsp + 0xa0]
mov qword [rbp], rax
mov qword [rbp + 8], rdx
and qword [rbp + 0x10], 0
mov rcx, rbp
mov rdx, r12
call fcn.1401693e4
mov r10, qword [rbp]
mov r13, qword [rbp + 8]
mov r12, qword [rbp + 0x10]
mov ebp, ebx
test r12, r12
je 0x14016e3a7
lea rcx, [rsp + 0x60]
mov rdx, r12
mov rbp, r10
call fcn.140169b43
mov r10, rbp
lea rcx, [rsp + 0x60]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
mov ebp, ebx
mov r8, qword [rax + 0x10]
mov rdx, qword [rax + 8]
add rdx, r8
sub rcx, r8
xor r8d, r8d
cmp rcx, r8
je 0x14016e3a7
cmp r12, r8
je 0x14016e3a7
mov r9b, byte [r13 + r8]
mov byte [rdx + r8], r9b
inc qword [rax + 0x10]
inc r8
jmp 0x14016e38b
mov rcx, r10
mov rdx, r13
call fcn.140173443
mov ebx, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x80]
test r12, r12
je 0x14016e3f7
mov dword [rsp + 0x3c], ebx
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r13, qword [rbx + 0x10]
cmp rdx, r13
je 0x14016e3ec
mov rcx, qword [rbx + 8]
add rdx, rcx
add rcx, r13
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add r12, r13
mov qword [rbx + 0x10], r12
mov ebx, dword [rsp + 0x3c]
add esi, 0xfffffffe
mov r13, qword [r14 + 8]
mov r12, qword [r14 + 0x10]
lea r9, [0x1403161f8]
mov rcx, r13
mov rdx, r12
mov r8, r15
call fcn.14016f65a
lea r8, [0x140315e9d]
mov r9d, 3
mov rcx, rax
call fcn.140019b1a
test al, al
movzx r12d, word [rsp + 0x3a]
mov r13d, dword [rsp + 0x40]
mov r8b, byte [rsp + 0x39]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
jne 0x14016e550
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
mov r9d, ebp
call fcn.14016f293
mov eax, dword [r15]
cmp eax, 2
jne 0x14016e4a6
mov al, byte [rsp + 0x64]
mov byte [rdi + 8], al
movabs rax, 0x8000000000000000
mov qword [rdi], rax
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140173443
mov rcx, qword [rsp + 0x64]
mov edx, dword [rsp + 0x6c]
mov r8, qword [r14 + 0x10]
mov qword [rdi + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
mov r8, qword [rsp + 0x98]
movups xmm0, xmmword [r8]
movups xmmword [rdi + 0x40], xmm0
mov r8b, byte [r8 + 0x10]
mov byte [rdi + 0x50], r8b
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x1c], rcx
mov dword [rdi + 0x24], edx
movzx eax, word [rsp + 0x46]
mov word [rdi + 0x28], ax
mov word [rdi + 0x2a], r12w
mov dword [rdi + 0x2c], ebp
mov eax, dword [rsp + 0x5c]
mov dword [rdi + 0x30], eax
mov dword [rdi + 0x34], r13d
mov dword [rdi + 0x38], ebx
mov dword [rdi + 0x3c], esi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 2
mov rcx, r14
mov rdx, r12
call fcn.14003bef0
mov r13, qword [r14 + 8]
jmp 0x14016e183
lea r8, [0x1403161d8]
mov rcx, rsi
mov rdx, r12
call fcn.14003efaf
lea rdx, [rsp + 0x60]
and qword [rdx], 0
call fcn.140169ab4
lea rcx, str.assertion_failed:__self.serialization_scheme_end_as_usize.._.starts_with__:____
lea r8, [0x140316260]
jmp 0x14016e20d
lea rcx, str.assertion_failed:_self.is_char_boundary_n_
lea r8, [0x140315b80]
mov edx, 0x2a
call fcn.14003fe40
lea r8, [0x140315ac0]
mov rcx, r15
mov rdx, rsi
call fcn.140042860
lea r8, [0x140315ac0]
mov rcx, rsi
mov rdx, r12
call fcn.14003f980
int3