Function at 0x73a580
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, 0xb8
mov r12, qword [rcx + 0x90]
mov rbx, rcx
test r12, r12
je 0x73a5c8
mov ebp, dword [rcx + 0x3c]
test ebp, ebp
jne 0x73a5db
add dword [r12], 1
mov rax, r12
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.00729c10
mov qword [rbx + 0x88], rax
mov eax, dword [rbx + 0x3c]
test eax, eax
je 0x73a5e0
xor r12d, r12d
jmp 0x73a5ae
mov rax, qword [rbx]
mov edx, 0xa
mov rcx, rbx
mov qword [rsp + 0x48], rax
call fcn.00721aa0
mov ebp, dword [rbx + 0x3c]
mov rsi, rax
test ebp, ebp
je 0x73a610
mov qword [rbx + 0x90], 0
jmp 0x73a5a5
movsxd rax, dword [rax + 8]
add rax, qword [rsi]
mov qword [rax], 0
mov qword [rax + 8], 0
mov dword [rax + 0x10], 0
mov r14, qword [rsi]
mov eax, dword [rsi + 8]
mov dword [rsp + 0xa0], 0
cmp dword [r14 + 4], 0x10000ff
lea rcx, [r14 + 4]
mov dword [rsp + 0x80], eax
movzx eax, byte [r14]
mov byte [rsp + 0x68], al
movzx eax, byte [r14 + 1]
mov byte [rsp + 0x6d], al
movzx eax, byte [r14 + 2]
mov byte [rsp + 0x6e], al
movzx eax, byte [r14 + 3]
mov byte [rsp + 0x6f], al
jne 0x73a7a0
lea rcx, [r14 + 8]
mov edx, 0xa
mov dword [rsp + 0x50], 1
mov r15d, 0xb
mov r11d, 0xb
mov r8d, 9
mov edi, 9
mov r13d, 0xa
mov r9d, 8
movzx eax, byte [rcx]
test al, al
jns 0x73a7d5
movzx r8d, byte [rcx + 1]
test r8b, r8b
jns 0x73b0e8
movzx edx, byte [rcx + 2]
shl eax, 0xe
or eax, edx
and edx, 0x80
je 0x73b12b
lea rdx, [rsp + 0xa8]
mov dword [rsp + 0x58], r9d
call fcn.007ca200
mov edi, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0x58]
and edi, 0x7fffffff
mov dword [rsp + 0x54], edi
movzx edi, al
add edi, r9d
movsxd rdx, edi
lea rcx, [r14 + rdx]
movzx eax, byte [rcx]
test al, al
jns 0x73ac68
movzx r8d, byte [rcx + 1]
movzx edx, al
test r8b, r8b
jns 0x73b0fd
movzx eax, byte [rcx + 2]
shl edx, 0xe
or edx, eax
test al, 0x80
je 0x73b14a
lea rdx, [rsp + 0xa8]
call fcn.007ca200
mov edx, dword [rsp + 0xa8]
movzx r13d, al
and edx, 0x7fffffff
mov dword [rsp + 0x64], edx
cmp dword [rsp + 0x54], 0x7d0
jg 0x73ac3d
cmp dword [rsp + 0x64], 0x7d0
jg 0x73ac3d
mov eax, dword [rsp + 0xa0]
add r13d, edi
test eax, eax
je 0x73a7ec
mov dword [rbx + 0x3c], eax
mov rcx, rsi
call fcn.0082d7e0
mov ebp, dword [rbx + 0x3c]
jmp 0x73a5ff
mov edx, 6
mov dword [rsp + 0x50], 0
mov r15d, 7
mov r11d, 7
mov r8d, 5
mov edi, 5
mov r13d, 6
mov r9d, 4
jmp 0x73a6ae
lea rcx, [r14 + r8]
mov dword [rsp + 0x54], eax
movzx eax, byte [rcx]
test al, al
js 0x73a71c
mov dword [rsp + 0x64], eax
mov r15d, dword [rsp + 0x54]
lea eax, [r15 - 1]
movsxd rdx, eax
mov dword [rsp + 0x94], eax
lea rax, [rsp + 0xa0]
add rdx, 3
mov rcx, rax
mov qword [rsp + 0x88], rax
shl rdx, 4
call fcn.007cc570
mov qword [rsp + 0x70], rax
mov rdi, rax
test rax, rax
je 0x73ac1d
mov edx, dword [rsp + 0x64]
mov dword [rax + 0x1c], r15d
movsxd rcx, r13d
mov dword [rax], 1
add rcx, r14
mov dword [rax + 0x18], edx
lea rdx, [rax + 8]
mov dword [rsp + 0x54], r15d
call fcn.007ca200
mov edx, dword [rsp + 0xa0]
movzx r15d, al
mov dword [rsp + 0x60], edx
add r15d, r13d
test edx, edx
jne 0x73b215
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x73b244
lea rax, [rdi + 0x20]
mov qword [rsp + 0x78], rsi
lea rdi, [rsp + 0xa4]
mov r13d, dword [rsp + 0x80]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x98], rdi
lea rdi, [rsp + 0xa8]
mov dword [rsp + 0x90], ebp
mov rbp, rax
mov qword [rsp + 0x80], r12
mov r12d, r15d
mov r15, rdi
nop dword [rax]
mov dword [rsp + 0xa4], 0
cmp r13d, r12d
jg 0x73a945
mov ecx, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0xa0], 0x10b
mov ebp, dword [rsp + 0x90]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x100]
test ecx, ecx
je 0x73a921
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x70]
add rax, 1
mov qword [rdi + 0x10], rax
mov rdi, qword [rsp + 0x70]
mov eax, dword [rdi]
mov dword [rsp + 0x50], eax
sub eax, 1
mov dword [rdi], eax
test eax, eax
jle 0x73ac13
mov eax, dword [rsp + 0xa0]
jmp 0x73a78a
movsxd rcx, r12d
mov rdx, rbp
add rcx, r14
call fcn.007ca410
mov rdx, qword [rsp + 0x98]
add r12d, eax
movsxd rcx, r12d
add rcx, r14
call fcn.007ca410
add r12d, eax
movsxd rax, dword [rsp + 0xa4]
cmp dword [rbp], eax
jle 0x73ac86
mov rax, rbp
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0xa0], 0x10b
mov edi, 0x10b
mov qword [rax + 8], 0
mov ebp, dword [rsp + 0x90]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x100]
mov dword [rsp + 0x60], edi
cmp dword [rsp + 0x50], 0
je 0x73a921
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x70]
add rax, 1
cmp dword [rsp + 0x60], 0
mov qword [rdi + 0x10], rax
jne 0x73a921
mov dword [rbx + 0x3c], 0
mov eax, dword [rsp + 0x68]
movzx edx, byte [rsp + 0x6f]
movzx edi, byte [rsp + 0x6e]
shl eax, 0x18
add edx, eax
movzx eax, byte [rsp + 0x6d]
shl edi, 8
shl eax, 0x10
add eax, edx
add eax, edi
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov edx, dword [rdi + 0x88]
test edx, edx
je 0x73aa28
cmp dword [rdi + 0x84], eax
je 0x73abbe
mov rdi, qword [rsp + 0x48]
movdqu xmm0, xmmword [0x00963020]
mov qword [rsp + 0xa8], 0
lea rdx, str.SELECT_k__v_FROM__Q._q_config
mov dword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0x88]
mov r9, qword [rdi + 0x10]
mov r8, qword [rdi + 8]
movups xmmword [rdi + 0x88], xmm0
mov dword [rdi + 0x98], 0x100000
mov dword [rdi + 0xb4], 0xa
call fcn.007cc610
mov r13, rax
test rax, rax
je 0x73aad0
mov r9d, pe_nt_image_headers64
mov r8d, 0xffffffff
mov rdx, r13
mov qword [rsp + 0x30], 0
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
mov rcx, qword [rdi]
call fcn.007dc0c0
mov rcx, r13
mov dword [rsp + 0xa0], eax
call fcn.0082d7e0
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x73abaa
lea r15, [rsp + 0xa4]
lea rbp, str.version
nop word [rax + rax]
mov rcx, qword [rsp + 0xa8]
call fcn.00833a40
cmp eax, 0x64
jne 0x73b096
mov r14, qword [rsp + 0xa8]
xor edx, edx
mov rcx, r14
call fcn.006e9a30
mov rcx, rax
call fcn.007ff100
mov rcx, r14
mov r13, rax
call fcn.006e99c0
mov rdi, qword [rsp + 0xa8]
mov edx, 1
mov rcx, rdi
call fcn.006e9a30
mov r14, rax
movzx eax, word [rax + 0x14]
test ah, 0x20
je 0x73ab5f
and ah, 0xdf
or ah, 0x40
mov word [r14 + 0x14], ax
mov rcx, rdi
call fcn.006e99c0
test r13, r13
je 0x73ab7f
mov rdx, rbp
mov rcx, r13
call fcn.00837b10
test eax, eax
je 0x73ac02
mov rcx, qword [rsp + 0x48]
mov r9, r15
mov r8, r14
mov rdx, r13
mov dword [rsp + 0xa4], 0
call fcn.007c7d50
jmp 0x73aaf8
mov ebp, dword [rsp + 0x50]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x80], ebp
mov r13d, dword [rsp + 0x50]
mov dword [rbx + 0x3c], r13d
mov rcx, rsi
call fcn.0082d7e0
mov ebp, dword [rbx + 0x3c]
test ebp, ebp
je 0x73ac54
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x73a5ff
mov eax, dword [rsi]
mov dword [rsp + 0x48], eax
sub eax, 1
mov dword [rsi], eax
test eax, eax
jg 0x73a5ff
mov rcx, rsi
call fcn.0073b2d0
mov ebp, dword [rbx + 0x3c]
jmp 0x73a5ff
mov rcx, r14
call fcn.00811ff0
mov dword [rsp + 0x50], eax
jmp 0x73aaf8
mov rcx, qword [rsp + 0x70]
call fcn.0073b2d0
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 0x3c], eax
test eax, eax
jne 0x73b252
mov qword [rsp + 0x70], 0
jmp 0x73a9e7
mov dword [rbx + 0x3c], 0x10b
mov rcx, rsi
call fcn.0082d7e0
mov ebp, dword [rbx + 0x3c]
jmp 0x73a5ff
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x90], rax
mov r12, rax
jmp 0x73a5a9
cmp dword [rsp + 0x54], 0x7d0
jg 0x73ac3d
mov dword [rsp + 0x64], eax
lea r13d, [rdi + 1]
mov eax, dword [rsp + 0xa0]
jmp 0x73a786
lea rdx, [rax*8]
mov edi, dword [rsp + 0xa0]
sub rdx, rax
shl rdx, 3
test edi, edi
jne 0x73b275
mov rcx, qword [rsp + 0x88]
call fcn.007cc570
mov edi, dword [rsp + 0xa0]
mov rbx, rax
mov eax, dword [rsp + 0xa4]
sub dword [rsp + 0x64], eax
mov qword [rbp + 8], rbx
test edi, edi
jne 0x73b223
mov dword [rbp + 4], eax
test eax, eax
jle 0x73afcf
cmp r13d, r12d
jle 0x73b086
mov rax, rbp
mov esi, 0x38
mov rbp, rbx
mov ebx, r12d
mov r12, rax
jmp 0x73ae19
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x73af22
movzx eax, byte [rcx + 2]
shl r10d, 0xe
or r10d, eax
test al, 0x80
je 0x73af7f
mov rdx, r15
call fcn.007ca200
mov edx, dword [rsp + 0xa8]
movzx eax, al
and edx, 0x7fffffff
mov dword [rbp], edx
add ebx, eax
movsxd rcx, ebx
add rcx, r14
movzx r10d, byte [rcx]
mov eax, r10d
test r10b, r10b
jns 0x73ae50
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x73af4c
movzx eax, byte [rcx + 2]
shl r10d, 0xe
or r10d, eax
test al, 0x80
je 0x73af61
mov rdx, r15
call fcn.007ca200
mov edx, dword [rsp + 0xa8]
movzx eax, al
and edx, 0x7fffffff
mov dword [rbp + 4], edx
add ebx, eax
movsxd rcx, ebx
add rcx, r14
movzx r10d, byte [rcx]
mov eax, r10d
test r10b, r10b
jns 0x73ae40
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x73af37
movzx eax, byte [rcx + 2]
shl r10d, 0xe
or r10d, eax
test al, 0x80
je 0x73af9d
mov rdx, r15
call fcn.007ca200
mov edx, dword [rsp + 0xa8]
movzx eax, al
and edx, 0x7fffffff
mov dword [rbp + 8], edx
add ebx, eax
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x73ae60
mov eax, dword [rbp + 4]
cmp dword [rbp + 8], eax
jl 0x73b080
add edi, 1
cmp edi, dword [rsp + 0xa4]
jge 0x73afc9
mov rbp, qword [r12 + 8]
add rbp, rsi
add rsi, 0x38
cmp r13d, ebx
jle 0x73b080
movsxd rcx, ebx
add rcx, r14
movzx r10d, byte [rcx]
mov eax, r10d
test r10b, r10b
js 0x73ad00
mov dword [rbp], r10d
mov eax, 1
jmp 0x73ad3a
mov dword [rbp + 8], r10d
mov eax, 1
jmp 0x73adde
mov dword [rbp + 4], r10d
mov eax, 1
jmp 0x73ad8c
movsxd rcx, ebx
lea rdx, [rbp + 0x10]
add rcx, r14
call fcn.007ca200
lea rdx, [rbp + 0x18]
movzx eax, al
add ebx, eax
movsxd rcx, ebx
add rcx, r14
call fcn.007ca200
movzx eax, al
add ebx, eax
movsxd rcx, ebx
add rcx, r14
movzx r10d, byte [rcx]
mov eax, r10d
test r10b, r10b
jns 0x73afbb
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x73b115
movzx eax, byte [rcx + 2]
shl r10d, 0xe
or r10d, eax
test al, 0x80
je 0x73b16a
mov rdx, r15
call fcn.007ca200
mov edx, dword [rsp + 0xa8]
movzx r10d, al
and edx, 0x7fffffff
mov dword [rbp + 0x20], edx
add ebx, r10d
lea rdx, [rbp + 0x28]
movsxd rcx, ebx
add rcx, r14
call fcn.007ca200
lea rdx, [rbp + 0x30]
movzx r10d, al
add ebx, r10d
movsxd rcx, ebx
add rcx, r14
call fcn.007ca200
mov rdx, qword [rsp + 0x58]
movzx r8d, al
mov rax, qword [rbp + 0x18]
add ebx, r8d
cmp rdx, rax
cmovae rax, rdx
mov qword [rsp + 0x58], rax
jmp 0x73ade8
and eax, 0x7f
shl eax, 7
or eax, edx
mov dword [rbp], eax
mov eax, 2
jmp 0x73ad3a
and eax, 0x7f
shl eax, 7
or eax, edx
mov dword [rbp + 8], eax
mov eax, 2
jmp 0x73adde
and eax, 0x7f
shl eax, 7
or eax, edx
mov dword [rbp + 4], eax
mov eax, 2
jmp 0x73ad8c
and edx, 0x7f
and r10d, 0x1fc07f
mov eax, 3
shl edx, 7
or r10d, edx
mov dword [rbp + 4], r10d
jmp 0x73ad8c
and edx, 0x7f
and r10d, 0x1fc07f
mov eax, 3
shl edx, 7
or r10d, edx
mov dword [rbp], r10d
jmp 0x73ad3a
and edx, 0x7f
and r10d, 0x1fc07f
mov eax, 3
shl edx, 7
or r10d, edx
mov dword [rbp + 8], r10d
jmp 0x73adde
mov dword [rbp + 0x20], r10d
mov r10d, dword [rsp + 0x50]
jmp 0x73aed9
mov rbp, r12
mov r12d, ebx
mov r11d, dword [rsp + 0x60]
test r11d, r11d
je 0x73affa
mov r10d, dword [rbp - 0x10]
test r10d, r10d
je 0x73affa
mov r9d, dword [rsp + 0xa4]
test r9d, r9d
jne 0x73affa
mov dword [rsp + 0xa0], 0x10b
mov esi, dword [rsp + 0x60]
cmp dword [rsp + 0x94], esi
je 0x73b1e0
mov eax, dword [rsp + 0xa0]
add dword [rsp + 0x60], 1
mov esi, dword [rsp + 0x60]
test eax, eax
jne 0x73b2a1
mov eax, dword [rsp + 0x54]
add rbp, 0x10
cmp esi, eax
jne 0x73a8d0
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x90]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x73b1fd
mov dword [rsp + 0xa0], 0x10b
cmp dword [rsp + 0x50], 0
je 0x73a921
jmp 0x73a90f
mov rbp, r12
mov r12d, ebx
mov dword [rsp + 0xa0], 0x10b
jmp 0x73afcf
mov rcx, qword [rsp + 0xa8]
call fcn.0082d530
mov dword [rsp + 0xa0], eax
mov r13d, eax
test eax, eax
jne 0x73aba2
mov eax, dword [rsp + 0x50]
sub eax, 4
cmp eax, 1
ja 0x73b189
mov rax, qword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
mov dword [rax + 0x80], edi
mov rax, qword [rsp + 0x48]
mov edi, dword [rsp + 0x54]
mov dword [rax + 0x84], edi
jmp 0x73abba
and eax, 0x7f
mov edi, r13d
shl eax, 7
or eax, r8d
mov dword [rsp + 0x54], eax
jmp 0x73a70d
and eax, 0x7f
mov r13d, 2
shl eax, 7
or eax, r8d
mov dword [rsp + 0x64], eax
jmp 0x73a760
and eax, 0x7f
mov r10d, 2
shl eax, 7
or eax, edx
mov dword [rbp + 0x20], eax
jmp 0x73aed9
and r8d, 0x7f
and eax, 0x1fc07f
mov rdx, r15
mov edi, r11d
shl r8d, 7
or eax, r8d
mov dword [rsp + 0x54], eax
jmp 0x73a70d
and r8d, 0x7f
and edx, 0x1fc07f
mov r13d, 3
shl r8d, 7
or edx, r8d
mov dword [rsp + 0x64], edx
jmp 0x73a760
and edx, 0x7f
and r10d, 0x1fc07f
shl edx, 7
or r10d, edx
mov dword [rbp + 0x20], r10d
mov r10d, 3
jmp 0x73aed9
mov dword [rsp + 0xa0], 1
mov rax, qword [rsp + 0x48]
mov rbp, qword [rax + 0xb8]
test rbp, rbp
je 0x73b1f2
mov edx, dword [rsp + 0x50]
mov r9d, 5
mov r8d, 4
lea rcx, str.invalid_fts5_file_format__found__d__expected__d_or__d____run_rebuild
call fcn.0082f750
mov qword [rbp], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x50], eax
test eax, eax
je 0x73b0d4
jmp 0x73abb5
mov r8d, dword [rbp]
test r8d, r8d
jne 0x73a8e0
jmp 0x73b00b
mov r13d, 1
jmp 0x73abba
cmp dword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
je 0x73a9e0
jmp 0x73a9c3
mov qword [rsp + 0x58], 0
jmp 0x73a9b8
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x90]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x100]
jmp 0x73a9b4
mov qword [rsp + 0x58], 0
jmp 0x73b04f
mov rcx, rsi
call fcn.0082d7e0
mov ebp, dword [rbx + 0x3c]
test ebp, ebp
jne 0x73a5ff
mov qword [rbx + 0x90], 0
jmp 0x73a5a9
mov rax, rbp
mov rsi, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x90]
mov qword [rax + 8], 0
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x100]
jmp 0x73a9b4
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0x60], eax
mov ebp, dword [rsp + 0x90]
mov r12, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x100]
jmp 0x73a9b8