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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rax, qword [0x140250b18]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r13, qword [rcx]
mov r15, r9
mov qword [rbp - 0x50], r13
mov rdi, r8
mov qword [rbp - 0x40], r8
mov rsi, rdx
mov rbx, rcx
mov qword [rbp - 0x10], rcx
call fcn.1401660bc
mov qword [rbp - 0x48], rax
mov r14, rax
test rax, rax
je 0x14016f5f2
or dword [rax + 0xc8], 0x20
lea r9, [rbp - 0x38]
mov r8, rdi
mov dword [rbx + 0x38], 2
mov rdx, rsi
mov rcx, rbx
call fcn.140175c04
mov dword [rsp + 0x64], eax
test eax, eax
js 0x14016f5f2
movsxd rcx, eax
mov esi, 1
mov r12, rcx
mov qword [rsp + 0x70], rcx
mov rcx, qword [r13 + 0x20]
shl r12, 5
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x80], rcx
cmp eax, esi
jne 0x14016c6a3
mov rcx, rbx
call fcn.14016a018
test eax, eax
jne 0x14016f5f2
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x14016f5f2
mov r8d, dword [rdx + 8]
mov rcx, r13
mov rdx, qword [rdx]
call fcn.1401526a0
mov rcx, rax
mov rdi, rax
call fcn.140153514
xor eax, eax
test rcx, rcx
je 0x14016f5f2
cmp dword [rbp + 0xd0], eax
je 0x14016c70b
mov r8, r15
lea rdx, [0x140223030]
mov rcx, r13
call fcn.1401695e8
mov qword [rbp - 0x30], rax
mov r15, rax
mov rax, qword [rbp - 0x40]
xor ecx, ecx
cmp dword [rax + 8], ecx
jbe 0x14016c730
mov rax, qword [rbp - 0x80]
mov rax, qword [r12 + rax]
jmp 0x14016c733
test r15, r15
je 0x14016c6ef
mov r8d, dword [r15 + 8]
mov rcx, r13
mov rdx, qword [r15]
call fcn.1401526a0
mov rcx, rax
mov qword [rbp - 0x30], rax
mov r15, rax
call fcn.140153514
jmp 0x14016c6f6
mov rax, rcx
mov r9, r15
mov qword [rbp - 0x20], rax
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 0x13
mov rcx, rbx
mov r12, rdi
call fcn.14014aff0
xor ecx, ecx
test eax, eax
jne 0x14016f5d7
mov rdx, qword [rbp - 0x20]
lea r8d, [rcx + 0xe]
mov qword [rbp + 0x18], rcx
lea r9, [rbp + 0x18]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], r15
mov dword [r13 + 0x268], ecx
mov rcx, r13
call fcn.1400f9f68
mov r12d, eax
test eax, eax
jne 0x14016c85c
mov edx, esi
mov rcx, r14
call fcn.140182330
mov r9, qword [rbp + 0x18]
xor r8d, r8d
or qword [rsp + 0x20], 0xffffffffffffffff
xor edx, edx
mov rcx, r14
call fcn.1401822f0
mov rbx, qword [rbp + 0x18]
xor r12d, r12d
test rbx, rbx
je 0x14016f5d4
mov r8, rbx
mov edx, esi
mov rcx, r14
call fcn.1401802f4
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x50]
mov rcx, r14
call fcn.140178330
mov rbx, qword [rbp + 0x18]
test rbx, rbx
je 0x14016f5d4
cmp dword [0x14024c200], r12d
je 0x14016c84e
mov rcx, qword [0x140251770]
test rcx, rcx
je 0x14016c810
call qword [0x14024c280]
mov rcx, rbx
call qword [0x14024c238]
sub qword [0x140251708], rsi
movsxd rcx, eax
sub qword [0x1402516c0], rcx
mov rcx, rbx
call qword [0x14024c228]
mov rcx, qword [0x140251770]
test rcx, rcx
je 0x14016f5d4
call qword [0x14024c290]
jmp 0x14016f5d4
mov rcx, rbx
call qword [0x14024c228]
jmp 0x14016f5d4
cmp r12d, 0xc
je 0x14016c8ef
mov r8, qword [rbp + 0x18]
test r8, r8
je 0x14016c8e3
lea rdx, [0x1402201e8]
mov rcx, rbx
call fcn.140154378
mov r14, qword [rbp + 0x18]
xor eax, eax
test r14, r14
je 0x14016c8e3
cmp dword [0x14024c200], eax
je 0x14016c8da
mov rcx, qword [0x140251770]
test rcx, rcx
je 0x14016c8a3
call qword [0x14024c280]
mov rcx, r14
call qword [0x14024c238]
sub qword [0x140251708], rsi
movsxd rcx, eax
sub qword [0x1402516c0], rcx
mov rcx, r14
call qword [0x14024c228]
mov rcx, qword [0x140251770]
test rcx, rcx
je 0x14016c8e3
call qword [0x14024c290]
jmp 0x14016c8e3
mov rcx, r14
call qword [0x14024c228]
add dword [rbx + 0x30], esi
mov dword [rbx + 0x18], r12d
jmp 0x14016f5d4
mov rcx, rdi
call fcn.14013f6ac
mov qword [rbp - 8], rax
mov r10, rax
mov r12, rdi
test rax, rax
je 0x14016f5d7
test byte [rax + 9], sil
je 0x14016c924
mov rcx, rbx
call fcn.14016fb94
test eax, eax
jne 0x14016f5d7
mov r10, qword [rbp - 8]
mov r12d, 2
test byte [r10 + 9], r12b
jne 0x14016c94b
test byte [r10 + 9], 4
je 0x14016c93c
test r15, r15
jne 0x14016c94b
mov rdx, r10
mov rcx, r14
call fcn.14014861c
mov r10, qword [rbp - 8]
movzx ecx, byte [r10 + 8]
cmp ecx, 0x16
ja 0x14016e7ac
je 0x14016dc01
cmp ecx, 0xc
ja 0x14016cf0c
je 0x14016ce8b
cmp ecx, 7
ja 0x14016cce6
je 0x14016cc5d
sub ecx, esi
je 0x14016cc21
sub ecx, esi
je 0x14016cb89
sub ecx, esi
je 0x14016ca92
sub ecx, esi
je 0x14016ca03
cmp ecx, r12d
jne 0x14016f0bf
xor eax, eax
test r15, r15
jne 0x14016c9c7
mov r8, qword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
mov rax, qword [r8 + rax + 0x18]
movsxd rdx, dword [rax + 0x74]
mov rcx, r14
call fcn.140143940
jmp 0x14016f5d4
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.1401655d4
mov r8, qword [rbp - 0x78]
mov r9, qword [rbp - 0x80]
mov eax, dword [rsp + 0x60]
mov rcx, qword [r8 + r9 + 0x18]
mov dword [rcx + 0x74], eax
mov rax, qword [r8 + r9 + 0x18]
mov rcx, qword [r8 + r9 + 8]
mov edx, dword [rax + 0x74]
call fcn.14014eba4
jmp 0x14016f5d4
xor r12d, r12d
test r15, r15
jne 0x14016ca2a
mov rdx, r10
mov rcx, r14
call fcn.14014861c
mov r9, qword [rbp - 8]
mov edx, r12d
mov rax, qword [r9 + 0x10]
test qword [r13 + 0x30], rax
setne dl
jmp 0x14016c9ba
mov rbx, qword [r10 + 0x10]
mov edx, esi
btr rbx, 0xe
mov rcx, r15
cmp byte [r13 + 0x5f], r12b
cmovne rbx, qword [r10 + 0x10]
xor r8d, r8d
call fcn.140132144
test al, al
je 0x14016ca53
or qword [r13 + 0x30], rbx
jmp 0x14016ca6d
mov rax, rbx
not rax
and qword [r13 + 0x30], rax
cmp rbx, 0x80000
jne 0x14016ca6d
mov qword [r13 + 0x2d0], r12
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x9e
mov rcx, r14
call fcn.140178330
mov rcx, r13
call fcn.14014842c
jmp 0x14016f5d4
mov r8, qword [rbp - 0x78]
xor r11d, r11d
mov rax, qword [rbp - 0x80]
mov rbx, qword [r8 + rax + 8]
test r15, r15
jne 0x14016cab7
mov rcx, rbx
call fcn.14014cfdc
movsxd rdx, eax
jmp 0x14016c9ba
lea rdx, str.none
mov rcx, r15
call fcn.140174cfc
test eax, eax
jne 0x14016cacf
mov r12d, r11d
jmp 0x14016cb20
lea rdx, str.full
mov rcx, r15
call fcn.140174cfc
test eax, eax
jne 0x14016cae7
mov r12d, esi
jmp 0x14016cb20
lea rdx, str.incremental
mov rcx, r15
call fcn.140174cfc
test eax, eax
je 0x14016cb20
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], r11d
mov rcx, r15
call fcn.1401655d4
xor r10d, r10d
cmp dword [rsp + 0x60], r12d
mov eax, r10d
cmovbe eax, dword [rsp + 0x60]
movzx r12d, al
mov edx, r12d
mov byte [r13 + 0x64], r12b
mov rcx, rbx
call fcn.14014eb14
test eax, eax
jne 0x14016f5d4
lea eax, [r12 - 1]
cmp eax, esi
ja 0x14016f5d4
mov ebx, dword [r14 + 0x90]
lea r8, [0x1402198a8]
xor r9d, r9d
mov rcx, r14
lea edx, [r9 + 5]
call fcn.140178488
mov edx, dword [rsp + 0x64]
lea ecx, [rbx + 4]
mov dword [rax + 0x38], ecx
lea ecx, [r12 - 1]
mov dword [rax + 0x6c], ecx
mov rcx, r14
mov dword [rax + 4], edx
mov dword [rax + 0x1c], edx
mov dword [rax + 0x64], edx
call fcn.140182e14
jmp 0x14016f5d4
mov eax, dword [r10 + 0x10]
mov rcx, r14
mov ebx, dword [rsp + 0x64]
mov edx, ebx
mov dword [rsp + 0x60], eax
call fcn.140182e14
test r15, r15
je 0x14016cbf4
test byte [r10 + 9], 8
jne 0x14016cbf4
xor r9d, r9d
lea r8, [0x140219db0]
mov edx, r12d
call fcn.140178488
mov ecx, dword [rsp + 0x60]
lea rdx, [rsp + 0x60]
mov rbx, rax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 4], eax
mov dword [rbx + 0x1c], eax
xor eax, eax
mov dword [rbx + 0x20], ecx
mov rcx, r15
mov dword [rsp + 0x60], eax
call fcn.1401655d4
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x24], ecx
mov word [rbx + 0x1a], si
jmp 0x14016f5d4
xor r9d, r9d
lea r8, [0x140219db8]
lea edx, [r9 + 3]
call fcn.140178488
mov ecx, dword [rsp + 0x60]
mov dword [rax + 4], ebx
mov dword [rax + 0x1c], ebx
mov dword [rax + 0x24], ecx
and dword [r14 + 0xc8], 0xffffffdf
jmp 0x14016f5d4
test r15, r15
je 0x14016cc51
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1401526f4
test eax, eax
jne 0x14016cc51
mov rax, qword [rsp + 0x70]
test rax, rax
js 0x14016cc51
mov r12d, 0x7fffffff
and eax, r12d
mov dword [r13 + 0x2b8], eax
movsxd rdx, dword [r13 + 0x2b8]
jmp 0x14016c9ba
xor r12d, r12d
test r15, r15
jne 0x14016cc8d
test byte [r13 + 0x30], 0x20
jne 0x14016cc74
mov eax, r12d
jmp 0x14016caaf
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rax, qword [rbp - 0x80]
mov rcx, qword [r8 + rax + 8]
call fcn.14014ee00
jmp 0x14016caaf
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], esi
mov rcx, r15
call fcn.1401655d4
test eax, eax
je 0x14016ccb8
mov r8, qword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
mov edx, dword [rsp + 0x60]
mov rcx, qword [r8 + rax + 8]
call fcn.14014ee00
cmp dword [rsp + 0x60], r12d
mov edx, esi
mov rcx, r15
setne r8b
call fcn.140132144
mov rcx, qword [r13 + 0x30]
test al, al
je 0x14016ccd9
or rcx, 0x20
jmp 0x14016ccdd
and rcx, 0xffffffffffffffdf
mov qword [r13 + 0x30], rcx
jmp 0x14016ca85
sub ecx, 8
je 0x14016ce5d
sub ecx, esi
je 0x14016ce11
sub ecx, esi
je 0x14016cdb7
cmp ecx, esi
jne 0x14016f0bf
xor r12d, r12d
test r15, r15
jne 0x14016cd46
mov r8, qword [0x1402515f0]
test r8, r8
je 0x14016f5d4
mov edx, esi
mov rcx, r14
call fcn.1401802f4
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov edx, 0x50
mov rcx, r14
call fcn.140178330
jmp 0x14016f5d4
cmp byte [r15], r12b
je 0x14016cd7f
mov rax, qword [r13]
lea r9, [rsp + 0x68]
mov r8d, esi
mov rdx, r15
mov rcx, rax
call qword [rax + 0x38]
test eax, eax
jne 0x14016cd6b
cmp dword [rsp + 0x68], r12d
jne 0x14016cd7f
lea rdx, str.not_a_writable_directory
mov rcx, rbx
call fcn.140154378
jmp 0x14016f5d4
mov rcx, qword [0x1402515f0]
call fcn.1400f3680
cmp byte [r15], r12b
je 0x14016cdab
mov rdx, r15
lea rcx, [0x1402201e8]
call fcn.1400f3418
mov qword [0x1402515f0], rax
jmp 0x14016f5d4
mov qword [0x1402515f0], r12
jmp 0x14016f5d4
xor r15d, r15d
mov dword [rbx + 0x38], esi
mov ebx, r15d
lea r13, [0x140000000]
mov r12, rdi
cmp rbx, 0x10
ja 0x14016ce04
mov r8, qword [r13 + rbx*8 + 0x21a520]
add rbx, rsi
test r8, r8
je 0x14016ce04
mov edx, esi
mov rcx, r14
call fcn.1401802f4
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov edx, 0x50
mov rcx, r14
call fcn.140178330
jmp 0x14016cdca
and dword [r14 + 0xc8], 0xffffffdf
jmp 0x14016f530
mov dword [rbx + 0x38], r12d
xor eax, eax
mov rbx, qword [r13 + 0x248]
mov r12, rdi
test rbx, rbx
je 0x14016f5d7
mov r15d, eax
mov rax, qword [rbx + 0x10]
lea r8, [0x1402230cc]
mov r9d, r15d
mov edx, esi
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.1401817c0
mov rbx, qword [rbx]
add r15d, esi
test rbx, rbx
jne 0x14016ce2d
jmp 0x14016f530
xor r12d, r12d
test r15, r15
je 0x14016f5d4
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.140132144
test al, al
mov edx, r12d
mov rcx, r13
setne dl
call fcn.14017023c
jmp 0x14016f5d4
xor r8d, r8d
mov dword [rbx + 0x38], 3
mov r12, rdi
cmp dword [r13 + 0x28], r8d
jle 0x14016f5d7
mov ebx, r8d
mov r15d, r8d
mov rdx, qword [r13 + 0x20]
mov rax, qword [rbx + rdx + 8]
test rax, rax
je 0x14016cef6
mov rax, qword [rax + 8]
mov rcx, qword [rax]
lea rax, [0x140217794]
cmp byte [rcx + 0x13], r8b
jne 0x14016ced1
mov rax, qword [rcx + 0xd0]
mov qword [rsp + 0x28], rax
lea r8, [0x1402230c8]
mov rax, qword [rbx + rdx]
mov r9d, r15d
mov edx, esi
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.1401817c0
xor r8d, r8d
add r15d, esi
add rbx, 0x20
cmp r15d, dword [r13 + 0x28]
jl 0x14016cea8
mov r15, qword [rbp - 0x30]
jmp 0x14016f5d7
sub ecx, 0xd
je 0x14016db4b
sub ecx, esi
je 0x14016da91
sub ecx, esi
je 0x14016d58d
sub ecx, esi
je 0x14016d3dc
sub ecx, esi
je 0x14016d342
sub ecx, esi
je 0x14016d2f7
sub ecx, esi
je 0x14016d226
sub ecx, esi
je 0x14016d048
cmp ecx, esi
jne 0x14016f0bf
mov r12, rdi
test r15, r15
je 0x14016f5d7
mov r8, qword [rbp - 0x20]
mov rdx, r15
mov rcx, r13
call fcn.140158be8
xor ecx, ecx
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14016f5d7
mov r8, qword [rax + 0x70]
mov rdx, 0xffffffffffff8000
test r8, r8
je 0x14016cfa7
mov edx, ecx
mov rcx, qword [r13 + 0x20]
add rcx, 0x18
jmp 0x14016cfa2
add edx, esi
lea rcx, [rcx + 0x20]
cmp qword [rcx], r8
jne 0x14016cf9c
mov rcx, rbx
mov dword [rbx + 0x38], 5
call fcn.1401501dc
mov rbx, qword [rsp + 0x70]
xor eax, eax
mov edi, eax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14016f5d7
xor r13d, r13d
cmp qword [rbx + 0x48], r13
lea rax, [0x1402230b8]
mov qword [rbp + 0x38], rax
lea r8, str.isisi
mov edx, r13d
lea rax, [0x1402230bc]
mov qword [rbp + 0x40], rax
setne dl
mov dword [rsp + 0x38], edx
lea rax, [0x14021e3f4]
mov qword [rbp + 0x48], rax
mov ecx, r13d
mov eax, dword [rbx + 0x64]
mov r9d, edi
and eax, 3
mov edx, esi
cmp byte [rbx + 0x62], r13b
setne cl
mov rax, qword [rbp + rax*8 + 0x38]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1401817c0
mov rbx, qword [rbx + 0x28]
add edi, esi
test rbx, rbx
jne 0x14016cfcf
jmp 0x14016f530
mov r12, rdi
test r15, r15
je 0x14016f5d7
mov r8, qword [rbp - 0x20]
mov rdx, r15
mov rcx, r13
call fcn.140158b50
xor r10d, r10d
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x78], rdi
mov rdx, rax
mov ecx, 3
test rax, rax
jne 0x14016d0df
mov r9, qword [rbp - 0x20]
lea edx, [rax + 2]
mov r8, r15
mov rcx, rbx
call fcn.14016914c
xor r10d, r10d
test rax, rax
je 0x14016f5d7
test byte [rax + 0x40], 0x80
je 0x14016f5d7
mov rdx, qword [rax + 0x10]
lea ecx, [r10 + 3]
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x78], rdi
test rdx, rdx
je 0x14016f5d7
mov qword [rbp - 0x78], rdi
mov eax, dword [rdx + 0x64]
and al, cl
cmp al, 2
je 0x14016d0d2
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14016d0c0
mov qword [rbp - 0x48], rdx
test rdx, rdx
je 0x14016f5d7
mov r9, qword [rdx + 0x30]
mov r8, 0xffffffffffff8000
test r9, r9
je 0x14016d108
mov rax, qword [r13 + 0x20]
mov r8d, r10d
add rax, 0x18
jmp 0x14016d103
add r8d, esi
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x14016d0fc
mov r9, qword [rbp - 8]
mov rax, qword [r9 + 0x10]
test rax, rax
je 0x14016d11b
movzx edi, word [rdx + 0x60]
jmp 0x14016d11f
movzx edi, word [rdx + 0x5e]
neg rax
sbb eax, eax
and eax, ecx
add eax, ecx
mov rcx, rbx
mov dword [rbx + 0x38], eax
mov rax, qword [rdx + 0x18]
mov edx, r8d
mov qword [rbp - 0x38], rax
call fcn.1401501dc
xor r8d, r8d
movzx eax, di
test rax, rax
je 0x14016f5d7
mov rdi, qword [rbp - 0x48]
mov ecx, r8d
mov r13, qword [rbp - 8]
mov r15d, r8d
mov qword [rbp - 0x68], rcx
mov r12d, eax
jmp 0x14016d167
xor r8d, r8d
mov rax, qword [rdi + 8]
movsx rdx, word [rax + rcx*2]
test dx, dx
jns 0x14016d17a
mov rcx, r8
jmp 0x14016d18d
mov rax, qword [rbp - 0x38]
mov rcx, rdx
shl rcx, 5
mov rax, qword [rax + 8]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x28], rcx
lea r8, str.iisX
mov dword [rsp + 0x20], edx
mov r9d, r15d
mov edx, esi
mov rcx, r14
call fcn.1401817c0
xor ecx, ecx
cmp qword [r13 + 0x10], rcx
je 0x14016d1f2
movzx eax, word [rdi + 0x5e]
mov edx, ecx
mov r8, qword [rbp - 0x68]
cmp r15d, eax
mov rax, qword [rdi + 0x38]
mov rcx, qword [rdi + 0x40]
setb dl
mov dword [rsp + 0x28], edx
mov edx, 4
movzx r9d, byte [rax + r8]
mov rax, qword [rcx + r8*8]
lea r8, str.isiX
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1401817c0
xor ecx, ecx
mov r9d, dword [rbx + 0x38]
mov r8d, esi
mov dword [rsp + 0x20], ecx
mov edx, 0x50
mov rcx, r14
call fcn.140178330
mov rcx, qword [rbp - 0x68]
add r15d, esi
add rcx, rsi
mov qword [rbp - 0x68], rcx
cmp rcx, r12
jl 0x14016d164
jmp 0x14016f52c
xor r12d, r12d
test r15, r15
je 0x14016d246
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1401655d4
test eax, eax
je 0x14016d246
cmp dword [rsp + 0x60], r12d
jg 0x14016d251
mov r12d, 0x7fffffff
mov dword [rsp + 0x60], r12d
mov r8d, dword [rsp + 0x64]
xor edx, edx
mov rcx, rbx
call fcn.14014b9d4
mov r8d, dword [rsp + 0x60]
xor ebx, ebx
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov rcx, r14
lea edx, [rbx + 0x45]
call fcn.140178330
mov r8d, dword [rsp + 0x64]
lea edx, [rbx + 0x3c]
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.140178330
xor r12d, r12d
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], r12d
mov rcx, r14
mov ebx, eax
lea edx, [r12 + 0x50]
call fcn.140178330
or r9d, 0xffffffff
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x52]
mov rcx, r14
call fcn.140178330
mov r9d, ebx
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x30]
mov rcx, r14
call fcn.140178330
mov edx, ebx
mov rcx, r14
call fcn.14017fa44
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
jmp 0x14016f5d4
or rbx, 0xffffffffffffffff
test r15, r15
je 0x14016d332
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1401526f4
test eax, eax
jne 0x14016d332
mov rcx, rbx
call fcn.1400f83fc
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jle 0x14016d332
test rax, rax
je 0x14016d32d
cmp rax, rcx
jle 0x14016d332
call fcn.1400f83fc
mov rcx, rbx
call fcn.1400f83fc
mov rdx, rax
jmp 0x14016c9ba
mov r15d, dword [r13 + 0x2c]
lea rax, [0x140251600]
shr r15d, 5
mov r12, rdi
and r15d, esi
mov dword [rbx + 0x38], 6
mov dword [rsp + 0x68], r15d
mov qword [rbp - 0x58], rax
mov rbx, qword [rax]
test rbx, rbx
je 0x14016d38d
mov r9d, r15d
mov r8d, esi
mov rdx, rbx
mov rcx, r14
call fcn.14013f5d0
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14016d36f
mov rax, qword [rbp - 0x58]
add rax, 8
lea rcx, [0x1402516b8]
mov qword [rbp - 0x58], rax
cmp rax, rcx
jl 0x14016d367
mov r13, qword [rbp - 0x50]
mov r15, qword [rbp - 0x30]
mov rdi, qword [r13 + 0x230]
test rdi, rdi
je 0x14016f5d7
mov ebx, dword [rsp + 0x68]
mov rdx, qword [rdi + 0x10]
mov r9d, ebx
xor r8d, r8d
mov rcx, r14
call fcn.14013f5d0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x14016d3bd
jmp 0x14016f5d7
mov r12, rdi
test r15, r15
je 0x14016f5d7
mov r8, qword [rbp - 0x20]
mov rdx, r15
mov rcx, r13
call fcn.140158be8
xor r8d, r8d
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14016f5d7
mov rcx, qword [rax + 0x20]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14016f5d7
mov rcx, qword [rax + 0x70]
mov rdx, 0xffffffffffff8000
mov qword [rbp - 0x78], rdi
test rcx, rcx
je 0x14016d450
mov rax, qword [r13 + 0x20]
mov edx, r8d
add rax, 0x18
mov qword [rbp - 0x78], rdi
cmp qword [rax], rcx
je 0x14016d450
mov qword [rbp - 0x78], rdi
add edx, esi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x14016d445
mov rcx, rbx
mov dword [rsp + 0x60], r8d
mov r13d, r8d
mov dword [rbx + 0x38], 8
call fcn.1401501dc
mov rbx, qword [rsp + 0x70]
xor eax, eax
mov rdi, qword [rbp - 0x38]
mov r15d, eax
cmp dword [rbx + 0x28], eax
jle 0x14016d573
mov r12d, dword [rsp + 0x60]
lea r13, [rbx + 0x40]
movzx ecx, byte [rbx + 0x2d]
sub ecx, 7
je 0x14016d4c0
sub ecx, esi
je 0x14016d4b7
sub ecx, esi
je 0x14016d4ae
cmp ecx, esi
je 0x14016d4a5
lea r8, str.NO_ACTION
jmp 0x14016d4c7
lea r8, str.CASCADE
jmp 0x14016d4c7
lea r8, str.SET_DEFAULT
jmp 0x14016d4c7
lea r8, str.SET_NULL
jmp 0x14016d4c7
lea r8, str.RESTRICT
movzx ecx, byte [rbx + 0x2e]
sub ecx, 7
je 0x14016d500
sub ecx, esi
je 0x14016d4f7
sub ecx, esi
je 0x14016d4ee
cmp ecx, esi
je 0x14016d4e5
lea rax, str.NO_ACTION
jmp 0x14016d507
lea rax, str.CASCADE
jmp 0x14016d507
lea rax, str.SET_DEFAULT
jmp 0x14016d507
lea rax, str.SET_NULL
jmp 0x14016d507
lea rax, str.RESTRICT
mov rcx, qword [rdi + 8]
lea r9, str.NONE
movsxd rdx, dword [r13]
mov qword [rsp + 0x50], r9
mov r9d, r12d
mov qword [rsp + 0x48], r8
lea r8, str.iissssss
mov qword [rsp + 0x40], rax
mov rax, qword [r13 + 8]
mov qword [rsp + 0x38], rax
shl rdx, 5
mov rax, qword [rdx + rcx]
mov edx, esi
mov qword [rsp + 0x30], rax
mov rcx, r14
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
call fcn.1401817c0
add r15d, esi
add r13, 0x10
cmp r15d, dword [rbx + 0x28]
jl 0x14016d487
mov r13d, r12d
xor eax, eax
mov rbx, qword [rbx + 8]
add r13d, esi
mov dword [rsp + 0x60], r13d
test rbx, rbx
jne 0x14016d472
jmp 0x14016f52c
mov eax, dword [rbx + 0x38]
mov r12, rdi
mov r8, qword [rbp - 0x78]
lea ecx, [rax + 1]
add eax, 5
mov dword [rbp - 0x60], eax
inc eax
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x7c], eax
mov rax, qword [r13 + 0x20]
mov dword [rsp + 0x60], ecx
mov rcx, qword [r8 + rax + 0x18]
xor r8d, r8d
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14016f5d7
mov qword [rbp - 0x78], rdi
mov rdi, qword [rbp - 0x20]
mov rax, 0xffffffffffff8000
test r15, r15
je 0x14016d600
mov r9, rdi
mov r8, r15
xor edx, edx
mov rcx, rbx
call fcn.14016914c
xor r8d, r8d
mov qword [rbp - 0x80], rax
mov rcx, rax
mov edx, r8d
mov rax, 0xffffffffffff8000
jmp 0x14016d60b
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rdx]
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x68], rdx
test rcx, rcx
je 0x14016da83
cmp qword [rcx + 0x20], r8
je 0x14016da83
mov rdx, qword [rcx + 0x70]
mov rdi, rax
mov dword [rsp + 0x64], eax
mov ecx, eax
test rdx, rdx
je 0x14016d65d
mov rax, qword [r13 + 0x20]
mov ecx, r8d
add rax, 0x18
mov dword [rsp + 0x64], ecx
mov rdi, r8
cmp qword [rax], rdx
je 0x14016d65d
add ecx, esi
lea rax, [rax + 0x20]
add rdi, rsi
cmp qword [rax], rdx
jne 0x14016d64b
mov dword [rsp + 0x64], ecx
mov rax, qword [r13 + 0x20]
mov edx, ecx
shl rdi, 5
mov rcx, rbx
mov rdi, qword [rdi + rax]
mov qword [rbp - 0x20], rdi
call fcn.1401501dc
mov rcx, qword [rbp - 0x80]
xor r9d, r9d
mov edx, dword [rsp + 0x64]
mov rax, qword [rcx]
mov r8d, dword [rcx + 0x38]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140174f04
mov rcx, qword [rbp - 0x80]
movsx r8d, word [rcx + 0x46]
add r8d, dword [rsp + 0x7c]
cmp r8d, dword [rbx + 0x38]
jle 0x14016d6ae
mov dword [rbx + 0x38], r8d
mov r8d, dword [rsp + 0x64]
mov r9, rcx
mov rcx, rbx
mov dword [rsp + 0x20], 0x60
xor edx, edx
call fcn.140169d88
mov r8, qword [rbp - 0x80]
mov rcx, r14
mov edx, dword [rsp + 0x60]
mov r8, qword [r8]
call fcn.1401802f4
mov rax, qword [rbp - 0x80]
mov ecx, esi
mov rax, qword [rax + 0x20]
jmp 0x14016d7aa
mov rdx, qword [rax + 0x10]
mov r8, rdi
mov rcx, r13
call fcn.140158be8
xor ecx, ecx
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14016d79c
mov r8d, dword [rax + 0x38]
xor r9d, r9d
mov edx, dword [rsp + 0x64]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rax]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.140174f04
mov r8, qword [rbp - 0x48]
lea r9, [rbp - 0x40]
mov rdx, qword [rbp - 0x58]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140159f04
test eax, eax
jne 0x14016f5d7
mov rcx, qword [rbp - 0x40]
test rcx, rcx
jne 0x14016d772
mov r9, qword [rbp - 0x58]
mov rcx, rbx
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x20], 0x60
call fcn.140169d88
jmp 0x14016d79c
mov r9d, dword [rcx + 0x58]
mov edx, 0x60
mov eax, dword [rsp + 0x64]
mov rcx, r14
mov r8d, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.140178330
mov rdx, qword [rbp - 0x40]
mov rcx, rbx
call fcn.1401823e8
mov rax, qword [rbp - 0x48]
mov ecx, dword [rsp + 0x78]
add ecx, esi
mov rax, qword [rax + 8]
xor edx, edx
mov qword [rbp - 0x48], rax
mov dword [rsp + 0x78], ecx
test rax, rax
jne 0x14016d6ea
cmp dword [rbx + 0x34], ecx
jge 0x14016d7c5
mov dword [rbx + 0x34], ecx
xor r9d, r9d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.140178330
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x80]
mov dword [rbp - 0x70], esi
mov rcx, qword [rax + 0x20]
xor eax, eax
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14016da4b
mov eax, dword [rsp + 0x60]
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x70]
lea ecx, [rax + 1]
add eax, 2
mov dword [rbp - 0x28], eax
mov dword [rsp + 0x68], ecx
mov rdx, qword [r12 + 0x10]
mov r8, rdi
mov rcx, r13
call fcn.140158be8
xor r8d, r8d
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x48], r8
test rax, rax
je 0x14016d856
lea rcx, [rbp - 0x48]
mov r8, r12
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x40]
mov rcx, rbx
mov rdx, rax
call fcn.140159f04
xor r8d, r8d
dec dword [rbx + 0x44]
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + 0x28]
mov dword [rbp - 0x5c], eax
test eax, eax
jle 0x14016d900
mov r13, qword [rbp - 0x48]
lea rdi, [r12 + 0x40]
mov ebx, dword [rsp + 0x7c]
mov rdx, r13
mov qword [rbp - 0x58], rdx
test r13, r13
mov dword [rsp + 0x20], ebx
mov rax, rdi
mov rcx, r14
cmovne rax, rdx
xor r8d, r8d
mov rdx, r15
mov r9d, dword [rax]
call fcn.140154f70
mov r9d, dword [rsp + 0x78]
xor eax, eax
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x32]
call fcn.140178330
mov rdx, qword [rbp - 0x58]
add rdi, 0x10
mov ecx, dword [rsp + 0x7c]
add ebx, esi
mov qword [rsp + 0x70], rdi
add rdx, 4
mov edi, dword [r12 + 0x28]
mov eax, ebx
sub eax, ecx
mov dword [rbp - 0x5c], edi
cmp eax, edi
mov qword [rbp - 0x58], rdx
mov rdi, qword [rsp + 0x70]
mov r8d, 0
jl 0x14016d884
mov r13, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp - 0x20]
jmp 0x14016d904
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x14016d970
mov rcx, r13
call fcn.14016677c
mov r9d, dword [r12 + 0x28]
mov rbx, rax
mov eax, dword [rbp - 0x60]
mov edx, 0x5b
mov r8d, dword [rsp + 0x7c]
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140178330
mov r9d, dword [rbp - 0x5c]
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.1401786a8
mov r9d, dword [rsp + 0x78]
xor eax, eax
mov r8d, dword [rbp - 0x70]
mov edx, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, r14
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x20], eax
call fcn.140178444
mov rbx, qword [rbp - 0x10]
jmp 0x14016d9af
cmp qword [rbp - 0x38], r8
je 0x14016d9b2
mov r9d, dword [r14 + 0x90]
mov edx, 0x1f
mov r8d, dword [rbp - 0x70]
add r9d, 2
mov dword [rsp + 0x20], ecx
mov rcx, r14
call fcn.140178330
mov r9d, dword [rsp + 0x78]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xb]
call fcn.140178330
xor r8d, r8d
mov eax, dword [r15 + 0x40]
mov rcx, r14
mov r9d, dword [rsp + 0x68]
and al, 0x80
neg al
mov dword [rsp + 0x20], r8d
sbb edx, edx
xor r8d, r8d
and edx, 0xffffffc9
add edx, 0x7f
call fcn.140178330
mov eax, dword [rbp - 0x70]
lea r8, [0x1402230e4]
mov r9, qword [r12 + 0x10]
dec eax
mov edx, dword [rbp - 0x28]
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401817c0
mov r8d, dword [rsp + 0x60]
xor eax, eax
mov rcx, r14
mov dword [rsp + 0x20], eax
lea r9d, [rax + 4]
lea edx, [rax + 0x50]
call fcn.140178330
mov edx, dword [rsp + 0x78]
mov rcx, r14
call fcn.140182144
mov rdx, qword [rbp - 0x48]
xor eax, eax
test rdx, rdx
je 0x14016da32
mov rcx, r13
call fcn.140152380
xor eax, eax
add dword [rbp - 0x70], esi
mov r12, qword [r12 + 8]
test r12, r12
jne 0x14016d814
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp - 0x78]
mov r9d, dword [rsp + 0x64]
xor r8d, r8d
inc r9d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [r8 + 5]
call fcn.140178330
mov edx, dword [rsp + 0x64]
mov rcx, r14
call fcn.14017fa44
mov ecx, dword [r14 + 0x90]
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
mov dword [rax + 8], ecx
test rdx, rdx
je 0x14016f5d7
jmp 0x14016d5ce
mov r12, rdi
test r15, r15
jne 0x14016dacc
mov rcx, rbx
call fcn.14016fb94
test eax, eax
jne 0x14016f5d7
mov rax, qword [rbx]
movzx ecx, byte [rax + 0x5e]
lea rax, str.UTF8
add rcx, rcx
mov r8, qword [rax + rcx*8]
test r8, r8
je 0x14016f5d7
jmp 0x14016edf8
mov eax, 0x40
test byte [r13 + 0x2c], al
jne 0x14016f5d7
mov rax, qword [str.UTF8]
lea rsi, str.UTF8
jmp 0x14016db01
mov rdx, rax
mov rcx, r15
call fcn.140174cfc
test eax, eax
je 0x14016db08
add rsi, 0x10
mov rax, qword [rsi]
test rax, rax
jne 0x14016daeb
jmp 0x14016db34
movzx eax, byte [rsi + 8]
mov edx, 2
test al, al
cmovne edx, eax
mov rax, qword [r13 + 0x20]
mov rcx, qword [rax + 0x18]
mov byte [rcx + 0x71], dl
mov rcx, r13
call fcn.140173cac
xor eax, eax
cmp qword [rsi], rax
jne 0x14016f5d7
mov r8, r15
lea rdx, str.unsupported_encoding:__s
mov rcx, rbx
call fcn.140154378
jmp 0x14016f5d7
mov esi, dword [rsp + 0x64]
mov rcx, r14
mov edx, esi
call fcn.140182e14
xor eax, eax
test r15, r15
jne 0x14016db8b
add dword [rbx + 0x38], r12d
lea r8, [0x140219838]
xor r9d, r9d
lea edx, [rax + 9]
call fcn.140178488
mov dword [rax + 4], esi
mov dword [rax + 0x1c], esi
mov dword [rax + 0x94], 0xfffff830
jmp 0x14016f5d4
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.1401655d4
mov r12d, dword [rsp + 0x60]
test r12d, r12d
jns 0x14016dbba
cmp r12d, 0x80000000
jne 0x14016dbb7
mov r12d, 0x7fffffff
jmp 0x14016dbba
neg r12d
mov r8d, esi
xor edx, edx
mov rcx, rbx
call fcn.14014b9d4
mov r9d, 3
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov rcx, r14
lea edx, [r9 + 0x5b]
call fcn.140178330
mov r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
mov rax, qword [r8 + rcx + 0x18]
mov dword [rax + 0x74], r12d
mov rax, qword [r8 + rcx + 0x18]
mov rcx, qword [r8 + rcx + 8]
jmp 0x14016c9f6
movzx eax, byte [rdi]
lea rcx, [0x140000000]
mov r12d, dword [rsp + 0x64]
xor edx, edx
mov qword [rbp + 8], rdx
mov al, byte [rax + rcx + 0x217820]
mov rcx, qword [rbp - 0x40]
lea r8d, [rdx + 0x64]
mov byte [rbp - 0x28], al
or rax, 0xffffffffffffffff
mov dword [rsp + 0x78], r8d
cmp qword [rcx], rdx
mov dword [rbx + 0x38], 6
cmove r12d, eax
mov dword [rsp + 0x64], r12d
test r15, r15
je 0x14016dca0
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.1401655d4
xor edx, edx
test eax, eax
je 0x14016dc71
mov r8d, dword [rsp + 0x78]
test r8d, r8d
jg 0x14016dca0
lea r8d, [rdx + 0x64]
mov dword [rsp + 0x78], r8d
jmp 0x14016dca0
test r12d, r12d
js 0x14016dc87
mov rax, qword [r13 + 0x20]
movsxd rcx, r12d
shl rcx, 5
mov r9, qword [rcx + rax]
jmp 0x14016dc8a
mov r9, rdx
mov r8, r15
mov rcx, rbx
call fcn.14016914c
mov r8d, dword [rsp + 0x78]
xor edx, edx
mov qword [rbp + 8], rax
mov dword [rsp + 0x20], edx
dec r8d
mov edx, 0x45
mov r9d, esi
mov rcx, r14
call fcn.140178330
xor r11d, r11d
mov r12, rdi
mov ecx, r11d
mov dword [rbp - 0x70], ecx
cmp dword [r13 + 0x28], r11d
jle 0x14016e735
mov eax, dword [rsp + 0x64]
mov qword [rbp - 0x78], rdi
mov edi, 0x80
mov r15d, r11d
test eax, eax
js 0x14016dce9
cmp ecx, eax
jne 0x14016e71e
mov edx, ecx
mov rcx, rbx
call fcn.1401501dc
movsxd r12, dword [rbp - 0x70]
xor r11d, r11d
mov rax, qword [r13 + 0x20]
mov ecx, r11d
shl r12, 5
mov rax, qword [r12 + rax + 0x18]
mov qword [rbp - 0x58], rax
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x14016e717
mov r10, qword [rbp + 8]
mov r9, qword [rdx + 0x10]
test r10, r10
je 0x14016dd2d
cmp r10, r9
jne 0x14016dd57
test byte [r9 + 0x40], dil
lea eax, [rcx + 1]
mov r8d, r11d
cmovne eax, ecx
mov ecx, eax
mov rax, qword [r9 + 0x10]
jmp 0x14016dd4b
mov rax, qword [rax + 0x28]
add ecx, esi
add r8d, esi
test rax, rax
jne 0x14016dd42
cmp r8d, r15d
cmovg r15d, r8d
mov rdx, qword [rdx]
test rdx, rdx
jne 0x14016dd1f
test ecx, ecx
je 0x14016e717
lea eax, [rcx + 1]
test r10, r10
cmove eax, ecx
mov rcx, r13
movsxd rdx, eax
lea rdx, [rdx*4 + 4]
call fcn.140152438
xor r11d, r11d
mov rdi, rax
test rax, rax
je 0x14016e72d
mov r10, qword [rbp + 8]
mov r9d, r11d
mov ecx, r11d
test r10, r10
je 0x14016ddab
mov r9d, esi
mov dword [rax + 4], r11d
mov rcx, rsi
mov r8, qword [rbp - 0x58]
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x14016ddff
mov rdx, qword [r8 + 0x10]
test r10, r10
je 0x14016ddc6
cmp r10, rdx
jne 0x14016ddf3
test byte [rdx + 0x40], 0x80
jne 0x14016ddd8
mov eax, dword [rdx + 0x38]
add r9d, esi
add rcx, rsi
mov dword [rdi + rcx*4], eax
mov rdx, qword [rdx + 0x10]
jmp 0x14016ddee
mov eax, dword [rdx + 0x58]
add r9d, esi
add rcx, rsi
mov dword [rdi + rcx*4], eax
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x14016ddde
mov r8, qword [r8]
test r8, r8
jne 0x14016ddb8
mov r14, qword [rbp - 0x48]
mov dword [rdi], r9d
lea ecx, [r15 + 8]
mov eax, dword [rbx + 0x38]
mov r15d, 2
cmp eax, ecx
mov byte [rbx + 0x1f], r11b
mov r8d, r15d
mov dword [rbx + 0x28], r11d
cmovle eax, ecx
mov dword [rsp + 0x20], esi
mov rcx, r14
mov dword [rbx + 0x38], eax
mov edx, 0x92
call fcn.140178330
lea r9d, [r15 - 0x11]
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.1401786a8
movsxd rax, dword [r14 + 0x90]
xor r8d, r8d
test eax, eax
jle 0x14016de66
movzx edx, byte [rbp - 0x70]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r15d
mov rcx, r14
lea edx, [r9 + 0x32]
call fcn.140178330
mov r8, qword [r13 + 0x20]
lea rdx, str._in_database__s__n
mov rcx, r13
mov edi, eax
mov r8, qword [r12 + r8]
call fcn.1401695e8
mov rbx, rax
xor r8d, r8d
xor eax, eax
mov rcx, r14
mov dword [rsp + 0x20], eax
lea r15d, [rax + 3]
mov r9d, r15d
lea edx, [rax + 0x73]
call fcn.140178330
lea r9d, [r15 - 0xa]
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.1401786a8
lea ebx, [r15 - 1]
mov dword [rsp + 0x20], r15d
mov r8d, ebx
lea edx, [rbx + 0x6c]
mov r9d, r15d
mov rcx, r14
call fcn.140178330
mov rcx, r14
call fcn.1401331ac
mov edx, edi
mov rcx, r14
call fcn.14017fa44
mov ecx, dword [r14 + 0x90]
xor r11d, r11d
mov dword [rax + 8], ecx
mov rax, qword [rbp - 0x58]
mov r12, qword [rax + 0x10]
mov qword [rsp + 0x70], r12
test r12, r12
je 0x14016e70e
mov r12, qword [r12 + 0x10]
or dword [rbp - 0x60], 0xffffffff
mov qword [rbp - 0x58], r12
mov qword [rbp], r11
cmp dword [r12 + 0x38], esi
jb 0x14016e700
mov r10, qword [rbp + 8]
test r10, r10
je 0x14016df42
cmp r10, r12
jne 0x14016e700
test byte [r12 + 0x40], 0x80
jne 0x14016df50
mov qword [rbp - 0x18], r11
jmp 0x14016df75
mov rcx, qword [r12 + 0x10]
mov qword [rbp - 0x18], rcx
test rcx, rcx
je 0x14016df75
mov eax, dword [rcx + 0x64]
and al, r15b
cmp al, bl
je 0x14016df71
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14016df5e
mov qword [rbp - 0x18], rcx
mov rdi, qword [rbp - 0x10]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rbp - 0x5c]
mov rdx, r12
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov qword [rsp + 0x28], r11
lea r8d, [r9 + 0x60]
mov dword [rsp + 0x20], esi
call fcn.140169e50
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea r9d, [rax + 7]
lea edx, [rax + 0x45]
call fcn.140178330
mov rbx, qword [r12 + 0x10]
xor eax, eax
test rbx, rbx
je 0x14016dffd
xor edi, edi
lea r13d, [rax + 8]
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r13d
mov rcx, r14
lea edx, [r8 + 0x45]
call fcn.140178330
mov rbx, qword [rbx + 0x28]
add r13d, esi
test rbx, rbx
jne 0x14016dfd1
mov r13, qword [rbp - 0x50]
xor eax, eax
mov rdi, qword [rbp - 0x10]
mov ebx, dword [rbp - 0x5c]
xor r9d, r9d
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [r9 + 0x25]
call fcn.140178330
xor eax, eax
mov r9d, esi
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x52]
lea r8d, [rax + 7]
call fcn.140178330
cmp byte [rbp - 0x28], 0x71
mov dword [rbp - 0x80], eax
je 0x14016e07a
movsx r9d, word [r12 + 0x48]
mov r8d, ebx
sub r9d, esi
mov dword [rsp + 0x20], r15d
mov edx, 0x59
mov rcx, r14
call fcn.140178330
movsxd rcx, dword [r14 + 0x90]
xor r9d, r9d
test ecx, ecx
jle 0x14016e07d
mov rax, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
mov edx, 0x80
mov word [rax + rcx*8 - 0x16], dx
jmp 0x14016e07d
xor r9d, r9d
mov ecx, r9d
mov dword [rsp + 0x60], ecx
cmp r9w, word [r12 + 0x46]
jge 0x14016e1a8
mov rbx, r9
mov qword [rbp - 0x68], rbx
movsx eax, word [r12 + 0x44]
cmp ecx, eax
je 0x14016e185
mov rax, qword [r12 + 8]
cmp byte [rbx + rax + 0x18], r9b
je 0x14016e185
mov r8d, dword [rbp - 0x5c]
mov r9d, ecx
mov rcx, r14
mov dword [rsp + 0x20], r15d
mov rdx, r12
call fcn.140154f70
or edx, 0xffffffff
mov rcx, r14
call fcn.14017fa44
cmp byte [rax], 0x59
jne 0x14016e0fc
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x14016e0fc
lea rcx, [rax + rax*2]
mov edx, 0x80
mov rax, qword [r14 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x33]
call fcn.140178330
mov r9, qword [r12 + 8]
lea rdx, str.NULL_value_in__s._s
mov r8, qword [r12]
mov rcx, r13
mov edi, eax
mov r9, qword [rbx + r9]
call fcn.1401695e8
mov rbx, rax
mov r9d, r15d
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x73]
call fcn.140178330
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.1401786a8
mov rcx, r14
call fcn.1401331ac
mov edx, edi
mov rcx, r14
call fcn.14017fa44
mov ecx, dword [r14 + 0x90]
xor r9d, r9d
mov rbx, qword [rbp - 0x68]
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0x60]
movsx eax, word [r12 + 0x46]
add ecx, esi
add rbx, 0x20
mov dword [rsp + 0x60], ecx
mov qword [rbp - 0x68], rbx
cmp ecx, eax
jl 0x14016e097
mov rdi, qword [rbp - 0x10]
mov ebx, dword [rbp - 0x5c]
mov rdx, qword [r12 + 0x30]
test rdx, rdx
je 0x14016e2dc
mov eax, dword [r13 + 0x30]
bt rax, 9
jb 0x14016e2dc
xor r8d, r8d
mov rcx, r13
call fcn.140157e28
xor r9d, r9d
mov qword [rbp - 0x68], rax
mov rdx, rax
cmp byte [r13 + 0x61], r9b
jne 0x14016e2cc
mov eax, dword [rdi + 0x44]
lea ecx, [rbx + 1]
dec eax
mov dword [rdi + 0x40], ecx
mov dword [rsp + 0x60], eax
dec eax
mov dword [rdi + 0x44], eax
mov ecx, dword [rdx]
sub ecx, esi
mov dword [rsp + 0x7c], eax
movsxd rbx, ecx
test ecx, ecx
jle 0x14016e24b
mov r12d, dword [rsp + 0x60]
mov r14, rbx
shl r14, 5
add r14, 8
add r14, rdx
mov rdx, qword [r14]
xor r9d, r9d
mov r8d, r12d
mov rcx, rdi
call fcn.1401572f8
sub rbx, rsi
lea r14, [r14 - 0x20]
test rbx, rbx
jg 0x14016e21a
mov r14, qword [rbp - 0x48]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x68]
mov eax, dword [rsp + 0x7c]
mov rdx, qword [rdx + 8]
mov r9d, 0x10
mov r8d, eax
mov rcx, rdi
call fcn.1401576a8
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.140182144
xor eax, eax
lea rdx, str.CHECK_constraint_failed_in__s
mov dword [rdi + 0x40], eax
mov rcx, r13
mov r8, qword [r12]
call fcn.1401695e8
mov rbx, rax
mov r9d, r15d
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x73]
call fcn.140178330
mov r9d, 0xfffffff9
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.1401786a8
mov rcx, r14
call fcn.1401331ac
mov edx, dword [rsp + 0x7c]
mov rcx, r14
call fcn.140182144
mov rdx, qword [rbp - 0x68]
xor r9d, r9d
test rdx, rdx
je 0x14016e2dc
mov rcx, r13
call fcn.14010e2d8
xor r9d, r9d
cmp byte [rbp - 0x28], 0x71
je 0x14016e5cb
mov rbx, qword [r12 + 0x10]
mov qword [rbp - 0x68], rbx
test rbx, rbx
je 0x14016e5cb
mov eax, dword [rsp + 0x68]
mov r15d, 2
mov r13, qword [rbp - 0x58]
mov ecx, 8
sub ecx, eax
mov dword [rsp + 0x7c], eax
mov dword [rbp + 0x10], ecx
lea r12d, [r15 + 1]
mov eax, dword [rdi + 0x44]
sub eax, esi
mov dword [rsp + 0x60], eax
mov dword [rdi + 0x44], eax
cmp qword [rbp - 0x18], rbx
je 0x14016e5ab
mov eax, dword [rbp - 0x60]
mov rdx, rbx
mov r8d, dword [rbp - 0x5c]
mov rcx, rdi
mov dword [rsp + 0x38], eax
mov rax, qword [rbp]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
xor r9d, r9d
call fcn.140164d94
mov r8d, dword [rsp + 0x7c]
mov r9d, esi
add r8d, dword [rbp + 0x10]
mov rcx, r14
mov dword [rbp - 0x60], eax
xor eax, eax
mov qword [rbp], rbx
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x52]
call fcn.140178330
movzx ecx, word [rbx + 0x60]
mov edx, 0x1e
mov eax, dword [rbp - 0x60]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x7c]
mov dword [rsp + 0x28], ecx
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.140178444
lea r8, str.row
mov edx, r12d
mov rcx, r14
mov ebx, eax
call fcn.1401802f4
mov edx, 0x6e
mov dword [rsp + 0x20], r12d
mov r9d, r12d
mov rcx, r14
lea r8d, [rdx - 0x67]
call fcn.140178330
lea r8, str._missing_from_index
mov edx, 4
mov rcx, r14
call fcn.1401802f4
mov edx, 0x6e
mov dword [rsp + 0x20], r12d
mov r9d, r12d
mov rcx, r14
lea r8d, [rdx - 0x6a]
call fcn.140178330
mov r8, qword [rbp - 0x68]
mov edx, 4
mov rcx, r14
mov r8, qword [r8]
call fcn.1401802f4
mov edx, 0x6e
mov dword [rbp - 8], eax
mov r9d, r12d
mov dword [rsp + 0x20], r12d
mov rcx, r14
lea r8d, [rdx - 0x6a]
call fcn.140178330
mov rcx, r14
call fcn.1401331ac
mov edx, ebx
mov dword [rbp - 0x40], eax
mov rcx, r14
call fcn.14017fa44
mov rbx, qword [rbp - 0x68]
xor r9d, r9d
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
cmp byte [rbx + 0x62], r9b
je 0x14016e583
dec dword [rdi + 0x44]
mov edx, dword [rdi + 0x44]
mov dword [rsp + 0x60], edx
cmp r9w, word [rbx + 0x5e]
jae 0x14016e4d8
mov ecx, r9d
mov edi, r9d
mov qword [rbp - 0x38], rcx
mov rax, qword [rbx + 8]
cmp word [rcx + rax], r9w
jl 0x14016e49c
movsx rcx, word [rcx + rax]
mov rax, qword [r13 + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x18], r9b
jne 0x14016e4bf
mov r8d, dword [rbp - 0x60]
mov rcx, r14
mov dword [rsp + 0x20], r9d
add r8d, edi
mov r9d, edx
mov edx, 0x32
call fcn.140178330
mov edx, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, qword [rbp - 0x38]
add edi, esi
movzx eax, word [rbx + 0x5e]
add rcx, r15
mov qword [rbp - 0x38], rcx
cmp edi, eax
jl 0x14016e47d
mov rdi, qword [rbp - 0x10]
mov r8d, dword [rsp + 0x7c]
mov rcx, r14
mov dword [rsp + 0x20], r9d
xor r9d, r9d
lea edx, [r9 + 5]
call fcn.140178330
mov r9d, dword [rsp + 0x60]
mov ebx, eax
xor eax, eax
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0xb]
call fcn.140178330
mov edx, ebx
mov rcx, r14
call fcn.14017fa44
mov ecx, dword [r14 + 0x90]
mov edx, 0x27
mov rbx, qword [rbp - 0x68]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x7c]
mov dword [rax + 8], ecx
mov rcx, r14
movzx eax, word [rbx + 0x5e]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x20], eax
call fcn.140178444
lea r8, str.non_unique_entry_in_index
mov edx, r12d
mov rcx, r14
call fcn.1401802f4
mov r9d, dword [rbp - 8]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xb]
call fcn.140178330
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.140182144
xor r9d, r9d
mov edx, dword [rbp - 0x40]
mov rcx, r14
call fcn.14017fa44
mov edx, dword [rbp - 0x20]
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
test edx, edx
je 0x14016e5ab
mov rcx, qword [rdi + 0x10]
call fcn.140182144
xor r9d, r9d
mov rbx, qword [rbx + 0x28]
add dword [rsp + 0x7c], esi
mov qword [rbp - 0x68], rbx
test rbx, rbx
jne 0x14016e318
mov r13, qword [rbp - 0x50]
mov r15, r12
mov r12, qword [rbp - 0x58]
mov ebx, dword [rbp - 0x80]
mov edx, 5
mov r8d, dword [rbp - 0x5c]
mov rcx, r14
mov dword [rsp + 0x20], r9d
mov r9d, ebx
call fcn.140178330
lea edx, [rbx - 1]
mov rcx, r14
call fcn.14017fa44
cmp byte [rbp - 0x28], 0x71
mov ebx, 2
mov ecx, dword [r14 + 0x90]
mov dword [rax + 8], ecx
je 0x14016e6fd
lea r8, str.wrong__of_entries_in_index
mov edx, ebx
mov rcx, r14
call fcn.1401802f4
mov rdi, qword [r12 + 0x10]
xor r11d, r11d
test rdi, rdi
je 0x14016e700
mov r13d, dword [rsp + 0x68]
lea r12d, [rbx + 6]
mov rax, qword [rbp - 0x18]
add r13d, 0xfffffff8
cmp rax, rdi
je 0x14016e6e7
lea r8d, [r12 + r13]
mov dword [rsp + 0x20], r11d
mov r9d, r15d
mov edx, 0x5c
mov rcx, r14
call fcn.140178330
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x35]
call fcn.140178330
movsxd rcx, dword [r14 + 0x90]
mov dword [rbp - 0x80], eax
test ecx, ecx
jle 0x14016e69a
lea rdx, [rcx + rcx*2]
mov eax, 0x90
mov rcx, qword [r14 + 0x88]
mov word [rcx + rdx*8 - 0x16], ax
mov r8, qword [rdi]
mov edx, 4
mov rcx, r14
call fcn.1401802f4
mov edx, 0x6e
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov rcx, r14
lea r8d, [rdx - 0x6a]
call fcn.140178330
mov rcx, r14
call fcn.1401331ac
mov edx, dword [rbp - 0x80]
mov rcx, r14
call fcn.14017fa44
mov ecx, dword [r14 + 0x90]
xor r11d, r11d
mov dword [rax + 8], ecx
mov rax, qword [rbp - 0x18]
mov rdi, qword [rdi + 0x28]
add r12d, esi
test rdi, rdi
jne 0x14016e63e
mov r13, qword [rbp - 0x50]
jmp 0x14016e700
xor r11d, r11d
mov r12, qword [rsp + 0x70]
mov r12, qword [r12]
jmp 0x14016df06
mov rbx, qword [rbp - 0x10]
mov edi, 0x80
mov ecx, dword [rbp - 0x70]
mov eax, dword [rsp + 0x64]
add ecx, esi
mov dword [rbp - 0x70], ecx
cmp ecx, dword [r13 + 0x28]
jl 0x14016dcda
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp - 0x78]
xor r9d, r9d
lea r8, [0x140219cf8]
mov rcx, r14
lea edx, [r9 + 7]
call fcn.140178488
xor r10d, r10d
mov r9, rax
test rax, rax
je 0x14016e783
sub esi, dword [rsp + 0x78]
lea rcx, [0x140223198]
mov dword [rax + 8], esi
or rax, 0xffffffffffffffff
mov qword [r9 + 0x40], rcx
mov byte [r9 + 0x31], al
mov byte [r9 + 0x79], al
lea ecx, [rax + 0xc]
call fcn.1401542d0
mov qword [r9 + 0x88], rax
mov rax, qword [r14]
mov ecx, dword [r14 + 0x90]
sub ecx, 2
cmp byte [rax + 0x61], r10b
lea rax, [0x140251aa0]
jne 0x14016e7a4
mov rax, qword [r14 + 0x88]
mov dword [rax + 0xc], ecx
jmp 0x14016f5d7
cmp ecx, 0x21
ja 0x14016f07a
je 0x14016efcc
sub ecx, 0x17
je 0x14016ee8f
sub ecx, esi
je 0x14016ee20
sub ecx, r12d
je 0x14016ecec
sub ecx, esi
je 0x14016ec58
sub ecx, esi
je 0x14016eb20
sub ecx, esi
je 0x14016eae4
sub ecx, esi
je 0x14016e89d
sub ecx, esi
je 0x14016e834
cmp ecx, esi
jne 0x14016f0bf
lea rbx, str.analysis_limit
mov r12, rdi
mov r9, qword [rbx]
lea r8, [0x140223024]
mov edx, esi
mov rcx, r14
call fcn.1401817c0
lea rax, str.sqlite_stat1
add rbx, 0x18
cmp rbx, rax
jl 0x14016e80b
jmp 0x14016f5d7
mov rax, qword [rbp - 0x80]
mov r8, qword [rbp - 0x78]
mov rbx, qword [r8 + rax + 8]
xor eax, eax
test r15, r15
jne 0x14016e860
test rbx, rbx
je 0x14016e856
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0x34]
jmp 0x14016e858
mov ecx, eax
movsxd rdx, ecx
jmp 0x14016c9ba
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], eax
mov rcx, r15
call fcn.1401655d4
mov edx, dword [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov dword [r13 + 0x6c], edx
mov rcx, rbx
call fcn.14014ec30
cmp eax, 7
jne 0x14016f5d4
mov rcx, r13
call fcn.140169d44
jmp 0x14016f5d4
xor r8d, r8d
test r15, r15
je 0x14016e8d0
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], r8d
mov rcx, r15
call fcn.1401655d4
mov ecx, dword [rsp + 0x68]
mov r12, rdi
mov dword [rsp + 0x60], ecx
test cl, 2
je 0x14016f5d7
xor r8d, r8d
jmp 0x14016e8d8
mov dword [rsp + 0x60], 0xfffe
mov eax, dword [rbx + 0x34]
mov dword [rsp + 0x68], eax
inc eax
mov dword [rbx + 0x34], eax
cmp qword [rbp - 0x20], r8
je 0x14016e8f0
mov eax, dword [rsp + 0x64]
jmp 0x14016e8f6
mov eax, dword [r13 + 0x28]
sub eax, esi
mov rdx, qword [rsp + 0x70]
mov r12, rdi
cdqe
cmp rdx, rax
jg 0x14016eacf
mov rcx, rdx
mov qword [rbp - 0x78], rdi
mov edi, dword [rsp + 0x64]
sub rax, rdx
shl rcx, 5
add rax, rsi
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x58], rax
cmp edi, esi
je 0x14016eab0
mov edx, edi
mov rcx, rbx
call fcn.1401501dc
mov rax, qword [r13 + 0x20]
xor r8d, r8d
mov r15, qword [rbp - 0x68]
mov rcx, qword [r15 + rax + 0x18]
mov r12, qword [rcx + 0x10]
test r12, r12
je 0x14016eaa9
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x70], rcx
test dword [rcx + 0x40], 0x100
je 0x14016eaa0
movzx edx, word [rcx + 0x4a]
mov rax, qword [rcx + 0x10]
add dx, 0x2e
mov word [rbp - 0x28], dx
jmp 0x14016e988
test byte [rax + 0x64], 0x80
je 0x14016e9de
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14016e97e
test dx, dx
je 0x14016e9de
mov edx, dword [rsp + 0x68]
mov r9, rcx
mov rcx, rbx
mov dword [rsp + 0x20], 0x60
mov r8d, edi
call fcn.140169d88
movsx edx, word [rbp - 0x28]
mov rcx, r14
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x68]
and r9d, esi
add r9d, 2
mov dword [rsp + 0x20], edx
add r9d, dword [r14 + 0x90]
mov edx, 0x22
call fcn.140178330
mov rcx, qword [rsp + 0x70]
mov r8, qword [r13 + 0x20]
lea rdx, str.ANALYZE___w_.__w_
mov r9, qword [rcx]
mov rcx, r13
mov r8, qword [r15 + r8]
call fcn.1401695e8
mov qword [rsp + 0x70], rax
test byte [rsp + 0x60], sil
je 0x14016ea6f
mov cl, byte [rbx + 0x1f]
xor edx, edx
test cl, cl
jne 0x14016ea15
add dword [rbx + 0x38], esi
mov eax, dword [rbx + 0x38]
jmp 0x14016ea25
sub cl, sil
movzx eax, cl
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0xd4]
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, eax
mov dword [rsp + 0x78], eax
mov rcx, r14
lea edx, [r8 + 0x73]
call fcn.140178330
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffff9
mov edx, eax
mov rcx, r14
call fcn.1401786a8
mov r8d, dword [rsp + 0x78]
xor eax, eax
mov r9d, esi
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x50]
call fcn.140178330
jmp 0x14016ea9d
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x8c
mov rcx, r14
call fcn.140178330
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffff9
mov edx, eax
mov rcx, r14
call fcn.1401786a8
xor r8d, r8d
mov r12, qword [r12]
jmp 0x14016e94c
mov rax, qword [rbp - 0x58]
mov rcx, r15
add rcx, 0x20
add edi, esi
sub rax, rsi
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x58], rax
jne 0x14016e926
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp - 0x78]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
xor r8d, r8d
mov edx, 0x9e
jmp 0x14016ee13
mov dword [rbx + 0x38], esi
mov r12, rdi
mov rbx, qword [r13 + 0x200]
test rbx, rbx
je 0x14016f5d7
mov r9, qword [rbx + 0x10]
lea r8, [0x140223024]
mov edx, esi
mov rcx, r14
mov r9, qword [r9 + 8]
call fcn.1401817c0
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14016eafa
jmp 0x14016f534
or rax, 0xffffffffffffffff
mov r12, rdi
test r15, r15
je 0x14016ec1d
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.1401526f4
mov rdx, qword [rbp - 0x50]
xor r9d, r9d
mov rcx, qword [rbp - 0x40]
test rdx, rdx
cmovs rdx, qword [0x14024c328]
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x50], rdx
cmp dword [rcx + 8], r9d
jne 0x14016eb64
mov qword [r13 + 0x40], rdx
mov eax, dword [r13 + 0x28]
sub eax, esi
movsxd r8, eax
mov qword [rbp - 0x48], r8
js 0x14016ec19
mov rdi, qword [rsp + 0x70]
mov r15, r8
shl r15, 5
mov rax, qword [r13 + 0x20]
mov rbx, qword [r15 + rax + 8]
test rbx, rbx
je 0x14016ebfd
cmp r8, rdi
je 0x14016eb9c
cmp dword [rcx + 8], r9d
jne 0x14016ebfd
mov rax, qword [rbx + 8]
mov qword [rsp + 0x70], rax
cmp byte [rbx + 0x11], r9b
je 0x14016ebc5
add dword [rbx + 0x14], esi
cmp byte [rbx + 0x12], r9b
jne 0x14016ebc5
mov rcx, rbx
call fcn.140105408
mov rdx, qword [rbp - 0x58]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov qword [rcx + 0xa0], rdx
call fcn.14013b3d4
xor r9d, r9d
cmp byte [rbx + 0x11], r9b
je 0x14016ebed
sub dword [rbx + 0x14], esi
jne 0x14016ebed
mov rcx, rbx
call fcn.14018c438
xor r9d, r9d
mov rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x58], rdx
sub r8, rsi
sub r15, 0x20
mov qword [rbp - 0x48], r8
test r8, r8
jns 0x14016eb83
mov r15, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x10]
or rax, 0xffffffffffffffff
mov rdx, qword [rbp - 0x20]
lea r9, [rbp - 0x50]
mov r8d, 0x12
mov qword [rbp - 0x50], rax
mov rcx, r13
call fcn.1400f9f68
test eax, eax
jne 0x14016ec44
mov rdx, qword [rbp - 0x50]
jmp 0x14016f06d
cmp eax, 0xc
je 0x14016f5d7
add dword [rbx + 0x30], esi
mov dword [rbx + 0x18], eax
jmp 0x14016f5d7
mov r12d, dword [rsp + 0x64]
xor eax, eax
mov edx, r12d
mov qword [rbp - 0x18], rax
mov rcx, rbx
call fcn.1401501dc
add dword [rbx + 0x38], esi
lea rcx, [0x140000000]
movzx eax, byte [rdi]
mov ebx, dword [rbx + 0x38]
cmp byte [rax + rcx + 0x217820], 0x70
jne 0x14016ec91
xor eax, eax
mov edx, 0xa8
jmp 0x14016ecc9
xor ecx, ecx
test r15, r15
je 0x14016ecbd
lea rdx, [rbp - 0x18]
mov rcx, r15
call fcn.1401526f4
xor ecx, ecx
test eax, eax
jne 0x14016ecbd
mov rax, qword [rbp - 0x18]
test rax, rax
js 0x14016ecbd
mov ecx, 0xfffffffe
cmp rax, rcx
jle 0x14016ecc4
mov rax, rcx
mov qword [rbp - 0x18], rcx
mov edx, 0xa9
mov r9d, ebx
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, r14
call fcn.140178330
xor eax, eax
mov r9d, esi
mov dword [rsp + 0x20], eax
mov r8d, ebx
jmp 0x14016cd34
or r11, 0xffffffffffffffff
lea rbx, str.exclusive
test r15, r15
je 0x14016ed29
mov rdx, rbx
mov rcx, r15
call fcn.140174cfc
xor r10d, r10d
test eax, eax
jne 0x14016ed13
mov r9d, esi
jmp 0x14016ed2f
lea rdx, str.normal
mov rcx, r15
call fcn.140174cfc
xor r9d, r9d
test eax, eax
je 0x14016ed2c
mov r9d, r11d
xor r10d, r10d
mov rax, qword [rbp - 0x40]
cmp dword [rax + 8], r10d
jne 0x14016eda5
cmp r9d, r11d
jne 0x14016ed4a
mov al, byte [r13 + 0x63]
mov r12, rdi
jmp 0x14016ede7
mov r10d, r12d
mov r12, rdi
mov edx, r10d
cmp dword [r13 + 0x28], r10d
jle 0x14016ed9f
mov r8d, 0x40
xor r11d, r11d
mov rax, qword [r13 + 0x20]
mov rcx, qword [r8 + rax + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
test r9d, r9d
js 0x14016ed92
cmp byte [rcx + 0x10], r11b
jne 0x14016ed92
mov rax, qword [rcx + 0x120]
test rax, rax
je 0x14016ed8e
cmp byte [rax + 0x3f], dl
je 0x14016ed92
mov byte [rcx + 8], r9b
add r10d, esi
add r8, 0x20
cmp r10d, dword [r13 + 0x28]
jl 0x14016ed62
mov byte [r13 + 0x63], r9b
jmp 0x14016edad
mov r12, rdi
mov edx, 2
mov r8, qword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
mov rax, qword [r8 + rax + 8]
xor r8d, r8d
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
test r9d, r9d
js 0x14016ede4
cmp byte [rax + 0x10], r8b
jne 0x14016ede4
mov rcx, qword [rax + 0x120]
test rcx, rcx
je 0x14016ede0
cmp byte [rcx + 0x3f], dl
je 0x14016ede4
mov byte [rax + 8], r9b
mov al, byte [rax + 8]
cmp al, sil
lea rax, str.normal
cmovne rbx, rax
mov r8, rbx
mov edx, esi
mov rcx, r14
call fcn.1401802f4
xor eax, eax
mov dword [rsp + 0x20], eax
mov r9d, esi
mov r8d, esi
mov edx, 0x50
mov rcx, r14
call fcn.140178330
jmp 0x14016f5d7
mov r8, qword [rbp - 0x78]
or rbx, 0xffffffffffffffff
mov rax, qword [rbp - 0x80]
mov rax, qword [r8 + rax + 8]
mov rcx, qword [rax + 8]
mov rax, 0xfffffffffffffffe
mov rsi, qword [rcx]
mov qword [rbp - 0x68], rax
test r15, r15
je 0x14016ee63
lea rdx, [rbp - 0x68]
mov rcx, r15
call fcn.1401526f4
mov rax, qword [rbp - 0x68]
cmp rax, rbx
cmovl rax, rbx
mov qword [rbp - 0x68], rax
cmp rax, rbx
jl 0x14016ee7f
mov rcx, qword [rsi + 0x120]
mov qword [rsi + 0xc8], rax
test rcx, rcx
je 0x14016ee7f
mov qword [rcx + 0x20], rax
mov rdx, qword [rsi + 0xc8]
mov qword [rbp - 0x68], rdx
jmp 0x14016c9ba
xor r9d, r9d
test r15, r15
jne 0x14016eeb3
mov r12, rdi
or ebx, 0xffffffff
mov rcx, qword [rbp - 0x40]
cmp dword [rcx + 8], r9d
jne 0x14016ef2e
mov eax, r9d
mov dword [rcx + 8], esi
jmp 0x14016ef32
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, rax
mov r12, rdi
and ecx, 0x3fffffff
lea rax, str.delete
xor r9d, r9d
mov qword [rbp - 0x38], rcx
mov ebx, r9d
lea rdx, [0x140219838]
mov qword [rsp + 0x70], rax
cmp rax, rdx
je 0x14016ee9a
mov rdx, qword [rax]
test rdx, rdx
je 0x14016ee9a
mov r8d, ecx
mov rcx, r15
call fcn.1400fd28c
xor r9d, r9d
test eax, eax
je 0x14016ef14
mov rax, qword [rsp + 0x70]
add ebx, esi
mov rcx, qword [rbp - 0x38]
add rax, 8
jmp 0x14016eed8
mov eax, ebx
cmp ebx, 2
jne 0x14016efbe
mov eax, dword [r13 + 0x30]
bt rax, 0x1c
jb 0x14016ee9a
mov eax, dword [rsp + 0x64]
mov edi, dword [r13 + 0x28]
sub edi, esi
js 0x14016efb4
mov r15, qword [rbp - 0x40]
movsxd rdx, edi
mov rcx, rdx
movsxd r8, eax
shl rcx, 5
mov qword [rbp - 0x38], rcx
mov qword [rsp + 0x70], rdx
mov qword [rbp], r8
mov rax, qword [r13 + 0x20]
cmp qword [rcx + rax + 8], r9
je 0x14016ef9c
cmp rdx, r8
je 0x14016ef6e
cmp dword [r15 + 8], r9d
jne 0x14016ef9c
mov edx, edi
mov rcx, r14
call fcn.140182e14
mov r9d, esi
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov edx, 7
call fcn.140178330
mov rcx, qword [rbp - 0x38]
xor r9d, r9d
mov rdx, qword [rsp + 0x70]
mov r8, qword [rbp]
sub rdx, rsi
sub rcx, 0x20
sub edi, esi
mov qword [rsp + 0x70], rdx
mov qword [rbp - 0x38], rcx
jns 0x14016ef58
mov r15, qword [rbp - 0x30]
mov dword [rsp + 0x20], r9d
jmp 0x14016ee08
cmp eax, 0xffffffff
jne 0x14016ef2e
jmp 0x14016ee9d
mov r8, qword [rbp - 0x78]
or rbx, 0xffffffffffffffff
mov rax, qword [rbp - 0x80]
xor r11d, r11d
mov rax, qword [r8 + rax + 8]
mov qword [rsp + 0x70], rax
test r15, r15
je 0x14016f01c
lea rdx, str.fast
mov rcx, r15
call fcn.140174cfc
test eax, eax
jne 0x14016f002
mov ebx, r12d
jmp 0x14016f01c
xor r8d, r8d
mov edx, esi
mov rcx, r15
call fcn.140132144
xor r11d, r11d
mov ecx, r11d
test al, al
setne cl
mov ebx, ecx
mov rax, qword [rbp - 0x40]
mov r12, rdi
cmp dword [rax + 8], r11d
jne 0x14016f05e
test ebx, ebx
js 0x14016f05e
cmp dword [r13 + 0x28], r11d
jle 0x14016f05e
mov r15, r11
mov r14d, r11d
mov rcx, qword [r13 + 0x20]
mov edx, ebx
mov rcx, qword [r15 + rcx + 8]
call fcn.14014ea9c
add r14d, esi
lea r15, [r15 + 0x20]
cmp r14d, dword [r13 + 0x28]
jl 0x14016f039
mov r14, qword [rbp - 0x48]
mov r15, qword [rbp - 0x30]
mov rcx, qword [rsp + 0x70]
mov edx, ebx
call fcn.14014ea9c
movsxd rdx, eax
mov rcx, r14
call fcn.140143940
jmp 0x14016f5d7
sub ecx, 0x22
je 0x14016f5cc
sub ecx, esi
je 0x14016f59e
sub ecx, esi
je 0x14016f53d
sub ecx, esi
je 0x14016f312
sub ecx, esi
je 0x14016f29a
sub ecx, esi
je 0x14016f215
sub ecx, esi
je 0x14016f1ca
sub ecx, esi
je 0x14016f181
cmp ecx, esi
je 0x14016f0ef
xor eax, eax
test r15, r15
je 0x14016f0e3
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], eax
mov rcx, r15
call fcn.1401655d4
mov edx, dword [rsp + 0x68]
mov rcx, r13
call fcn.1400f2fc0
movsxd rdx, dword [r13 + 0x2bc]
jmp 0x14016c9ba
mov rax, qword [rbp - 0x40]
xor edx, edx
mov ecx, 0xa
cmp qword [rax], rdx
lea r11d, [rdx + 3]
cmovne ecx, dword [rsp + 0x64]
mov dword [rbp - 0x80], ecx
xor ecx, ecx
test r15, r15
je 0x14016f156
lea rdx, str.full
mov rcx, r15
call fcn.140174cfc
test eax, eax
jne 0x14016f127
mov ecx, esi
jmp 0x14016f156
lea rdx, str.restart
mov rcx, r15
call fcn.140174cfc
test eax, eax
jne 0x14016f13f
mov ecx, r12d
jmp 0x14016f156
lea rdx, str.truncate
mov rcx, r15
call fcn.140174cfc
xor ecx, ecx
test eax, eax
cmove ecx, r11d
mov r8d, dword [rbp - 0x80]
mov r9d, ecx
mov rcx, r14
mov dword [rbx + 0x38], r11d
mov edx, 6
mov dword [rsp + 0x20], esi
call fcn.140178330
xor eax, eax
mov dword [rsp + 0x20], eax
lea r9d, [rax + 3]
jmp 0x14016cd31
xor ecx, ecx
test r15, r15
je 0x14016f1a7
mov dword [rsp + 0x68], ecx
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1401655d4
mov edx, dword [rsp + 0x68]
mov rcx, r13
call fcn.1400fd410
xor ecx, ecx
lea rax, [0x140184134]
cmp qword [r13 + 0x140], rax
jne 0x14016f1c3
mov eax, dword [r13 + 0x148]
jmp 0x14016caaf
mov eax, ecx
jmp 0x14016caaf
mov ebx, 0xb
test r15, r15
je 0x14016f202
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1401526f4
test eax, eax
jne 0x14016f202
mov rax, qword [rsp + 0x70]
test rax, rax
js 0x14016f202
mov r8d, 0x7fffffff
mov edx, ebx
and r8d, eax
mov rcx, r13
call fcn.1400f4424
or r8d, 0xffffffff
mov edx, ebx
mov rcx, r13
call fcn.1400f4424
jmp 0x14016caaf
xor r12d, r12d
test r15, r15
jne 0x14016f229
mov r8, qword [0x1402515e8]
jmp 0x14016cd16
cmp byte [r15], r12b
je 0x14016f254
mov rax, qword [r13]
lea r9, [rbp - 0x80]
mov r8d, esi
mov rdx, r15
mov rcx, rax
call qword [rax + 0x38]
test eax, eax
jne 0x14016cd6b
cmp dword [rbp - 0x80], r12d
je 0x14016cd6b
cmp byte [r13 + 0x60], sil
ja 0x14016f262
mov rcx, rbx
call fcn.140133218
mov rcx, qword [0x1402515e8]
call fcn.1400f3680
cmp byte [r15], r12b
je 0x14016f28e
mov rdx, r15
lea rcx, [0x1402201e8]
call fcn.1400f3418
mov qword [0x1402515e8], rax
jmp 0x14016f5d4
mov qword [0x1402515e8], r12
jmp 0x14016f5d4
test r15, r15
jne 0x14016f2a9
movzx edx, byte [r13 + 0x60]
jmp 0x14016c9ba
mov al, byte [r15]
sub al, 0x30
cmp al, r12b
ja 0x14016f2bc
movsx esi, byte [r15]
sub esi, 0x30
jmp 0x14016f2e9
lea rdx, str.file
mov rcx, r15
call fcn.140174cfc
test eax, eax
je 0x14016f2e9
lea rdx, str.memory
mov rcx, r15
call fcn.140174cfc
neg eax
sbb ecx, ecx
not ecx
and ecx, r12d
mov esi, ecx
mov r14, qword [rbx]
movzx eax, byte [r14 + 0x60]
cmp eax, esi
je 0x14016f5d4
mov rcx, rbx
call fcn.140133218
test eax, eax
jne 0x14016f5d4
mov byte [r14 + 0x60], sil
jmp 0x14016f5d4
mov r12, rdi
test r15, r15
je 0x14016f5d7
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call fcn.140150160
mov r9, qword [rbp - 0x20]
mov r8, r15
mov edx, 2
mov rcx, rbx
call fcn.14016914c
xor r8d, r8d
mov qword [rbp - 0x38], rax
mov rdx, rax
test rax, rax
je 0x14016f5d7
mov rcx, qword [rax + 0x10]
mov dword [rsp + 0x78], r8d
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x78], rdi
test rcx, rcx
je 0x14016f38a
mov qword [rbp - 0x78], rdi
lea edi, [r8 + 2]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, dil
je 0x14016f383
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14016f370
mov qword [rsp + 0x70], rcx
jmp 0x14016f38f
mov edi, 2
mov rcx, rbx
mov dword [rbx + 0x38], 7
call fcn.140182ea4
mov rax, qword [rbp - 0x38]
xor r9d, r9d
mov r10d, r9d
mov dword [rbp - 0x60], r9d
movzx edx, word [rax + 0x46]
mov rbx, qword [rax + 8]
mov qword [rbp], rbx
cmp r9w, dx
jge 0x14016f5d7
mov r13, qword [rbp - 8]
lea r15d, [r9 + 0x40]
mov r12, qword [rsp + 0x70]
movzx r8d, word [rbx + 0x1c]
mov ecx, r9d
mov dword [rbp - 0x5c], ecx
test r8b, 0x62
je 0x14016f409
cmp qword [r13 + 0x10], r9
jne 0x14016f3ef
add dword [rsp + 0x78], esi
jmp 0x14016f511
test r8b, 0x20
je 0x14016f3f9
mov ecx, edi
jmp 0x14016f406
movzx ecx, r8b
and ecx, r15d
or ecx, 0x20
shr ecx, 5
mov dword [rbp - 0x5c], ecx
test sil, r8b
jne 0x14016f415
mov dword [rsp + 0x60], r9d
jmp 0x14016f457
mov dword [rsp + 0x60], esi
test r12, r12
je 0x14016f457
mov r9d, esi
mov r11, rsi
cmp si, dx
jg 0x14016f454
movsx rax, dx
mov rdx, qword [r12 + 8]
mov r14, rax
movsx eax, word [rdx]
cmp eax, r10d
je 0x14016f44b
add r9d, esi
add r11, rsi
add rdx, rdi
cmp r11, r14
jle 0x14016f435
mov r14, qword [rbp - 0x48]
mov dword [rsp + 0x60], r9d
xor r9d, r9d
mov rax, qword [rbx + 8]
test rax, rax
je 0x14016f46f
cmp ecx, edi
jae 0x14016f46f
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
jmp 0x14016f474
mov qword [rsp + 0x70], r9
mov rdx, qword [rbx]
test r8b, 4
jne 0x14016f486
lea r11, [0x14021e2d9]
jmp 0x14016f4a6
mov rcx, rdx
mov rbx, rdx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r10d, dword [rbp - 0x60]
lea r11, [rbx + 1]
add r11, rax
mov rdx, rbx
mov rbx, qword [rbp]
xor r9d, r9d
cmp byte [rbx + 0x18], r9b
lea rcx, str.issisii
mov eax, r9d
lea r8, str.issisi
setne al
mov r9d, r10d
sub r9d, dword [rsp + 0x78]
xor r10d, r10d
cmp qword [r13 + 0x10], r10
cmovne r8, rcx
mov ecx, dword [rbp - 0x5c]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x40], ecx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x38], rcx
mov rcx, r14
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rdx
mov edx, esi
call fcn.1401817c0
mov rax, qword [rbp - 0x38]
xor r9d, r9d
mov r10d, dword [rbp - 0x60]
movzx edx, word [rax + 0x46]
add r10d, esi
movsx eax, dx
add rbx, 0x20
mov dword [rbp - 0x60], r10d
mov qword [rbp], rbx
cmp r10d, eax
jl 0x14016f3cf
mov r12, qword [rbp - 0x78]
mov r15, qword [rbp - 0x30]
mov r13, qword [rbp - 0x50]
jmp 0x14016f5d7
xor eax, eax
test r15, r15
jne 0x14016f55a
mov r8, qword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
movzx edx, byte [r8 + rax + 0x10]
sub rdx, rsi
jmp 0x14016c9ba
cmp byte [r13 + 0x5f], al
jne 0x14016f56c
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x14016cd72
cmp dword [rsp + 0x64], esi
je 0x14016f5d4
mov r8b, sil
xor edx, edx
mov rcx, r15
call fcn.140132144
mov r8, qword [rbp - 0x78]
add eax, esi
mov rcx, qword [rbp - 0x80]
and eax, 7
cmove eax, esi
mov byte [r8 + rcx + 0x10], al
mov byte [r8 + rcx + 0x11], sil
jmp 0x14016ca85
test r15, r15
je 0x14016f5be
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1401526f4
test eax, eax
jne 0x14016f5be
mov rcx, qword [rsp + 0x70]
call fcn.1400f8338
or rcx, 0xffffffffffffffff
call fcn.1400f8338
jmp 0x14016d33a
mov rcx, r13
call fcn.1400f8288
mov r12, rdi
mov rdx, r12
mov rcx, r13
call fcn.140152380
test r15, r15
je 0x14016f5f2
mov rdx, r15
mov rcx, r13
call fcn.140152380
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14019eac0
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret