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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r13
sub rsp, 0x168
mov rsi, rcx
xor ecx, ecx
mov rbx, r8
mov rax, qword [rsi]
mov r13, rcx
mov r11, rcx
mov rbp, qword [rax]
movzx eax, word [rsp + 0x1b0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x68], rbp
test ax, ax
je 0x1800786f1
test byte [rbp + 0x4c], 0x80
je 0x1800786f1
xor al, al
add rsp, 0x168
pop r13
pop rsi
pop rbp
pop rbx
ret
movzx r10d, word [rdx]
mov word [rsp + 0x48], r10w
cmp r10w, 0x3f
ja 0x1800786e2
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x148], r15
movzx r15d, r10w
mov r12d, 1
mov ecx, r15d
mov r9, r12
mov dil, 1
shl r9, cl
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x3c], r15d
dec r9
xor r10d, r10d
mov ecx, r10d
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], r10
mov rbp, r10
mov qword [rsp + 0x60], r10
mov r8, r10
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x70], r10
nop dword [rax + rax]
cmp r11, r9
jae 0x180078f38
movzx eax, ax
cmp ecx, eax
jg 0x180078f38
test ecx, ecx
jle 0x180078791
or rbp, qword [r13 + 8]
mov qword [rsp + 0x60], rbp
cmp ecx, eax
jge 0x1800787a4
mov rax, qword [rbx + 0x18]
mov rbx, qword [rax + r8*8]
mov qword [rsp + 0x50], rbx
jmp 0x1800787b1
mov rbx, qword [rsp + 0x1b8]
mov qword [rsp + 0x50], rbx
bt dword [rbx + 0x28], 0xa
jb 0x180078f32
movzx ecx, byte [rbx + 0x10]
mov rax, qword [rsi + 8]
mov r13d, r10d
imul rcx, rcx, 0x78
mov r8d, dword [rcx + rax + 0x50]
mov dword [rsp + 0x28], r8d
test r15d, r15d
jle 0x1800789eb
mov r14, r10
mov ecx, r13d
shl r12, cl
test r11, r12
jne 0x1800789cc
mov rax, qword [rdx + 8]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x180078825
nop dword [rax]
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x180078825
bt eax, 0x12
jae 0x18007881c
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
jmp 0x180078820
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x180078800
cmp byte [rbx], 0x9a
jne 0x1800789cc
cmp dword [rbx + 0x2c], r8d
jne 0x1800789cc
lea rax, [rsi + 0x158]
lea rcx, [rsp + 0xc0]
mov byte [rsp + 0xd8], 0
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
movsx eax, word [rbx + 0x30]
mov rsi, r10
mov qword [rsp + 0xd0], r10
mov dword [rsp + 0xdc], 0x82
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xe0], r10d
mov dword [rsp + 0xe4], r8d
mov byte [rsp + 0xd9], 2
mov byte [rsp + 0xda], 2
call fcn.18006c700
mov rdi, rax
test rax, rax
je 0x1800788e0
not rbp
mov rax, qword [rdi + 0x28]
test rbp, rax
jne 0x1800788cb
test rax, rax
jne 0x1800788c4
test byte [rdi + 0x1a], 2
jne 0x1800788e3
test rsi, rsi
cmove rsi, rdi
lea rcx, [rsp + 0xc0]
call fcn.18006c700
mov rdi, rax
test rax, rax
jne 0x1800788b0
mov rdi, rsi
test rdi, rdi
je 0x1800789aa
test byte [rdi + 0x1a], 2
je 0x18007897e
cmp word [rbx + 0x30], 0
jl 0x180078974
mov rdx, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x190]
mov rdx, qword [rdx + 8]
mov rcx, qword [rsi]
mov rdx, qword [r14 + rdx]
call fcn.180068ae0
test rax, rax
jne 0x18007892d
mov rbp, qword [rsp + 0x68]
mov rax, qword [rbp + 0x10]
jmp 0x180078932
mov rbp, qword [rsp + 0x68]
mov rdx, qword [rdi]
mov rcx, qword [rsi]
mov rbx, qword [rax]
call fcn.180068ae0
test rax, rax
jne 0x180078949
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
mov rcx, rbx
call sym.SQLite.Interop.dll_sqlite3_stricmp
test eax, eax
je 0x180078986
mov r11, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x60]
xor r10d, r10d
jmp 0x1800789cc
mov rsi, qword [rsp + 0x190]
jmp 0x180078986
mov rsi, qword [rsp + 0x190]
mov r11, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x60]
or r11, r12
xor r10d, r10d
mov qword [rsp + 0x30], r11
jmp 0x1800789cc
mov r11, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x60]
xor r10d, r10d
inc r13d
add r14, 0x28
mov r12d, 1
cmp r13d, r15d
jl 0x1800787e1
mov rbx, qword [rsp + 0x50]
mov edi, dword [rsp + 0x20]
mov eax, dword [rbx + 0x28]
bt eax, 0xc
jb 0x180078d09
bt eax, 8
jae 0x180078a0e
mov r12, r10
mov word [rsp + 0x38], r10w
mov eax, 1
jmp 0x180078a46
mov r12, qword [rbx + 0x20]
test r12, r12
je 0x180078f6a
test byte [r12 + 0x5c], 4
jne 0x180078f6a
movzx eax, word [r12 + 0x56]
cmp byte [r12 + 0x5a], 0
setne dil
mov word [rsp + 0x38], ax
movzx eax, word [r12 + 0x58]
mov dword [rsp + 0x20], edi
xor r15b, r15b
xor r9b, r9b
mov r14d, r10d
mov r13, r10
movzx r10d, ax
mov byte [rsp + 0x24], r15b
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x58], r10d
test r10d, r10d
jle 0x180078cf7
nop
movzx edx, word [rbx + 0x18]
cmp r14d, edx
jge 0x180078aa4
cmp word [rbx + 0x2e], 0
jne 0x180078aa4
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + r13*8]
movzx eax, word [rcx + 0x1a]
test al, 0x82
je 0x180078aa4
test al, al
jns 0x180078cc1
xor dil, dil
mov dword [rsp + 0x20], edi
jmp 0x180078cc1
test r12, r12
je 0x180078ad0
mov rax, qword [r12 + 8]
movsx esi, word [rax + r13*2]
mov rax, qword [r12 + 0x38]
movzx ebp, byte [r13 + rax]
mov rax, qword [r12 + 0x18]
movsx ecx, word [rax + 0x40]
cmp esi, ecx
jne 0x180078ad6
or esi, 0xffffffff
jmp 0x180078ad6
or esi, 0xffffffff
xor bpl, bpl
test dil, dil
je 0x180078b1b
test esi, esi
js 0x180078b16
cmp r14d, edx
jl 0x180078b11
mov rax, qword [r12 + 0x18]
movsxd rcx, esi
movzx edi, dil
mov rdx, qword [rax + 8]
lea rax, [rcx + rcx*2]
mov r10d, 0
shl rax, 4
cmp byte [rax + rdx + 0x28], 0
cmove edi, r10d
mov dword [rsp + 0x20], edi
jmp 0x180078b1e
xor r10d, r10d
jmp 0x180078b1e
xor r10d, r10d
jmp 0x180078b1e
xor r10d, r10d
mov dil, 1
mov ebx, r10d
cmp ebx, dword [rsp + 0x3c]
jge 0x180078c35
mov eax, ebx
bt r11, rax
jb 0x180078bec
mov r9, qword [rsp + 0x198]
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [r9 + 8]
mov rdx, qword [rax + rcx*8]
mov rax, rdx
test rdx, rdx
je 0x180078b85
nop dword [rax]
mov ecx, dword [rax + 4]
bt ecx, 0xc
jae 0x180078b85
bt ecx, 0x12
jae 0x180078b7c
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
jmp 0x180078b80
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180078b60
mov ecx, 0x300
movzx edi, dil
test word [rsp + 0x1a8], cx
cmove edi, r10d
cmp byte [rax], 0x9a
jne 0x180078bec
cmp dword [rax + 0x2c], r8d
jne 0x180078bec
movsx eax, word [rax + 0x30]
cmp eax, esi
jne 0x180078bec
test esi, esi
js 0x180078c0a
mov rax, qword [rsp + 0x190]
mov rcx, qword [rax]
call fcn.180068ae0
test rax, rax
jne 0x180078bcf
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
mov rdx, qword [r12 + 0x40]
mov rcx, qword [rax]
mov rdx, qword [rdx + r13*8]
call sym.SQLite.Interop.dll_sqlite3_stricmp
test eax, eax
je 0x180078bfd
mov r11, qword [rsp + 0x30]
xor r10d, r10d
inc ebx
test dil, dil
je 0x180078c35
mov r8d, dword [rsp + 0x28]
jmp 0x180078b24
mov r11, qword [rsp + 0x30]
mov r9, qword [rsp + 0x198]
mov eax, 0x100
test word [rsp + 0x1a8], ax
jne 0x180078c8d
test r15b, r15b
je 0x180078c58
xor bpl, byte [rsp + 0x24]
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [r9 + 8]
cmp bpl, byte [rax + rcx*8 + 0x18]
je 0x180078c8d
test r13, r13
je 0x180078c48
movzx eax, word [rsp + 0x38]
cmp r14d, eax
jge 0x180078cd6
mov r9d, dword [rsp + 0x40]
xor al, al
mov dword [rsp + 0x20], eax
jmp 0x180078ce5
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [r9 + 8]
movzx r8d, byte [rax + rcx*8 + 0x18]
xor r8b, bpl
mov byte [rsp + 0x24], r8b
je 0x180078c8a
mov ecx, dword [rsp + 0x44]
mov eax, 1
shl rax, cl
mov rcx, qword [rsp + 0x1c0]
or qword [rcx], rax
mov r15b, 1
mov r9d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x20]
test esi, esi
mov eax, 1
mov ecx, ebx
mov rbx, qword [rsp + 0x50]
movzx r9d, r9b
cmovs r9d, eax
shl rax, cl
or r11, rax
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x30], r11
inc r14d
inc r13
cmp r14d, r10d
jge 0x180078ce1
mov r8d, dword [rsp + 0x28]
jmp 0x180078a70
mov r9d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x20]
jmp 0x180078ce5
mov eax, dword [rsp + 0x20]
test r9b, r9b
je 0x180078d02
mov r15d, dword [rsp + 0x3c]
mov al, 1
mov dword [rsp + 0x20], eax
jmp 0x180078d15
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x20]
jmp 0x180078d0d
mov r15d, dword [rsp + 0x3c]
jmp 0x180078d0d
mov eax, dword [rsp + 0x20]
test al, al
je 0x180078eca
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x50]
xor eax, eax
or r14, qword [r13 + 8]
mov esi, eax
mov qword [rsp + 0x80], r14
test r15d, r15d
jle 0x180078ecf
mov rbp, rax
lea r13, [fcn.1800101c0]
mov eax, 1
nop word [rax + rax]
mov ecx, esi
mov rdi, rax
shl rdi, cl
test r11, rdi
jne 0x180078eb4
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x190]
mov rax, qword [rax + 8]
add rcx, 0x54
mov rbx, qword [rax + rbp]
mov rdx, rbx
call fcn.1800196f0
mov r12, rax
test rax, rax
jne 0x180078e7f
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rax
lea rax, [0x1800101b0]
mov byte [rsp + 0xac], 1
mov qword [rsp + 0x88], r13
mov dword [rsp + 0xb0], r12d
mov qword [rsp + 0x90], rax
test rbx, rbx
je 0x180078e7f
lea rcx, [rsp + 0x88]
mov rdx, rbx
call fcn.1800101c0
test eax, eax
jne 0x180078e75
bt dword [rbx + 4], 0xe
jb 0x180078e75
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x180078e26
lea rcx, [rsp + 0x88]
call fcn.180022f60
test eax, eax
jne 0x180078e75
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x180078e40
lea rcx, [rsp + 0x88]
call fcn.180022f60
test eax, eax
jne 0x180078e75
bt dword [rbx + 4], 0xb
jae 0x180078e5f
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x180078e75
lea rcx, [rsp + 0x88]
call fcn.180022ea0
jmp 0x180078e75
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x180078e75
lea rcx, [rsp + 0x88]
call fcn.180010580
cmp byte [rsp + 0xac], 0
je 0x180078eaa
mov rax, r14
not rax
test r12, rax
jne 0x180078e9e
mov r11, qword [rsp + 0x30]
mov eax, 1
or r11, rdi
mov qword [rsp + 0x30], r11
jmp 0x180078eb4
mov r11, qword [rsp + 0x30]
mov eax, 1
jmp 0x180078eb4
mov r11, qword [rsp + 0x30]
mov eax, 1
inc esi
add rbp, 0x28
cmp esi, r15d
jl 0x180078d50
mov r13, qword [rsp + 0x50]
jmp 0x180078ecf
mov r13, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x44]
mov r8, qword [rsp + 0x70]
mov edi, dword [rsp + 0x20]
inc ecx
inc r8
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x70], r8
test dil, dil
je 0x180078f25
mov rdx, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x190]
mov rbp, qword [rsp + 0x60]
mov r9, qword [rsp + 0x78]
mov ax, word [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1a0]
xor r10d, r10d
lea r12d, [r10 + 1]
jmp 0x180078770
mov r9, qword [rsp + 0x78]
mov r12d, 1
jmp 0x180078f38
cmp byte [rbx + 0x1d], 0
jne 0x180078f3d
cmp r11, r9
jne 0x180078f43
mov al, byte [rsp + 0x48]
jmp 0x180078f74
test dil, dil
jne 0x180078f72
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x180078f6a
mov rdx, r12
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r11
cmp rax, rdx
je 0x180078f6e
dec ecx
test ecx, ecx
jg 0x180078f50
xor al, al
jmp 0x180078f74
mov al, cl
jmp 0x180078f74
mov al, 0xff
mov r14, qword [rsp + 0x150]
mov r12, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
mov r15, qword [rsp + 0x148]
add rsp, 0x168
pop r13
pop rsi
pop rbp
pop rbx
ret