Function at 0x1402aa370
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, 0x78
test rdx, rdx
mov rsi, rcx
mov r13, rdx
je 0x1402aa5a6
mov ecx, dword [0x140395120]
mov ebp, dword [rdx + 0x18]
test ecx, ecx
jne 0x1402aac79
mov ecx, 0x200
call qword [0x140395140]
mov qword [rsp + 0x48], rax
mov rdi, rax
test rdi, rdi
mov ebx, 7
je 0x1402aaaaa
xor eax, eax
mov ecx, 0x40
mov rbx, rdi
rep stosq qword [rdi], rax
mov dword [rbx], ebp
mov eax, dword [r13 + 0x18]
cmp qword [rsi + 0x128], 0
mov dword [rsi + 0x20], eax
movzx eax, byte [rsi + 0x10]
mov byte [rsi + 0x17], al
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x38], rax
jne 0x1402aa5d1
mov rdx, qword [r13 + 8]
lea rbp, [rsp + 0x68]
mov r9, qword [r13]
test rdx, rdx
cmove rdx, qword [rsp + 0x38]
mov qword [rsi + 0x60], r9
mov r12, rdx
cmp r12, r9
jle 0x1402aadaa
mov r14, qword [rsi + 0x50]
mov r8d, 4
mov rdx, rbp
mov rdi, qword [rsi + 0x118]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
test eax, eax
mov ebx, eax
jne 0x1402aace0
mov rdx, qword [rsi + 0x60]
mov rcx, r14
mov rax, qword [r14]
mov r15d, dword [rsp + 0x68]
mov r8d, dword [rsi + 0xc8]
lea r9, [rdx + 4]
mov rdx, rdi
call qword [rax + 0x10]
mov ebx, eax
mov rax, qword [rsi + 0xc8]
test ebx, ebx
jne 0x1402aace7
mov rdx, qword [rsi + 0x60]
test r15d, r15d
lea r11, [rax + rdx + 8]
mov qword [rsi + 0x60], r11
je 0x1402aada0
mov r10d, r15d
bswap r10d
cmp r10d, dword [rsi + 0xc0]
je 0x1402aada0
cmp dword [rsi + 0x20], r10d
jb 0x1402aa59d
mov rcx, qword [rsp + 0x48]
mov edx, r10d
mov dword [rsp + 0x40], r10d
call sym.sqlite3BitvecTestNotNull
test eax, eax
jne 0x1402aa59d
mov rax, qword [r14]
lea r9, [r11 - 4]
mov r8d, 4
mov rdx, rbp
mov rcx, r14
call qword [rax + 0x10]
mov r10d, dword [rsp + 0x40]
test eax, eax
mov ebx, eax
jne 0x1402aace0
mov rcx, qword [rsp + 0x48]
mov edx, r10d
mov dword [rsp + 0x40], r10d
call sym.sqlite3BitvecSet
mov r10d, dword [rsp + 0x40]
test eax, eax
mov ebx, eax
jne 0x1402aace0
cmp r15d, 0x1000000
je 0x1402aaedc
xor r14d, r14d
cmp qword [rsi + 0x128], 0
je 0x1402ab04b
cmp byte [rsi + 0xb], 0
mov edx, 1
je 0x1402aaecc
mov rcx, qword [rsi + 0x48]
mov r11, qword [rcx]
test r11, r11
je 0x1402aa552
movzx eax, byte [rsi + 0x15]
sub eax, 1
cmp al, 2
jbe 0x1402aa552
test dl, dl
jne 0x1402aaffd
test r14, r14
je 0x1402aa59d
mov r9, qword [r14 + 8]
mov rdx, rdi
mov r8, qword [rsi + 0xc8]
mov rcx, r9
mov qword [rsp + 0x40], r9
call sym.memcpy
mov rcx, r14
call qword [rsi + 0x108]
cmp r15d, 0x1000000
mov r9, qword [rsp + 0x40]
je 0x1402ab068
mov rcx, r14
call sym.sqlite3PcacheRelease
test ebx, ebx
jne 0x1402aace0
mov r9, qword [rsi + 0x60]
jmp 0x1402aa412
mov eax, dword [rcx + 0x24]
mov dword [rcx + 0x20], eax
movzx eax, byte [rcx + 0x10]
mov byte [rcx + 0x17], al
mov rax, qword [rcx + 0x128]
test rax, rax
mov qword [rsp + 0x48], rax
jne 0x1402aadf3
mov rax, qword [rcx + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsi + 0x60], 0
xor r9d, r9d
mov rax, qword [rsp + 0x38]
lea r14, [rsp + 0x60]
mov rdi, r13
lea r15, [rsp + 0x68]
mov qword [rsp + 0x58], r14
cmp r9, rax
jge 0x1402aaae3
nop dword [rax]
mov r9, qword [rsp + 0x58]
mov r8, rax
xor edx, edx
mov rcx, rsi
lea rax, [rsp + 0x64]
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x20], rax
call sym.readJournalHdr
mov r13d, dword [rsp + 0x60]
mov ebx, eax
test r13d, r13d
jne 0x1402aa660
mov edx, dword [rsi + 0xb8]
add rdx, qword [rsi + 0x68]
cmp rdx, qword [rsi + 0x60]
jne 0x1402aa660
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsi + 0xc8]
sub rax, rdx
add rcx, 8
cqo
idiv rcx
mov r13d, eax
mov dword [rsp + 0x60], eax
nop
test ebx, ebx
jne 0x1402aac1b
xor r12d, r12d
mov qword [rsp + 0x40], r15
cmp r13d, r12d
mov r9, qword [rsi + 0x60]
je 0x1402aaad0
cmp qword [rsp + 0x38], r9
jle 0x1402aaad0
mov r15, qword [rsi + 0x50]
mov r8d, 4
mov rbp, qword [rsi + 0x118]
mov rdx, qword [rsp + 0x40]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
test eax, eax
mov ebx, eax
jne 0x1402aa888
mov rdx, qword [rsi + 0x60]
mov rcx, r15
mov rax, qword [r15]
mov r14d, dword [rsp + 0x68]
mov r8d, dword [rsi + 0xc8]
lea r9, [rdx + 4]
mov rdx, rbp
call qword [rax + 0x10]
test eax, eax
mov ebx, eax
jne 0x1402aa888
mov rax, qword [rsi + 0x60]
test r14d, r14d
mov rdx, qword [rsi + 0xc8]
lea r11, [rdx + rax + 8]
mov qword [rsi + 0x60], r11
je 0x1402aaac0
mov r10d, r14d
bswap r10d
cmp r10d, dword [rsi + 0xc0]
je 0x1402aaac0
cmp dword [rsi + 0x20], r10d
jb 0x1402aab4b
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1402aab00
lea edx, [r10 - 1]
cmp edx, dword [rax]
mov r8, rax
jb 0x1402aa742
jmp 0x1402aa790
mov eax, edx
xor edx, edx
div ecx
mov eax, eax
mov r8, qword [r8 + rax*8 + 0x10]
test r8, r8
je 0x1402aa790
mov ecx, dword [r8 + 8]
test ecx, ecx
jne 0x1402aa730
cmp dword [r8], 0xf80
lea ecx, [rdx + 1]
ja 0x1402aa76b
jmp 0x1402aab34
cmp ecx, edx
je 0x1402aab4b
lea edx, [rax + 1]
mov eax, edx
shr eax, 2
imul rax, rax, 0x21084211
shr rax, 0x22
imul r9d, eax, 0x7c
mov eax, edx
sub eax, r9d
mov edx, eax
mov edx, dword [r8 + rdx*4 + 0x10]
test edx, edx
jne 0x1402aa760
nop
mov rax, qword [r15]
mov dword [rsp + 0x50], r10d
lea r9, [r11 - 4]
mov rcx, r15
mov rdx, qword [rsp + 0x40]
mov r8d, 4
call qword [rax + 0x10]
mov r10d, dword [rsp + 0x50]
test eax, eax
jne 0x1402aab2a
mov rcx, qword [rsp + 0x48]
mov edx, r10d
mov dword [rsp + 0x50], r10d
call sym.sqlite3BitvecSet
mov r10d, dword [rsp + 0x50]
test eax, eax
jne 0x1402aab2a
cmp r14d, 0x1000000
je 0x1402aab58
cmp qword [rsi + 0x128], 0
je 0x1402aab80
xor r15d, r15d
cmp byte [rsi + 0xb], 0
mov r8d, 1
jne 0x1402aa80f
mov rax, qword [rsi + 0x68]
cmp qword [rsi + 0x60], rax
setle r8b
mov rcx, qword [rsi + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1402aa830
movzx edx, byte [rsi + 0x15]
sub edx, 1
cmp dl, 2
jbe 0x1402aa830
test r8b, r8b
jne 0x1402aabce
test r15, r15
je 0x1402aab4b
mov r9, qword [r15 + 8]
mov rdx, rbp
mov r8, qword [rsi + 0xc8]
mov rcx, r9
mov qword [rsp + 0x50], r9
call sym.memcpy
mov rcx, r15
call qword [rsi + 0x108]
cmp r14d, 0x1000000
mov r9, qword [rsp + 0x50]
je 0x1402aac5e
mov rcx, r15
call sym.sqlite3PcacheRelease
add r12d, 1
test ebx, ebx
je 0x1402aa670
nop dword [rax + rax]
mov r13, rdi
test r13, r13
je 0x1402aaa58
mov rax, qword [rsi + 0xc8]
mov r15d, dword [r13 + 0x1c]
mov rcx, qword [rsi + 0x128]
lea rdi, [rax + 4]
mov eax, r15d
imul rdi, rax
test rcx, rcx
je 0x1402aaca2
mov eax, dword [rcx + 0x88]
cmp dword [r13 + 0x30], eax
je 0x1402aacd0
mov dword [r13 + 0x24], 0
mov eax, dword [rcx + 0x88]
mov dword [r13 + 0x30], eax
xor eax, eax
cmp eax, dword [rcx + 0x58]
jb 0x1402aadd4
cmp r15d, dword [rsi + 0x3c]
lea r13, [rsp + 0x68]
jae 0x1402aaa3b
mov rbp, qword [rsi + 0x58]
mov r9, rdi
mov r8d, 4
mov rdx, r13
mov r12, qword [rsi + 0x118]
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x10]
test eax, eax
mov ebx, eax
jne 0x1402aaa58
mov rax, qword [rbp]
lea r9, [rdi + 4]
mov rdx, r12
mov rcx, rbp
mov r14d, dword [rsp + 0x68]
mov r8d, dword [rsi + 0xc8]
call qword [rax + 0x10]
test eax, eax
mov ebx, eax
jne 0x1402aaa58
test r14d, r14d
mov rbp, qword [rsi + 0xc8]
je 0x1402aaa50
mov r10d, r14d
bswap r10d
cmp r10d, dword [rsi + 0xc0]
je 0x1402aaa50
cmp dword [rsi + 0x20], r10d
jb 0x1402aaa28
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1402aa9ae
mov edx, r10d
call sym.sqlite3BitvecTestNotNull
test eax, eax
jne 0x1402aaa28
mov rcx, qword [rsp + 0x48]
mov edx, r10d
mov dword [rsp + 0x40], r10d
call sym.sqlite3BitvecSet
mov r10d, dword [rsp + 0x40]
test eax, eax
jne 0x1402aae72
cmp r14d, 0x1000000
je 0x1402aadb3
cmp qword [rsi + 0x128], 0
je 0x1402aad00
mov qword [rsp + 0x68], 0
mov rcx, qword [rsi + 0x48]
mov r11, qword [rcx]
test r11, r11
je 0x1402aa9ed
movzx eax, byte [rsi + 0x15]
sub eax, 1
cmp al, 2
ja 0x1402aae79
or byte [rsi + 0x19], 2
mov r9d, 1
mov r8, r13
mov edx, r10d
mov rcx, rsi
call qword [rsi + 0x110]
and byte [rsi + 0x19], 0xfd
test eax, eax
mov ebx, eax
jne 0x1402aaa58
mov rcx, qword [rsp + 0x68]
call sym.sqlite3PcacheMakeDirty
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x1402aad45
add r15d, 1
cmp r15d, dword [rsi + 0x3c]
lea rdi, [rdi + rbp + 4]
jb 0x1402aa8f6
cmp qword [rsp + 0x48], 0
je 0x1402aaa9f
xor ebx, ebx
jmp 0x1402aaa60
mov ebx, 0x65
nop dword [rax]
cmp qword [rsp + 0x48], 0
je 0x1402aaaaa
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
test eax, eax
je 0x1402aaa91
mov rax, qword [rsp + 0x48]
lea rdi, [rax + 0x10]
lea rbp, [rax + 0x200]
nop dword [rax]
mov rcx, qword [rdi]
add rdi, 8
call sym.sqlite3BitvecDestroy
cmp rdi, rbp
jne 0x1402aaa80
mov rcx, qword [rsp + 0x48]
call sym.sqlite3_free
test ebx, ebx
jne 0x1402aaaaa
mov rax, qword [rsp + 0x38]
xor ebx, ebx
mov qword [rsi + 0x60], rax
mov eax, ebx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13, rdi
mov ebx, 0x65
jmp 0x1402aa88b
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
cmp r9, rax
jl 0x1402aa600
test rdi, rdi
mov r13, rdi
je 0x1402aaa3b
xor ebx, ebx
jmp 0x1402aa894
mov rax, qword [r15]
mov dword [rsp + 0x50], r10d
lea r9, [r11 - 4]
mov rcx, r15
mov rdx, qword [rsp + 0x40]
mov r8d, 4
call qword [rax + 0x10]
mov r10d, dword [rsp + 0x50]
test eax, eax
je 0x1402aa7d9
mov r13, rdi
mov ebx, eax
jmp 0x1402aa88b
mov eax, edx
and edx, 7
shr eax, 3
movzx eax, byte [r8 + rax + 0x10]
bt eax, edx
jae 0x1402aa790
add r12d, 1
jmp 0x1402aa670
movzx edx, byte [rbp + 0x14]
movsx ecx, word [rsi + 0xb2]
cmp ecx, edx
je 0x1402aa7e6
cmp qword [rsi + 0x128], 0
mov word [rsi + 0xb2], dx
jne 0x1402aa7f4
mov rax, qword [rsi + 0x120]
xor r8d, r8d
mov edx, r10d
mov dword [rsp + 0x50], r10d
mov rcx, qword [rax + 0x48]
call qword [0x140395200]
mov r10d, dword [rsp + 0x50]
test rax, rax
je 0x1402aa7f4
mov r15, qword [rax + 8]
mov rcx, qword [rsi + 0x120]
cmp qword [r15], 0
je 0x1402aaf16
add qword [rcx + 0x18], 1
add qword [r15 + 0x38], 1
jmp 0x1402aa7f7
mov r8, qword [rsi + 0xc8]
lea r9d, [r10 - 1]
mov dword [rsp + 0x50], r10d
mov rdx, rbp
imul r9, r8
call qword [rax + 0x18]
mov r10d, dword [rsp + 0x50]
cmp dword [rsi + 0x28], r10d
mov ebx, eax
jae 0x1402aabf9
mov dword [rsi + 0x28], r10d
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x1402aac0d
mov r8, rbp
mov edx, r10d
call sym.backupUpdate
test r15, r15
jne 0x1402aa839
jmp 0x1402aa877
test rdi, rdi
mov r13, rdi
je 0x1402aaa58
mov rcx, qword [rsi + 0x128]
mov rax, qword [rsi + 0xc8]
mov r15d, dword [rdi + 0x1c]
test rcx, rcx
je 0x1402aacaa
add rax, 4
mov r8d, r15d
imul rax, r8
mov rdi, rax
mov eax, dword [rcx + 0x88]
cmp dword [r13 + 0x30], eax
jne 0x1402aa8ca
jmp 0x1402aacd0
mov rax, qword [r9 + 0x18]
mov qword [rsi + 0x88], rax
mov rax, qword [r9 + 0x20]
mov qword [rsi + 0x90], rax
jmp 0x1402aa86f
mov rcx, qword [0x140394dc0]
test rcx, rcx
je 0x1402aac8b
call qword [0x1403951a0]
mov ecx, 0x200
call sym.sqlite3Malloc.part.0
mov qword [rsp + 0x48], rax
mov rdi, rax
jmp 0x1402aa3b3
test ebx, ebx
je 0x1402aa8e7
cmp qword [rsp + 0x48], 0
je 0x1402aaaaa
mov rcx, qword [rsp + 0x48]
mov edx, dword [rcx + 8]
test edx, edx
jne 0x1402aaa6c
call sym.sqlite3_free
jmp 0x1402aaaaa
mov eax, dword [r13 + 0x24]
jmp 0x1402aa8de
mov rax, qword [rsi + 0xc8]
mov rcx, qword [rsi + 0x128]
mov r15d, dword [r13 + 0x1c]
test rcx, rcx
jne 0x1402aac3e
jmp 0x1402aacb6
mov edx, r10d
mov rcx, rsi
mov dword [rsp + 0x40], r10d
call sym.sqlite3PagerLookup
mov r10d, dword [rsp + 0x40]
test rax, rax
mov qword [rsp + 0x68], rax
je 0x1402aa9d2
mov rcx, qword [rsi + 0x48]
test byte [rax + 0x34], 8
mov r11, qword [rcx]
jne 0x1402aad45
test r11, r11
je 0x1402aad45
movzx edx, byte [rsi + 0x15]
sub edx, 1
cmp dl, 2
ja 0x1402aae79
mov r9, qword [rax + 8]
mov rdx, r12
mov r8, qword [rsi + 0xc8]
mov rcx, r9
mov qword [rsp + 0x40], r9
call sym.memcpy
mov rcx, qword [rsp + 0x68]
call qword [rsi + 0x108]
cmp r14d, 0x1000000
mov r9, qword [rsp + 0x40]
je 0x1402aaefb
mov rcx, qword [rsp + 0x68]
call sym.sqlite3PcacheRelease
add r15d, 1
test ebx, ebx
je 0x1402aaa2c
jmp 0x1402aaa58
mov ebx, 0x65
jmp 0x1402aace7
mov r9, qword [rsi + 0x60]
jmp 0x1402aa5dc
movzx edx, byte [r12 + 0x14]
movsx ecx, word [rsi + 0xb2]
cmp ecx, edx
je 0x1402aa9bb
mov word [rsi + 0xb2], dx
jmp 0x1402aa9bb
mov dword [rcx + 0x58], eax
mov eax, dword [r13 + 0x28]
mov dword [rcx + 0x60], eax
mov eax, dword [r13 + 0x2c]
mov dword [rcx + 0x64], eax
call sym.walCleanupHash
mov r15d, dword [r13 + 0x1c]
jmp 0x1402aa8e7
xor ebx, ebx
cmp byte [rax + 0x40], 0
mov ebp, 1
jne 0x1402aaf2e
mov rax, qword [rsi + 0x120]
mov rcx, qword [rax]
test rcx, rcx
mov rax, rcx
je 0x1402aae30
nop word cs:[rax + rax]
mov rdx, rax
mov rax, qword [rax + 0x40]
test rax, rax
mov qword [rdx + 0x20], rax
jne 0x1402aae20
call sym.pcacheSortDirtyList
test rax, rax
mov rdi, rax
je 0x1402aaaaa
test bpl, bpl
jne 0x1402aae54
jmp 0x1402aaaaa
test eax, eax
jne 0x1402aae6b
mov rax, rdi
mov rdi, qword [rdi + 0x20]
mov rcx, rsi
mov edx, dword [rax + 0x30]
call sym.pagerUndoCallback
test rdi, rdi
jne 0x1402aae50
mov ebx, eax
jmp 0x1402aaaaa
mov ebx, eax
jmp 0x1402aaa60
mov r8, qword [rsi + 0xc8]
lea r9d, [r10 - 1]
mov dword [rsp + 0x40], r10d
mov rdx, r12
imul r9, r8
call qword [r11 + 0x18]
mov r10d, dword [rsp + 0x40]
cmp dword [rsi + 0x28], r10d
mov ebx, eax
jae 0x1402aaea5
mov dword [rsi + 0x28], r10d
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x1402aaeb9
mov r8, r12
mov edx, r10d
call sym.backupUpdate
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1402aad87
jmp 0x1402aad45
mov rax, qword [rsi + 0x68]
cmp qword [rsi + 0x60], rax
setle dl
jmp 0x1402aa533
movzx edx, byte [rdi + 0x14]
movsx ecx, word [rsi + 0xb2]
cmp ecx, edx
je 0x1402aa513
mov word [rsi + 0xb2], dx
jmp 0x1402aa513
mov rax, qword [r9 + 0x18]
mov qword [rsi + 0x88], rax
mov rax, qword [r9 + 0x20]
mov qword [rsi + 0x90], rax
jmp 0x1402aad7d
mov edx, r10d
mov r8, rax
call sym.pcacheFetchFinishWithInit
mov r10d, dword [rsp + 0x50]
mov r15, rax
jmp 0x1402aa7f7
mov rcx, qword [rax + 0x30]
mov r13, rax
mov r12d, dword [rax + 0x58]
mov rax, qword [rcx]
mov r8, qword [rax]
mov qword [r13 + 0x48], r8
mov r8, qword [rax + 8]
mov qword [r13 + 0x50], r8
mov r8, qword [rax + 0x10]
mov qword [r13 + 0x58], r8
mov r8, qword [rax + 0x18]
mov qword [r13 + 0x60], r8
mov r8, qword [rax + 0x20]
mov qword [r13 + 0x68], r8
mov rax, qword [rax + 0x28]
mov qword [r13 + 0x70], rax
mov eax, dword [r13 + 0x58]
lea edi, [rax + 1]
cmp r12d, edi
jae 0x1402aafba
jmp 0x1402aafe5
lea rdx, [rdi*4 + 0x84]
cdqe
and edx, 0x3ffc
add rdx, qword [rcx + rax*8]
mov rax, rdx
mov edx, dword [rax]
mov rcx, rsi
add edi, 1
call sym.pagerUndoCallback
test eax, eax
mov ebx, eax
sete bpl
cmp r12d, edi
jb 0x1402aafdd
test bpl, bpl
je 0x1402aafdd
mov rcx, qword [r13 + 0x30]
lea eax, [rdi + 0x1000]
sub rax, 0xfdf
shr rax, 0xc
test eax, eax
jne 0x1402aaf80
mov rax, qword [rcx]
mov edx, edi
lea rax, [rax + rdx*4 + 0x84]
jmp 0x1402aaf97
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x58]
cmp r12d, eax
je 0x1402aae04
mov rcx, qword [rsp + 0x48]
call sym.walCleanupHash
jmp 0x1402aae04
mov r8, qword [rsi + 0xc8]
lea r9d, [r10 - 1]
mov dword [rsp + 0x40], r10d
mov rdx, rdi
imul r9, r8
call qword [r11 + 0x18]
mov r10d, dword [rsp + 0x40]
cmp dword [rsi + 0x28], r10d
mov ebx, eax
jae 0x1402ab029
mov dword [rsi + 0x28], r10d
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x1402ab03d
mov r8, rdi
mov edx, r10d
call sym.backupUpdate
test r14, r14
jne 0x1402aa557
jmp 0x1402aa595
mov edx, r10d
mov rcx, rsi
mov dword [rsp + 0x40], r10d
call sym.sqlite3PagerLookup
mov r10d, dword [rsp + 0x40]
mov r14, rax
jmp 0x1402aa524
mov rax, qword [r9 + 0x18]
mov qword [rsi + 0x88], rax
mov rax, qword [r9 + 0x20]
mov qword [rsi + 0x90], rax
jmp 0x1402aa58d