Function at 0x1401b4670
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, 0x188
mov r15, rdx
mov rbx, rcx
mov rdi, qword [rsp + 0x1f8]
mov r14b, byte [rsp + 0x1f0]
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov qword [rsp + 0x78], r8
mov rdx, r8
mov qword [rsp + 0x70], r9
mov r8, r9
call fcn.1401b7b4d
mov r12d, dword [rsi]
mov r13, qword [rsi + 8]
mov rbp, qword [rsi + 0x10]
cmp r12d, 0x5c
je 0x1401b46d4
cmp r12d, 0x2f
jne 0x1401b4814
mov qword [rsp + 0x80], rbx
mov rsi, qword [r15 + 0x10]
cmp r12d, 0x5c
jne 0x1401b46f7
test rsi, rsi
je 0x1401b46f7
mov rax, qword [r15 + 0x18]
mov rcx, rsi
xor edx, edx
call qword [rax + 0x28]
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, r13
mov r8, rbp
call fcn.1401b7b4d
mov eax, dword [rbx]
mov rdi, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
cmp eax, 0x2f
je 0x1401b4725
cmp eax, 0x5c
jne 0x1401b4868
cmp eax, 0x5c
jne 0x1401b473b
test rsi, rsi
je 0x1401b473b
mov rax, qword [r15 + 0x18]
mov rcx, rsi
xor edx, edx
call qword [rax + 0x28]
lea r13, [r15 + 0x28]
lea rdx, [0x140437b61]
lea r8, [0x140437b5a]
mov rcx, r13
call fcn.1400e43de
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.1401b7cd6
mov sil, byte [rbx]
cmp byte [rbx + 0x18], 2
je 0x1401b4804
movzx r14d, sil
movzx eax, byte [rsp + 0x97]
shl eax, 0x10
movzx ecx, word [rsp + 0x95]
or ecx, eax
shl rcx, 0x20
mov edi, dword [rsp + 0x91]
or rdi, rcx
mov rbp, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x78], rax
mov rsi, qword [rsp + 0xb8]
test r8, r8
je 0x1401b4998
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, rbp
call fcn.1401b03ec
mov al, byte [rbx]
cmp al, 3
jne 0x1401b49a7
mov sil, byte [rsp + 0x91]
shl rdi, 8
or rdi, r14
mov rcx, rdi
mov rdx, rbp
call fcn.14007ab60
mov rax, qword [rsp + 0x80]
mov byte [rax], sil
jmp 0x1401b4b85
test rdi, rdi
je 0x1401b48d6
cmp r12d, 0x23
je 0x1401b4b9e
cmp r12d, 0x3f
je 0x1401b4bd3
cmp r12d, 0x110000
jne 0x1401b4be6
cmp dword [rdi + 0x20], 0
je 0x1401b4f97
mov r8d, dword [rdi + 0x24]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
lea r9, [0x140437ba0]
call fcn.1401b7058
mov r8, rax
jmp 0x1401b4f9f
lea r14, [r15 + 0x28]
lea rdx, [0x140437b61]
lea r8, [0x140437b5a]
mov rcx, r14
call fcn.1400e43de
mov rcx, r13
mov rdx, rbp
call fcn.1401b7ee6
xor edx, edx
mov ecx, 7
mov qword [rsp + 0x88], rcx
cmp qword [rsp + 0x1f8], 0
je 0x1401b4b91
test al, al
mov rbx, qword [rsp + 0x80]
jne 0x1401b4dda
mov rdx, qword [rsp + 0x1f8]
cmp dword [rdx + 0x18], 0
je 0x1401b4c94
lea rax, [rdx + 0x1c]
jmp 0x1401b4ca2
lea rsi, [r15 + 0x28]
lea rdx, [0x140437ba0]
lea r8, str.file:___
mov rcx, rsi
call fcn.1400e43de
lea r8, [rsp + 0x90]
mov byte [r8], 0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 7
mov rcx, r15
xor edx, edx
call fcn.1401b635c
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call fcn.1401b7584
mov eax, dword [rdi]
cmp eax, 2
je 0x1401b4e62
mov rcx, qword [rsp + 0x94]
mov edx, dword [rsp + 0x9c]
mov rbp, qword [rsi + 0x10]
mov qword [rbx + 0x10], rbp
movups xmm0, xmmword [rsi]
movups xmmword [rbx], xmm0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x1c], rcx
mov dword [rbx + 0x24], edx
movaps xmm0, xmmword [0x14033b100]
movups xmmword [rbx + 0x28], xmm0
mov dword [rbx + 0x38], 7
and word [rbx + 0x3c], 0
mov byte [rbx + 0x40], 0
jmp 0x1401b4e7f
mov qword [rsp + 0x70], rsi
xor ebx, ebx
xor r12d, r12d
jmp 0x1401b4ada
mov qword [rsp + 0x70], rsi
mov cl, byte [rsp + 0x91]
movups xmm0, xmmword [rsp + 0x92]
movups xmmword [rsp + 0xe2], xmm0
movups xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0xe0], al
mov byte [rsp + 0xe1], cl
test al, al
jne 0x1401b4a0d
lea rcx, [rsp + 0xe8]
call fcn.1401b7e5e
test al, al
je 0x1401b4a0d
mov byte [rsp + 0x108], 0
lea rcx, [rsp + 0xe0]
call fcn.1401b029d
jmp 0x1401b499d
mov al, byte [rsp + 0xe0]
mov cl, byte [rsp + 0xe1]
mov rdx, qword [rsp + 0xe2]
mov ebx, dword [rsp + 0xea]
movzx r8d, word [rsp + 0xee]
movups xmm0, xmmword [rsp + 0xf0]
lea rsi, [rsp + 0x130]
movaps xmmword [rsi + 0x10], xmm0
mov byte [rsi], al
mov byte [rsi + 1], cl
mov qword [rsi + 2], rdx
mov dword [rsi + 0xa], ebx
mov word [rsi + 0xe], r8w
lea rax, [rsp + 0x178]
mov qword [rax], rsi
lea rcx, str.description___is_deprecated__use_Displaycalled__Option::unwrap____on_a__None__value
lea rbx, [rsp + 0x90]
mov qword [rbx + 0x10], rcx
mov ecx, 1
mov qword [rbx + 0x18], rcx
and qword [rbx], 0
lea rdx, [0x1401afe64]
mov qword [rax + 8], rdx
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rcx
mov rcx, r13
mov rdx, rbx
call fcn.1401b0121
lea rdx, [0x140437c68]
mov ecx, eax
call fcn.1401b7b7a
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmmword [rbx + 0x10], xmm1
movaps xmmword [rbx], xmm0
lea rbx, [rsp + 0x108]
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.1401b0246
mov r12b, 1
mov bl, byte [rbx]
movups xmm0, xmmword [rsp + 0x109]
movaps xmmword [rsp + 0x120], xmm0
shl rdi, 8
or rdi, r14
mov rcx, rdi
mov rdx, rbp
call fcn.14007ab60
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x130], xmm0
mov rbp, qword [r15 + 0x38]
mov rax, rbp
shr rax, 0x20
mov rcx, rbp
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov edi, 0x901
cmove rdi, rcx
test dil, dil
jne 0x1401b4b7a
shr rdi, 0x20
mov dword [rsp + 0x88], ebx
test bl, bl
setne byte [rsp + 0xe0]
test r12b, r12b
je 0x1401b4ef4
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, r15
xor edx, edx
mov r9, qword [rsp + 0x78]
call fcn.1401b7bab
jmp 0x1401b4f2a
mov rax, qword [rsp + 0x80]
mov byte [rax], 9
mov dword [rax + 0x18], 2
jmp 0x1401b4e72
mov rbx, qword [rsp + 0x80]
jmp 0x1401b4dda
lea rdx, [rsp + 0x90]
mov ecx, 9
mov r8, rdi
mov rdi, rdx
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov r9, qword [rsp + 0x78]
call fcn.1401b708d
jmp 0x1401b4e7f
cmp dword [rdi + 0x18], 0
je 0x1401b4fea
lea rax, [rdi + 0x1c]
jmp 0x1401b4ff8
mov rbp, qword [rsp + 0x78]
mov rcx, rbp
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
call fcn.1401b7ee6
test al, al
je 0x1401b4f84
lea r14, [r15 + 0x28]
lea rdx, [0x140437ba0]
lea r8, str.file:___
mov rcx, r14
call fcn.1400e43de
lea r8, [rsp + 0x90]
mov byte [r8], 0
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbp
mov r9d, 7
mov rcx, r15
xor edx, edx
call fcn.1401b635c
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call fcn.1401b7584
mov eax, dword [rdi]
cmp eax, 2
je 0x1401b4e62
mov rcx, qword [rsp + 0x94]
mov edx, dword [rsp + 0x9c]
mov rbp, qword [r14 + 0x10]
mov qword [rbx + 0x10], rbp
movups xmm0, xmmword [r14]
jmp 0x1401b496b
cmp dword [rdx + 0x20], 0
je 0x1401b50ad
lea rax, [rdx + 0x24]
mov r9d, dword [rax]
mov r8d, dword [rdx + 0x38]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.1401afe1f
mov rsi, rax
mov rdi, rdx
mov qword [rsp + 0x100], r14
lea r8, [rsp + 0x90]
mov dword [r8], 0x2f
mov r9d, 1
mov rcx, rax
call fcn.140122040
test al, al
je 0x1401b52fc
inc rsi
dec rdi
lea r14, [rsp + 0x90]
mov rcx, r14
mov rdx, rsi
mov r8, rdi
mov r9d, 0x2f
call fcn.1401b3249
cmp dword [r14 + 0x2c], 0x110000
je 0x1401b5307
lea rax, [rsp + 0x130]
lea rsi, [rsp + 0x90]
mov ecx, 9
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, rax
call fcn.1401afb88
lea r8, [0x140437b80]
mov rcx, rax
call fcn.14000d051
mov rsi, rax
mov rdi, rdx
mov rcx, rax
call fcn.1401b7a62
test al, al
mov r14, qword [rsp + 0x100]
je 0x1401b4d85
mov rcx, r14
mov edx, 0x2f
call fcn.1401afd39
add rdi, rsi
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.1400e43de
jmp 0x1401b4dd8
mov rsi, qword [rsp + 0x1f8]
cmp byte [rsi + 0x40], 0
je 0x1401b4dd8
mov r8d, dword [rsi + 0x30]
mov r9d, dword [rsi + 0x34]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
call fcn.1401afe1f
test rax, rax
je 0x1401b4dd8
add rdx, rax
mov rcx, r14
mov r8, rax
call fcn.1400e43de
mov rax, qword [r15 + 0x38]
mov qword [rsp + 0x88], rax
mov dl, byte [rsi + 0x40]
movups xmm0, xmmword [rsi + 0x41]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1401b4dda
xor edx, edx
add r12d, 0xffffffd1
cmp r12d, 0x2d
mov dword [rsp + 0x80], edx
ja 0x1401b4e05
movabs rax, 0x200000010001
bt rax, r12
jae 0x1401b4e05
mov r13, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
lea r8, [rsp + 0x90]
mov byte [r8], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r13
mov rcx, r15
xor edx, edx
mov rdi, qword [rsp + 0x88]
mov r9, rdi
call fcn.1401b635c
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov rdx, r15
mov r8b, byte [rsp + 0x1f0]
mov r9d, 4
call fcn.1401b7584
mov eax, dword [rsi]
cmp eax, 2
jne 0x1401b4e94
mov al, byte [rsp + 0x94]
mov byte [rbx], al
mov dword [rbx + 0x18], 2
mov rcx, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x30]
call fcn.14007ab60
nop
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x94]
mov edx, dword [rsp + 0x9c]
mov rbp, qword [r14 + 0x10]
mov qword [rbx + 0x10], rbp
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rbx + 0x41], xmm0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x1c], rcx
mov dword [rbx + 0x24], edx
movabs rax, 0x700000004
mov qword [rbx + 0x28], rax
mov dword [rbx + 0x30], 7
mov dword [rbx + 0x34], edi
mov dword [rbx + 0x38], edi
and word [rbx + 0x3c], 0
mov eax, dword [rsp + 0x80]
jmp 0x1401b51e9
mov rcx, r13
mov edx, 0x2f
call fcn.1401afd39
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, r15
xor edx, edx
mov r9, rbp
call fcn.1401b635c
mov rbx, rax
mov r14, rdx
cmp byte [rsp + 0xe0], 0
jne 0x1401b5136
cmp edi, 7
jb 0x1401b5321
mov rdx, qword [r15 + 0x38]
cmp rdx, rdi
jb 0x1401b5337
mov rax, qword [r15 + 0x30]
cmp rdx, 7
jbe 0x1401b50c3
cmp byte [rax + 7], 0xc0
jge 0x1401b50c9
lea rcx, str.assertion_failed:_self.is_char_boundary_start_
lea r8, [0x1404377a0]
mov edx, 0x2e
jmp 0x1401b531a
cmp dword [rdi + 0x18], 0
je 0x1401b51f1
lea rax, [rdi + 0x1c]
jmp 0x1401b51ff
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
lea rcx, [r15 + 0x28]
add rdx, r8
call fcn.1400e43de
mov rax, qword [r15 + 0x38]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [r15 + 0x28]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rbx + 0x40], xmm0
mov al, byte [rdi + 0x50]
mov byte [rbx + 0x50], al
mov rax, qword [rdi + 0x18]
mov qword [rbx + 0x18], rax
and dword [rbx + 0x20], 0
movups xmm0, xmmword [rdi + 0x28]
mov rax, qword [rdi + 0x38]
movups xmmword [rbx + 0x28], xmm0
mov qword [rbx + 0x38], rax
jmp 0x1401b4e7f
cmp dword [rdi + 0x20], 0
je 0x1401b52e2
lea rax, [rdi + 0x24]
mov r8d, dword [rax]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
call fcn.1401afe4c
mov r8, rax
lea rsi, [r15 + 0x28]
add rdx, r8
mov rcx, rsi
call fcn.1400e43de
mov r12d, dword [rdi + 0x28]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rbp, [rsp + 0x90]
mov rcx, rbp
mov rdx, r15
mov r8d, r14d
mov r9d, r12d
call fcn.1401b7584
mov eax, dword [rbp]
cmp eax, 2
je 0x1401b4e62
mov r8d, dword [rsp + 0x94]
mov rdx, qword [rsp + 0x98]
mov rbp, qword [rsi + 0x10]
mov qword [rbx + 0x10], rbp
movups xmm0, xmmword [rsi]
movups xmmword [rbx], xmm0
mov ebp, dword [rdi + 0x2c]
mov rsi, qword [rdi + 0x30]
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rbx + 0x40], xmm0
mov cl, byte [rdi + 0x50]
mov byte [rbx + 0x50], cl
mov rcx, qword [rdi + 0x38]
mov dword [rbx + 0x18], eax
mov dword [rbx + 0x1c], r8d
mov qword [rbx + 0x20], rdx
mov dword [rbx + 0x28], r12d
mov dword [rbx + 0x2c], ebp
mov qword [rbx + 0x30], rsi
mov qword [rbx + 0x38], rcx
jmp 0x1401b4e7f
mov r8d, dword [rdx + 0x38]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.1401afe07
jmp 0x1401b4cb6
jne 0x1401b4f6c
mov rbp, rdx
sub rbp, rdi
jbe 0x1401b50ef
cmp byte [rax + rdi], 0xbf
jg 0x1401b50f1
lea rcx, str.assertion_failed:_self.is_char_boundary_end_
lea r8, [0x1404377e8]
mov edx, 0x2c
jmp 0x1401b531a
jne 0x1401b50d7
mov qword [r15 + 0x38], 7
cmp rdi, 7
jne 0x1401b5107
cmp rdx, 7
jne 0x1401b511e
jmp 0x1401b5126
cmp rdx, rdi
je 0x1401b5126
lea rcx, [rax + 7]
add rdi, rax
mov rdx, rdi
mov r8, rbp
call sub.VCRUNTIME140.dll_memmove
add rbp, 7
mov qword [r15 + 0x38], rbp
mov edi, 7
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, r15
mov r8b, byte [rsp + 0x1f0]
mov r9d, 4
call fcn.1401b7584
mov eax, dword [rbx]
cmp eax, 2
jne 0x1401b5185
mov al, byte [rsp + 0x94]
mov rcx, qword [rsp + 0x80]
mov byte [rcx], al
mov dword [rcx + 0x18], 2
jmp 0x1401b4e72
mov rcx, qword [rsp + 0x94]
mov edx, dword [rsp + 0x9c]
mov rbp, qword [r13 + 0x10]
mov rbx, qword [rsp + 0x80]
mov qword [rbx + 0x10], rbp
movups xmm0, xmmword [r13]
movups xmmword [rbx], xmm0
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rbx + 0x41], xmm0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x1c], rcx
mov dword [rbx + 0x24], edx
movabs rax, 0x700000004
mov qword [rbx + 0x28], rax
mov dword [rbx + 0x30], 7
mov dword [rbx + 0x34], edi
mov dword [rbx + 0x38], edi
and word [rbx + 0x3c], 0
mov eax, dword [rsp + 0x88]
mov byte [rbx + 0x40], al
jmp 0x1401b4e7f
cmp dword [rdi + 0x20], 0
je 0x1401b52ef
lea rax, [rdi + 0x24]
mov r8d, dword [rax]
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
call fcn.1401afe4c
mov r8, rax
lea rcx, [r15 + 0x28]
add rdx, r8
call fcn.1400e43de
mov r12d, dword [rdi + 0x38]
mov rcx, r15
xor edx, edx
mov r8, r12
call fcn.1401b79fa
lea r8, [rsp + 0x90]
mov byte [r8], 1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rcx, r15
xor edx, edx
mov r9, r12
call fcn.1401b635c
lea r8, [rsp + 0x90]
mov ecx, 9
mov rbp, rdi
mov rdi, r8
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [rbp + 0x28]
mov r10d, dword [rbp + 0x2c]
mov r11d, dword [rbp + 0x30]
mov r14d, dword [rbp + 0x34]
mov cl, byte [rbp + 0x50]
lea rsi, [rsp + 0x130]
mov byte [rsi + 0x10], cl
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rsi], xmm0
movzx ecx, word [rbp + 0x3c]
movzx edi, word [rbp + 0x3e]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r12d
mov word [rsp + 0x48], di
mov word [rsp + 0x40], cx
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r10d
mov rcx, rbx
mov rdx, r8
xor r8d, r8d
call fcn.1401b6a77
jmp 0x1401b4e7f
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
jmp 0x1401b500b
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
jmp 0x1401b5212
mov dword [rsp + 0xbc], 0x110000
lea rcx, [0x140438bf0]
lea r8, [0x140437b68]
mov edx, 0x2b
call fcn.140332d10
ud2
lea r8, [0x140437758]
mov ecx, 7
mov rdx, rdi
call fcn.140332f90
ud2
lea r8, [0x140437758]
mov rcx, rdi
call fcn.140332d00
ud2