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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov r15, qword [rsp + 0xc0]
xor r14d, r14d
mov ebx, r9d
mov rdi, r8
mov rsi, rdx
mov r12, rcx
test rdx, rdx
jne 0x1401141cd
cmp byte [rcx], r14b
jne 0x1401141c3
movzx r10d, byte [rcx + 1]
test r10b, 2
je 0x1401141c3
mov rax, qword [rcx + 0x30]
cmp rax, r8
jne 0x140114178
mov rax, r15
mov dword [rax], r14d
xor eax, eax
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
jge 0x1401141c3
test r10b, 8
jne 0x140114247
inc rax
cmp rax, rdi
jne 0x1401141c3
xor edx, edx
mov dword [r15], r14d
call fcn.140114630
test eax, eax
jne 0x1401141ba
mov rcx, r12
call fcn.1400fa960
cmp qword [r12 + 0x30], rdi
jne 0x1401141c3
xor eax, eax
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp eax, 0x65
jne 0x14011461e
mov rbp, r14
mov qword [rsp + 0x38], r14
jmp 0x140114232
mov rcx, qword [rdx]
cmp word [rcx + 8], 0xd
ja 0x140114222
mov rax, qword [rdx + 8]
movzx edx, word [rax + 8]
mov rax, qword [rcx + 0x18]
movzx ecx, byte [rax]
test cl, cl
je 0x1401141f5
test cl, 2
jne 0x140114222
mov al, 0xff
mov cl, 1
jmp 0x1401141f9
mov al, 1
mov cl, 0xff
mov byte [rsi + 0x14], cl
mov byte [rsi + 0x15], al
test dl, 4
je 0x14011420d
lea rbp, [0x14015bcf0]
jmp 0x140114229
test dl, 0x39
jne 0x140114222
mov rax, qword [rsi]
lea rbp, [0x14015bec0]
cmp qword [rax + 0x20], r14
je 0x140114229
lea rbp, [0x14014a8e0]
mov qword [rsp + 0x38], rbp
mov byte [rsi + 0x13], r14b
mov rcx, r12
call fcn.1400ff0a0
test eax, eax
je 0x14011425f
cmp eax, 0x10
jne 0x14011461e
mov dword [r15], 0xffffffff
xor eax, eax
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 1
mov qword [rsp + 0xa0], r13
sub eax, ebx
mov dword [rsp + 0x30], eax
mov r13, qword [r12 + 0x88]
mov r15d, r14d
mov ecx, eax
movzx r14d, word [r13 + 0x18]
lea rdx, [r13 + 0x60]
dec r14d
mov qword [rsp + 0x40], rdx
mov edi, r14d
lea r8, [r13 + 0x1a]
sar edi, cl
mov word [r12 + 0x56], di
mov qword [rsp + 0x48], r8
test rbp, rbp
jne 0x1401143a0
mov rbx, qword [rdx]
movzx esi, word [r8]
mov rbp, qword [r13 + 0x68]
nop dword [rax + rax]
lea eax, [rdi + rdi]
movsxd rcx, eax
movzx eax, word [rcx + rbx]
ror ax, 8
movzx ecx, ax
movzx eax, si
and rcx, rax
add rcx, rbp
cmp byte [r13 + 3], 0
je 0x140114304
cmp byte [rcx], 0x80
jb 0x140114301
mov rax, qword [r13 + 0x58]
nop word [rax + rax]
inc rcx
cmp rcx, rax
jae 0x140114549
cmp byte [rcx], 0x80
jae 0x1401142f0
inc rcx
lea rdx, [rsp + 0x50]
call fcn.140127d70
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0xb0]
jge 0x140114360
lea r15d, [rdi + 1]
cmp r15d, r14d
jle 0x14011436b
mov ebx, 0xffffffff
cmp byte [r13 + 8], 0
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
jne 0x140114599
movzx eax, word [r13 + 0x18]
cmp r15d, eax
jl 0x1401144f3
movzx ecx, byte [r13 + 9]
mov rax, qword [r13 + 0x50]
mov edx, dword [rcx + rax + 8]
jmp 0x140114516
jle 0x14011437d
lea r14d, [rdi - 1]
cmp r15d, r14d
jg 0x140114376
lea edi, [r14 + r15]
sar edi, 1
jmp 0x1401142c0
mov ebx, 1
jmp 0x14011432b
mov word [r12 + 0x56], di
cmp byte [r13 + 8], 0
jne 0x14011457a
mov rdx, qword [rsp + 0x40]
mov r15d, edi
mov r8, qword [rsp + 0x48]
jmp 0x140114340
lea eax, [rdi + rdi]
movsxd rcx, eax
mov rax, qword [rdx]
movzx edx, word [rcx + rax]
movzx eax, word [r8]
ror dx, 8
movzx edx, dx
and rdx, rax
movzx eax, byte [r13 + 0xb]
add rdx, qword [r13 + 0x68]
movzx ecx, byte [rdx]
cmp ecx, eax
ja 0x1401143da
mov r8, rsi
inc rdx
call rbp
mov ebx, eax
jmp 0x1401144c1
movzx eax, byte [rdx + 1]
test al, al
js 0x140114406
and ecx, 0x7f
movzx eax, al
shl ecx, 7
add ecx, eax
movzx eax, word [r13 + 0xe]
cmp ecx, eax
ja 0x140114406
add rdx, 2
mov r8, rsi
call rbp
mov ebx, eax
jmp 0x1401144c1
movzx eax, byte [r13 + 0xa]
lea r8, [r12 + 0x30]
sub rdx, rax
mov rcx, r13
call qword [r13 + 0x80]
movsxd rbx, dword [r12 + 0x30]
cmp ebx, 2
jl 0x1401145e0
mov rcx, qword [r12 + 0x20]
xor edx, edx
mov eax, ebx
div dword [rcx + 0x34]
cmp eax, dword [rcx + 0x3c]
ja 0x1401145e0
lea eax, [rbx + 0x12]
movsxd rcx, eax
call fcn.14012cad0
mov rsi, rax
test rax, rax
je 0x1401145d9
mov r9, rax
mov word [r12 + 0x56], di
mov r8d, ebx
mov dword [rsp + 0x20], 0
xor edx, edx
mov rcx, r12
call fcn.1400e2c70
mov ebp, eax
xor eax, eax
mov qword [rbx + rsi], rax
mov qword [rbx + rsi + 8], rax
mov word [rbx + rsi + 0x10], ax
and byte [r12 + 1], 0xfb
test ebp, ebp
jne 0x1401145cf
mov r8, qword [rsp + 0xa8]
xor r9d, r9d
mov rdx, rsi
mov ecx, ebx
call fcn.14014a8f0
mov rcx, rsi
mov ebx, eax
call fcn.1400d56c0
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x38]
test ebx, ebx
jns 0x1401144cb
lea r15d, [rdi + 1]
jmp 0x1401144d5
jle 0x1401145af
lea r14d, [rdi - 1]
cmp r15d, r14d
jg 0x14011432b
mov rdx, qword [rsp + 0x40]
lea edi, [r14 + r15]
mov r8, qword [rsp + 0x48]
sar edi, 1
jmp 0x1401143a0
lea eax, [r15 + r15]
movsxd rcx, eax
mov rax, qword [rdx]
movzx edx, word [rcx + rax]
movzx eax, word [r8]
ror dx, 8
movzx ecx, dx
and rcx, rax
mov rax, qword [r13 + 0x50]
mov edx, dword [rcx + rax]
bswap edx
mov rcx, r12
mov word [r12 + 0x56], r15w
call fcn.1400fed60
mov ebp, eax
test eax, eax
jne 0x14011460c
mov rsi, qword [rsp + 0xa8]
xor r14d, r14d
mov rbp, qword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
jmp 0x140114272
lea rax, [0x140223e64]
mov ebp, VariantTimeToDosDateTime
mov ecx, ebp
mov qword [rsp + 0x20], rax
mov r9d, 0x10d00
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400dfee0
jmp 0x140114614
or byte [r12 + 1], 2
mov rcx, qword [rsp + 0xc0]
mov qword [r12 + 0x30], rax
xor eax, eax
mov word [r12 + 0x46], ax
mov dword [rcx], eax
jmp 0x140114616
mov rcx, qword [rsp + 0xc0]
xor eax, eax
mov word [r12 + 0x56], di
mov ebp, eax
mov dword [rcx], ebx
jmp 0x14011460e
mov rcx, qword [rsp + 0xc0]
xor ebp, ebp
mov dword [rcx], ebp
mov word [r12 + 0x56], di
cmp byte [rsi + 0x13], bpl
je 0x14011460c
mov r9d, 0x10d6b
jmp 0x1401145e6
mov rcx, rsi
call fcn.1400d56c0
jmp 0x14011460c
mov ebp, 7
jmp 0x14011460c
mov r9d, 0x10d4b
lea rax, [0x140223e64]
mov ebp, VariantTimeToDosDateTime
mov ecx, ebp
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400dfee0
xor eax, eax
mov word [r12 + 0x46], ax
mov eax, ebp
mov r13, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret