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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rdi
push r13
push r14
lea rbp, [rsp - 0xd8]
sub rsp, 0x1d8
xor r14d, r14d
mov r9, rcx
xor ecx, ecx
mov dword [rsp + 0x40], r14d
mov dword [rbp - 0x50], r14d
mov edi, r14d
mov dword [rbp - 0x10], ecx
mov r13d, r14d
mov r10, qword [r9 + 0x48]
mov qword [rsp + 0x70], r10
mov byte [rbp - 0xc], cl
mov dword [rsp + 0x78], r14d
mov qword [rbp - 0x60], r14
test r8, r8
jne 0x1401169f9
lea eax, [rcx + 7]
add rsp, 0x1d8
pop r14
pop r13
pop rdi
pop rbp
ret
movzx ecx, word [r9 + 0x12]
movzx r8d, byte [r9 + 1]
mov qword [rsp + 0x208], rbx
mov qword [rsp + 0x1d0], rsi
mov qword [rsp + 0x1c8], r12
lea ebx, [r8 + rcx]
mov qword [rsp + 0x1c0], r15
cmp ebx, 2
jae 0x140116a31
mov edx, r14d
jmp 0x140116a5a
test edx, edx
jne 0x140116a3a
mov edx, r14d
jmp 0x140116a4d
cmp edx, ebx
jne 0x140116a4b
mov eax, dword [rbp + 0x120]
lea edx, [rax - 2]
add edx, ebx
jmp 0x140116a53
dec edx
mov eax, dword [rbp + 0x120]
mov ebx, 2
sub ebx, eax
mov eax, edx
mov dword [rsp + 0x5c], edx
sub eax, r8d
mov dword [rbp - 0x68], ebx
add eax, ebx
lea r11d, [rbx + 1]
mov dword [rbp - 0x4c], r11d
cmp eax, ecx
jne 0x140116a7f
movzx ecx, byte [r9 + 6]
add rcx, 8
jmp 0x140116a9b
add eax, eax
movsxd rcx, eax
mov rax, qword [r9 + 0x60]
movzx edx, word [rcx + rax]
movzx eax, word [r9 + 0x14]
ror dx, 8
movzx ecx, dx
and rcx, rax
add rcx, qword [r9 + 0x50]
lea r12, [rbp - 0x28]
movsxd rax, ebx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x58], rax
mov r15d, dword [rcx]
bswap r15d
movsxd rcx, r11d
lea r12, [r12 + rax*4]
mov dword [rsp + 0x64], r15d
mov esi, r15d
mov dword [rsp + 0x60], r15d
lea r15, [rax*8]
mov qword [rbp - 0x58], rcx
mov dword [rsp + 0x58], ebx
cmp esi, dword [r10 + 0x3c]
jbe 0x140116b0a
lea r9, [0x1402b951c]
mov r8d, 0xd9c5
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov esi, VariantTimeToDosDateTime
mov dword [rsp + 0x44], esi
jmp 0x140116b95
mov rcx, qword [r10]
lea r8, [rsp + 0x68]
xor r9d, r9d
mov edx, esi
call fcn.140153e20
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140116b91
mov rdx, qword [rsp + 0x68]
cmp esi, 1
mov rcx, qword [rdx + 0x10]
mov rax, qword [rdx + 8]
mov qword [rcx + 0x50], rax
mov rax, qword [rsp + 0x70]
mov qword [rcx + 0x48], rax
mov eax, r14d
mov qword [rcx + 0x70], rdx
mov edx, 0x64
cmove eax, edx
mov dword [rcx + 0x88], esi
mov byte [rcx + 6], al
mov qword [rbp + r15 - 8], rcx
cmp byte [rcx], r13b
jne 0x140116b87
call fcn.1401190c0
mov dword [rsp + 0x44], eax
mov esi, eax
test eax, eax
je 0x140116b87
mov rcx, qword [rbp + r15 - 8]
test rcx, rcx
je 0x140116b95
mov rcx, qword [rcx + 0x70]
call fcn.140155c40
jmp 0x140116b95
mov esi, r14d
mov dword [rsp + 0x44], r14d
jmp 0x140116b95
mov esi, dword [rsp + 0x44]
mov dword [rsp + 0x48], esi
test esi, esi
jne 0x140117d93
mov rax, qword [rbp + r15 - 8]
sub r12, 4
sub r15, 8
movzx edx, word [rax + 0x12]
movzx ecx, byte [rax + 1]
mov eax, ebx
add ecx, edi
dec ebx
lea edi, [rdx + 1]
add edi, ecx
mov dword [rsp + 0x50], edi
test eax, eax
je 0x140116d30
mov edx, dword [rsp + 0x5c]
mov r8, qword [rbp + 0x100]
lea ecx, [rdx + rbx]
movzx eax, word [r8 + 0x16]
cmp ecx, eax
jne 0x140116c22
cmp byte [r8 + 1], r13b
je 0x140116c22
mov rdx, qword [r8 + 0x20]
mov rcx, r8
mov qword [rbp + r15 + 0x10], rdx
mov esi, dword [rdx]
bswap esi
mov dword [rsp + 0x64], esi
mov dword [rsp + 0x60], esi
call qword [r8 + 0x78]
mov r10, qword [rsp + 0x70]
movzx eax, ax
mov dword [r12], eax
mov rax, qword [rbp + 0x100]
mov byte [rax + 1], r13b
jmp 0x140116ad4
movzx eax, byte [r8 + 1]
mov ecx, edx
sub ecx, eax
mov rax, qword [r8 + 0x60]
add ecx, ebx
add ecx, ecx
movsxd rcx, ecx
movzx edx, word [rcx + rax]
mov rcx, r8
movzx eax, word [r8 + 0x14]
ror dx, 8
movzx edi, dx
and rdi, rax
add rdi, qword [r8 + 0x50]
mov rdx, rdi
mov qword [rbp + r15 + 0x10], rdi
mov eax, dword [rdi]
bswap eax
mov dword [rsp + 0x64], eax
mov esi, eax
mov dword [rsp + 0x60], eax
call qword [r8 + 0x78]
mov rdx, qword [rsp + 0x70]
movzx r14d, ax
mov dword [r12], r14d
test byte [rdx + 0x26], 4
je 0x140116cc0
mov rax, qword [rbp + 0x100]
mov ecx, edi
sub ecx, dword [rax + 0x50]
lea eax, [r14 + rcx]
cmp eax, dword [rdx + 0x34]
jg 0x140116cf1
movsxd rcx, ecx
mov r8d, r14d
add rcx, qword [rbp + 0x110]
mov rdx, rdi
call fcn.1402496a0
mov rcx, qword [rbp + 0x100]
sub rdi, qword [rcx + 0x50]
add rdi, qword [rbp + 0x110]
mov qword [rbp + r15 + 0x10], rdi
jmp 0x140116cc7
mov rcx, qword [rbp + 0x100]
movzx eax, byte [rcx + 1]
lea r9, [rsp + 0x48]
mov edx, dword [rsp + 0x5c]
mov r8d, r14d
sub edx, eax
add edx, ebx
call fcn.14011f9b0
mov r10, qword [rsp + 0x70]
xor r14d, r14d
mov edi, dword [rsp + 0x50]
jmp 0x140116ad4
lea r9, [0x1402b951c]
mov r8d, 0xeda4
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
movsxd r8, dword [rsp + 0x58]
mov esi, VariantTimeToDosDateTime
shl r8, 3
lea rcx, [rbp - 8]
xor edx, edx
call fcn.140249b10
mov r15d, r13d
jmp 0x140117daa
mov rax, qword [rsp + 0x70]
lea ebx, [rdi + 3]
and ebx, 0xfffffffc
mov eax, dword [rax + 0x30]
lea ecx, [rbx + rbx*4]
lea ecx, [rax + rcx*2]
call fcn.14015fa40
mov qword [rbp - 0x60], rax
mov rsi, rax
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x140116d64
lea esi, [rax + 7]
mov r15d, r13d
jmp 0x140117daa
movsxd rax, ebx
mov rbx, qword [rbp - 0x60]
mov dword [rsp + 0x50], r14d
lea rdx, [rbx + rax*8]
lea rax, [rax + rax*4]
mov qword [rbp - 0x70], rdx
lea rax, [rbx + rax*2]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x80], rax
movzx r8d, byte [rax + 5]
movzx eax, byte [rax + 3]
shl r8w, 2
mov word [rsp + 0x4c], r8w
mov dword [rsp + 0x54], eax
cmp qword [rbp - 0x58], r13
jle 0x140116fe4
mov r12, r14
jmp 0x140116dc4
mov rdx, qword [rbp - 0x70]
mov r14, qword [rbp + r12*8 - 8]
mov rax, qword [rbp - 8]
mov rdi, qword [r14 + 0x50]
mov rcx, qword [rax + 0x50]
movzx ebx, word [r14 + 0xe]
movzx esi, word [r14 + 0x14]
add rbx, rdi
movzx eax, byte [rcx]
cmp byte [rdi], al
jne 0x14011714b
movsxd rax, dword [rsp + 0x78]
movzx r15d, word [r14 + 0x12]
mov r8d, r15d
add r8, r8
lea rcx, [rdx + rax*2]
xor edx, edx
call fcn.140249b10
movzx eax, byte [r14 + 1]
test al, al
je 0x140116eb5
movzx r8d, al
xor edx, edx
mov eax, dword [rsp + 0x78]
add r8, r8
add eax, r15d
movsxd rcx, eax
mov rax, qword [rbp - 0x70]
lea rcx, [rax + rcx*2]
call fcn.140249b10
movzx eax, word [r14 + 0x16]
xor r10d, r10d
mov r9d, dword [rsp + 0x78]
mov r11, qword [rbp - 0x60]
cmp r10w, ax
jae 0x140116e7c
movzx edx, ax
nop
movzx eax, word [rbx]
add rbx, 2
ror ax, 8
movzx ecx, ax
movzx eax, si
and rcx, rax
movsxd rax, r9d
add rcx, rdi
inc r9d
mov qword [r11 + rax*8], rcx
sub rdx, 1
jne 0x140116e50
mov dword [rsp + 0x78], r9d
mov r8d, r10d
cmp byte [r14 + 1], r8b
jbe 0x140116eb8
lea rdx, [r14 + 0x20]
nop dword [rax]
mov rax, qword [rdx]
lea rdx, [rdx + 8]
movsxd rcx, r9d
inc r8d
inc r9d
mov qword [r11 + rcx*8], rax
movzx eax, byte [r14 + 1]
cmp r8d, eax
jl 0x140116e90
mov dword [rsp + 0x78], r9d
jmp 0x140116eb8
xor r10d, r10d
movzx edx, word [r14 + 0x12]
movzx ecx, word [r14 + 0xe]
mov r9d, dword [rsp + 0x78]
add rcx, rdi
lea rax, [rcx + rdx*2]
mov rdx, r10
mov r8, rax
sub r8, rbx
inc r8
shr r8, 1
cmp rbx, rax
cmova r8, r10
test r8, r8
je 0x140116f1e
mov r10, qword [rbp - 0x60]
nop dword [rax]
movzx eax, word [rbx]
lea rbx, [rbx + 2]
ror ax, 8
inc rdx
movzx ecx, ax
movzx eax, si
and rcx, rax
movsxd rax, r9d
add rcx, rdi
inc r9d
mov qword [r10 + rax*8], rcx
cmp rdx, r8
jb 0x140116ef0
mov dword [rsp + 0x78], r9d
mov r15d, dword [rsp + 0x50]
mov dword [rbp + r12*4 + 0x60], r9d
cmp r15d, dword [rbp - 0x68]
jge 0x140116fc9
cmp byte [rsp + 0x54], 0
jne 0x140116fc9
movzx ecx, word [rbp + r12*4 - 0x28]
mov rax, qword [rbp - 0x70]
mov r8d, ecx
mov rdx, qword [rbp + r12*8 + 0x10]
movsxd rdi, r9d
movsxd rbx, r13d
lea rsi, [rax + rdi*2]
add rbx, qword [rsp + 0x68]
add r13d, ecx
mov word [rsi], cx
mov rcx, rbx
call fcn.1402496a0
movzx r8d, word [rsp + 0x4c]
lea rax, [rbx + r8]
mov rbx, qword [rbp - 0x60]
mov qword [rbx + rdi*8], rax
sub word [rsi], r8w
cmp byte [r14 + 5], 0
jne 0x140116f9c
mov rax, qword [r14 + 0x50]
mov rcx, qword [rbx + rdi*8]
inc dword [rsp + 0x78]
mov eax, dword [rax + 8]
mov dword [rcx], eax
jmp 0x140116fcf
cmp word [rsi], 4
jae 0x140116fc3
mov rcx, qword [rsp + 0x68]
movsxd rax, r13d
add rcx, rax
nop dword [rax]
mov byte [rcx], 0
lea rcx, [rcx + 1]
inc word [rsi]
inc r13d
cmp word [rsi], 4
jb 0x140116fb0
inc dword [rsp + 0x78]
jmp 0x140116fcf
movzx r8d, word [rsp + 0x4c]
inc r15d
inc r12
mov dword [rsp + 0x50], r15d
cmp r12, qword [rbp - 0x58]
jl 0x140116dc0
mov rax, qword [rsp + 0x70]
xor r13d, r13d
movzx r8d, r8w
mov eax, dword [rax + 0x34]
add eax, 0xfffffff4
add r8d, eax
mov dword [rsp + 0x58], r8d
cmp qword [rbp - 0x58], r13
jle 0x140117074
mov r15d, r13d
nop word [rax + rax]
mov rbx, qword [rbp + r15*8 - 8]
mov edi, r8d
movzx eax, word [rbx + 0x10]
sub edi, eax
mov dword [rbp + r15*4 - 0x28], edi
js 0x140117179
mov r14d, r13d
cmp byte [rbx + 1], r13b
jbe 0x140117061
lea rsi, [rbx + 0x20]
mov rdx, qword [rsi]
mov rcx, rbx
call qword [rbx + 0x78]
movzx eax, ax
inc r14d
add eax, 2
lea rsi, [rsi + 8]
add edi, eax
movzx eax, byte [rbx + 1]
cmp r14d, eax
jl 0x140117036
mov r8d, dword [rsp + 0x58]
mov dword [rbp + r15*4 - 0x28], edi
mov eax, dword [rbp + r15*4 + 0x60]
mov dword [rbp + r15*4 - 0x40], eax
inc r15
cmp r15, qword [rbp - 0x58]
jl 0x140117010
mov eax, dword [rbp - 0x4c]
mov r12d, r13d
mov dword [rsp + 0x50], eax
mov edx, eax
test eax, eax
jle 0x140117288
mov ecx, dword [rsp + 0x78]
mov r15d, 1
mov r14, r13
nop word [rax + rax]
mov ebx, dword [rbp + r14 - 0x28]
cmp ebx, r8d
jle 0x1401171c2
nop
cmp r15d, edx
jl 0x1401170d6
lea eax, [r15 + 1]
mov dword [rsp + 0x50], eax
cmp r14, 0xc
jg 0x1401173c9
mov dword [rbp + r14 - 0x24], r13d
mov ebx, dword [rbp + r14 - 0x28]
mov dword [rbp + r14 - 0x3c], ecx
movsxd rdi, dword [rbp + r14 - 0x40]
mov rcx, qword [rbp - 0x70]
mov rax, rdi
lea esi, [rdi - 1]
movzx eax, word [rcx + rdi*2 - 2]
test ax, ax
jne 0x140117104
mov edx, esi
lea rcx, [rsp + 0x78]
call fcn.14011cd10
mov rcx, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x58]
movzx eax, ax
add eax, 2
sub ebx, eax
cmp byte [rsp + 0x54], 0
mov dword [rbp + r14 - 0x28], ebx
jne 0x1401171a7
cmp edi, dword [rsp + 0x78]
jge 0x1401171a4
mov rax, rdi
movzx eax, word [rcx + rdi*2]
test ax, ax
jne 0x14011713e
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.14011cd10
mov r8d, dword [rsp + 0x58]
movzx eax, ax
add eax, 2
jmp 0x1401171a7
lea r9, [0x1402b951c]
mov r8d, 0xede7
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
xor r13d, r13d
mov esi, VariantTimeToDosDateTime
mov r15d, r13d
jmp 0x140117daa
lea r9, [0x1402b951c]
mov r8d, 0xee4a
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
mov esi, VariantTimeToDosDateTime
mov r15d, r13d
jmp 0x140117daa
mov eax, r13d
add dword [rbp + r14 - 0x24], eax
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsp + 0x50]
mov dword [rbp + r14 - 0x40], esi
cmp ebx, r8d
jg 0x1401170b0
mov edi, dword [rbp + r14 - 0x40]
cmp edi, ecx
jge 0x14011726e
mov rdx, qword [rbp - 0x70]
nop dword [rax]
nop word [rax + rax]
movsxd rax, edi
movsxd rsi, edi
movzx eax, word [rdx + rax*2]
test ax, ax
jne 0x140117208
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.14011cd10
mov ecx, dword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x58]
movzx eax, ax
add eax, 2
add ebx, eax
cmp ebx, r8d
jg 0x1401173a5
inc edi
mov dword [rbp + r14 - 0x28], ebx
cmp byte [rsp + 0x54], 0
mov dword [rbp + r14 - 0x40], edi
jne 0x140117261
cmp edi, ecx
jge 0x14011725e
mov rax, rsi
movzx eax, word [rdx + rsi*2 + 2]
test ax, ax
jne 0x140117256
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.14011cd10
mov ecx, dword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x58]
movzx eax, ax
add eax, 2
jmp 0x140117261
mov eax, r13d
sub dword [rbp + r14 - 0x24], eax
cmp edi, ecx
jl 0x1401171e0
mov edx, r15d
mov dword [rsp + 0x50], edx
inc r12d
inc r15d
add r14, 4
cmp r12d, edx
jl 0x1401170a0
lea eax, [rdx - 1]
movsxd rsi, eax
mov qword [rbp - 0x48], rsi
test eax, eax
jle 0x140117418
lea rax, [rbp - 0x40]
lea rcx, [rbp - 0x28]
sub rax, rcx
add rax, 0xfffffffffffffffc
mov qword [rbp + 0x10], rax
nop dword [rax]
mov r12d, dword [rbp + rsi*4 - 0x2c]
lea rax, [rbp - 0x28]
mov r14d, dword [rax + rsi*4]
lea rax, [rax + rsi*4]
mov r8d, dword [rbp + rsi*4 - 0x44]
mov rbx, qword [rbp - 0x70]
mov qword [rsp + 0x68], rax
lea rax, [rbp + rsi*4 - 0x2c]
mov qword [rbp + 0x50], rax
lea edi, [r8 - 1]
mov eax, edi
sub eax, dword [rsp + 0x54]
movsxd r15, eax
inc r15
cmp word [rbx + r15*2], 0
lea edx, [rax + 1]
lea r15, [rbx + r15*2]
jne 0x140117306
lea rcx, [rsp + 0x78]
call fcn.14011cd10
mov r8d, dword [rbp + rsi*4 - 0x44]
movsxd rax, edi
lea rsi, [rbx + rax*2]
nop dword [rax]
cmp word [rsi], 0
mov ebx, r8d
mov r8d, edi
jne 0x14011732b
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.14011cd10
mov r8d, edi
test r14d, r14d
je 0x140117352
cmp dword [rbp + 0x120], 0
jne 0x140117380
movzx eax, word [rsi]
lea ecx, [r14 + 2]
mov edx, r12d
sub edx, eax
movzx eax, word [r15]
add ecx, eax
sub edx, 2
cmp ecx, edx
jg 0x140117380
movzx eax, word [r15]
mov ecx, 0xfffffffe
add eax, 2
sub r15, 2
add r14d, eax
mov ebx, edi
movzx eax, word [rsi]
sub rsi, 2
sub ecx, eax
mov rax, qword [rbp - 0x48]
add r12d, ecx
mov dword [rbp + rax*4 - 0x44], edi
sub edi, 1
jns 0x140117310
mov rax, qword [rsp + 0x68]
xor r13d, r13d
mov rsi, qword [rbp - 0x48]
mov dword [rax], r14d
mov rax, qword [rbp + 0x50]
mov dword [rax], r12d
cmp rsi, 1
jle 0x1401173f9
mov rcx, qword [rbp + 0x10]
mov eax, dword [rcx + rax]
jmp 0x1401173fc
cmp edi, ecx
jge 0x14011726e
test r12d, r12d
jle 0x1401173b9
mov eax, dword [rbp + r14 - 0x44]
jmp 0x1401173bc
mov eax, r13d
cmp edi, eax
jle 0x1401173f1
mov edx, dword [rsp + 0x50]
jmp 0x140117275
mov r8d, 0xee56
lea r9, [0x1402b951c]
mov ecx, VariantTimeToDosDateTime
lea rdx, str.database_corruption_at_line__d_of___.10s_
call fcn.14010fcd0
mov esi, VariantTimeToDosDateTime
jmp 0x140117da5
mov r8d, 0xee77
jmp 0x1401173cf
mov eax, r13d
cmp ebx, eax
jle 0x140117484
dec rsi
mov qword [rbp - 0x48], rsi
test rsi, rsi
jg 0x1401172b0
mov edx, dword [rsp + 0x50]
mov rax, qword [rbp - 8]
movsxd rsi, edx
mov rcx, qword [rax + 0x50]
movzx edi, byte [rcx]
mov dword [rsp + 0x50], edi
test edx, edx
jle 0x140117580
mov r15d, dword [rsp + 0x64]
mov rbx, r13
mov r12d, 1
cmp rbx, qword [rbp - 0x58]
jge 0x1401174d1
mov rax, qword [rbp + rbx*8 - 8]
mov qword [rbp + rbx*8 + 0x20], rax
mov qword [rbp + rbx*8 - 8], r13
mov qword [rsp + 0x68], rax
mov rcx, qword [rax + 0x70]
test byte [rcx + 0x2c], 4
mov rdx, qword [rcx + 0x20]
je 0x140117499
mov eax, dword [rcx + 0x28]
cmp dword [rdx + 0x1c], eax
jb 0x140117499
cmp dword [rdx + 0x80], 0
je 0x14011748f
call fcn.140179d60
jmp 0x1401174b3
mov r8d, 0xeea1
jmp 0x1401173cf
mov r14d, r13d
mov dword [rsp + 0x44], r13d
jmp 0x1401174ba
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x1401174ae
call fcn.14012e3b0
jmp 0x1401174b3
call fcn.14012f640
mov r14d, eax
mov dword [rsp + 0x44], eax
inc dword [rsp + 0x40]
mov dword [rsp + 0x48], r14d
test r14d, r14d
jne 0x140117da1
jmp 0x140117574
cmp dword [rbp + 0x120], 0
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
mov byte [rsp + 0x20], 0
cmovne r15d, r12d
mov r9d, r15d
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.140114300
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x140117da1
mov edx, edi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14018bce0
inc dword [rsp + 0x40]
mov eax, dword [rsp + 0x78]
mov qword [rbp + rbx*8 + 0x20], rdi
cmp byte [r15 + 0x21], 0
mov dword [rbp + rbx*4 + 0x60], eax
je 0x14011756b
mov edx, dword [rdi + 0x88]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r8b, 5
mov rax, qword [rbp + 0x100]
mov rcx, r15
mov r9d, dword [rax + 0x88]
call fcn.1401316c0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x140117da1
mov r15d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x50]
inc rbx
cmp rbx, rsi
jl 0x140117440
movsxd r15, dword [rsp + 0x40]
mov qword [rsp + 0x68], r15
mov r13, r15
test r15d, r15d
jle 0x14011785b
xor r12d, r12d
mov edx, r12d
nop dword [rax]
mov rax, qword [rbp + rdx*8 + 0x20]
mov r8d, dword [rax + 0x88]
mov rax, qword [rax + 0x70]
mov dword [rbp + rdx*4 + 0x98], r8d
mov dword [rbp + rdx*4 + 0x78], r8d
movzx ecx, word [rax + 0x2c]
mov rax, r12
mov word [rbp + rdx*2 + 0x10], cx
test rdx, rdx
jle 0x1401175e6
nop
cmp dword [rbp + rax*4 + 0x98], r8d
je 0x1401176d6
inc rax
cmp rax, rdx
jl 0x1401175d0
inc rdx
cmp rdx, r13
jl 0x1401175a0
mov r14, r12
mov eax, 1
mov r10d, r12d
mov rsi, r12
mov r9d, eax
mov r8d, eax
cmp rax, r13
jge 0x140117638
nop word [rax + rax]
mov edx, dword [rbp + rsi*4 + 0x78]
mov rax, r8
cmp dword [rbp + r8*4 + 0x78], edx
cmovae rax, rsi
mov rsi, rax
mov eax, r9d
cmovae eax, r10d
inc r9d
inc r8
mov r10d, eax
cmp r8, r13
jl 0x140117610
mov r15d, dword [rbp + rsi*4 + 0x78]
mov dword [rbp + rsi*4 + 0x78], 0xffffffff
cmp rsi, r14
je 0x14011784a
jle 0x140117765
mov rax, qword [rsp + 0x70]
mov ebx, dword [rax + 0x3c]
mov rax, qword [rbp + rsi*8 + 0x20]
inc ebx
add ebx, r10d
mov r9d, ebx
mov rdi, qword [rax + 0x70]
mov rcx, qword [rdi + 0x30]
mov r8d, dword [rdi + 0x28]
mov rdx, qword [rdi]
mov word [rdi + 0x2c], r12w
mov rcx, qword [rcx + 0x40]
call qword [0x14033a648]
movzx eax, byte [rdi + 0x2c]
and al, 0xa
mov dword [rdi + 0x28], ebx
cmp al, 0xa
jne 0x140117765
mov rcx, qword [rdi + 0x30]
cmp qword [rcx + 0x10], rdi
jne 0x1401176c3
mov rax, qword [rdi + 0x40]
test rax, rax
je 0x1401176bf
nop dword [rax + rax]
test byte [rax + 0x2c], 8
je 0x1401176bf
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401176b0
mov qword [rcx + 0x10], rax
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdi + 0x40]
test rdx, rdx
je 0x140117701
mov qword [rdx + 0x40], rax
jmp 0x140117705
lea r9, [0x1402b951c]
mov r8d, 0xeeeb
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov ecx, VariantTimeToDosDateTime
call fcn.14010fcd0
xor r13d, r13d
mov esi, VariantTimeToDosDateTime
jmp 0x140117daa
mov qword [rcx + 8], rax
mov rdx, qword [rdi + 0x40]
mov rax, qword [rdi + 0x38]
test rdx, rdx
je 0x140117718
mov qword [rdx + 0x38], rax
jmp 0x14011772a
mov qword [rcx], rax
test rax, rax
jne 0x14011772a
cmp byte [rcx + 0x28], r12b
je 0x14011772a
mov byte [rcx + 0x29], 2
mov qword [rdi + 0x38], r12
mov qword [rdi + 0x40], r12
mov rax, qword [rcx]
mov qword [rdi + 0x38], rax
test rax, rax
je 0x140117744
mov qword [rax + 0x40], rdi
jmp 0x140117752
mov qword [rcx + 8], rdi
cmp byte [rcx + 0x28], r12b
je 0x140117752
mov byte [rcx + 0x29], 1
mov qword [rcx], rdi
cmp qword [rcx + 0x10], r12
jne 0x140117765
test byte [rdi + 0x2c], 8
jne 0x140117765
mov qword [rcx + 0x10], rdi
mov rax, qword [rbp + r14*8 + 0x20]
mov r9d, r15d
mov rbx, qword [rax + 0x70]
movzx eax, word [rbp + rsi*2 + 0x10]
mov rcx, qword [rbx + 0x30]
mov r8d, dword [rbx + 0x28]
mov rdx, qword [rbx]
mov word [rbx + 0x2c], ax
mov rcx, qword [rcx + 0x40]
call qword [0x14033a648]
movzx eax, byte [rbx + 0x2c]
and al, 0xa
mov dword [rbx + 0x28], r15d
cmp al, 0xa
jne 0x14011783e
mov rcx, qword [rbx + 0x30]
cmp qword [rcx + 0x10], rbx
jne 0x1401177c7
mov rax, qword [rbx + 0x40]
test rax, rax
je 0x1401177c3
test byte [rax + 0x2c], 8
je 0x1401177c3
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401177b4
mov qword [rcx + 0x10], rax
mov rdx, qword [rbx + 0x38]
mov rax, qword [rbx + 0x40]
test rdx, rdx
je 0x1401177da
mov qword [rdx + 0x40], rax
jmp 0x1401177de
mov qword [rcx + 8], rax
mov rdx, qword [rbx + 0x40]
mov rax, qword [rbx + 0x38]
test rdx, rdx
je 0x1401177f1
mov qword [rdx + 0x38], rax
jmp 0x140117803
mov qword [rcx], rax
test rax, rax
jne 0x140117803
cmp byte [rcx + 0x28], r12b
je 0x140117803
mov byte [rcx + 0x29], 2
mov qword [rbx + 0x38], r12
mov qword [rbx + 0x40], r12
mov rax, qword [rcx]
mov qword [rbx + 0x38], rax
test rax, rax
je 0x14011781d
mov qword [rax + 0x40], rbx
jmp 0x14011782b
mov qword [rcx + 8], rbx
cmp byte [rcx + 0x28], r12b
je 0x14011782b
mov byte [rcx + 0x29], 1
mov qword [rcx], rbx
cmp qword [rcx + 0x10], r12
jne 0x14011783e
test byte [rbx + 0x2c], 8
jne 0x14011783e
mov qword [rcx + 0x10], rbx
mov rax, qword [rbp + r14*8 + 0x20]
mov dword [rax + 0x88], r15d
inc r14
cmp r14, r13
jl 0x1401175f1
mov r15d, dword [rsp + 0x40]
test byte [rsp + 0x50], 8
lea r12, [r13 - 1]
mov rax, qword [rbp + r12*8 + 0x20]
mov qword [rbp + 0x10], r12
mov ecx, dword [rax + 0x88]
mov rax, qword [rbp + 0x48]
bswap ecx
mov dword [rax], ecx
jne 0x1401178aa
cmp dword [rbp - 0x4c], r15d
je 0x1401178aa
mov rcx, qword [rbp + 0x58]
lea rdx, [rbp - 8]
lea rax, [rbp + 0x20]
cmovge rax, rdx
mov rax, qword [rax + rcx*8]
mov rdx, qword [rax + 0x50]
mov rax, qword [rbp + r12*8 + 0x20]
mov rcx, qword [rax + 0x50]
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x70]
cmp byte [rcx + 0x21], 0
je 0x140117a80
mov rbx, qword [rbp + 0x20]
xor edi, edi
mov ecx, dword [rcx + 0x34]
mov dword [rsp + 0x60], ecx
movzx r9d, word [rbx + 0x12]
movzx eax, byte [rbx + 1]
mov r15, qword [rbx + 0x50]
add r9d, eax
mov dword [rsp + 0x64], r9d
cmp dword [rsp + 0x78], edi
jle 0x140117a84
mov r13, qword [rbp - 0x70]
lea rax, [rbp + 0x20]
mov r12, qword [rbp - 0x60]
lea r8, [rbp - 0x40]
mov qword [rbp - 0x68], rax
xor r14d, r14d
mov qword [rbp - 0x48], r8
mov rsi, qword [r12]
mov r10, qword [rsp + 0x68]
cmp edi, r9d
jne 0x140117952
inc r14
cmp r14, r10
jge 0x14011791d
mov rdx, qword [rbp + r14*8 + 0x20]
jmp 0x140117922
mov rdx, qword [rbp + r14*8 - 8]
movzx eax, word [rdx + 0x12]
xor ecx, ecx
mov r11d, dword [rsp + 0x54]
test r11b, r11b
mov r15, qword [rdx + 0x50]
sete cl
add ecx, eax
movzx eax, byte [rdx + 1]
add r9d, eax
mov rax, qword [rbp - 0x68]
add r9d, ecx
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x64], r9d
jmp 0x140117957
mov r11d, dword [rsp + 0x54]
cmp edi, dword [r8]
jne 0x140117979
mov rbx, qword [rax + 8]
add rax, 8
add r8, 4
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x48], r8
test r11b, r11b
je 0x140117a5a
cmp r14, r10
jge 0x1401179a2
mov eax, dword [rbp + r14*4 + 0x98]
cmp dword [rbx + 0x88], eax
jne 0x1401179a2
cmp rsi, r15
jb 0x1401179a2
movsxd rax, ecx
add rax, r15
cmp rsi, rax
jb 0x140117a56
cmp word [rsp + 0x4c], 0
jne 0x1401179d4
mov edx, dword [rsi]
lea rax, [rsp + 0x48]
mov r9d, dword [rbx + 0x88]
mov r8b, 5
mov rcx, qword [rsp + 0x70]
bswap edx
mov qword [rsp + 0x20], rax
call fcn.1401316c0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x44], eax
movzx eax, word [r13]
test ax, ax
jne 0x1401179ea
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.14011cd10
cmp ax, word [rbx + 0xc]
jbe 0x140117a46
cmp dword [rsp + 0x44], 0
jne 0x140117d9e
lea r8, [rbp + 0x78]
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x80]
movzx eax, word [rbp + 0x8e]
test ax, ax
je 0x140117a52
mov r9d, dword [rbx + 0x88]
mov r8b, 3
mov rcx, qword [rbx + 0x48]
movzx eax, ax
mov edx, dword [rax + rsi]
lea rax, [rsp + 0x48]
bswap edx
mov qword [rsp + 0x20], rax
call fcn.1401316c0
mov esi, dword [rsp + 0x48]
mov dword [rsp + 0x44], esi
jmp 0x140117a4a
mov esi, dword [rsp + 0x44]
test esi, esi
jne 0x140117d8e
mov r8, qword [rbp - 0x48]
mov rax, qword [rbp - 0x68]
mov r9d, dword [rsp + 0x64]
inc edi
mov ecx, dword [rsp + 0x60]
add r12, 8
add r13, 2
cmp edi, dword [rsp + 0x78]
jl 0x140117900
mov r13, qword [rsp + 0x68]
mov r12, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x20]
xor r15d, r15d
test r12, r12
jle 0x140117bce
mov r14d, r15d
nop dword [rax]
nop word [rax + rax]
movsxd rdx, dword [rbp + r14*4 - 0x40]
mov rax, qword [rbp - 0x70]
mov rsi, qword [rbp + r14*8 + 0x20]
mov r10, qword [rbp - 0x60]
movzx r9d, word [rsp + 0x4c]
movzx eax, word [rax + rdx*2]
movsxd rdi, dword [rbp - 0x50]
add r9d, eax
add rdi, qword [rbp + 0x110]
mov rbx, qword [r10 + rdx*8]
cmp byte [rsi + 5], r15b
jne 0x140117ae2
mov rcx, qword [rsi + 0x50]
mov eax, dword [rbx]
mov dword [rcx + 8], eax
jmp 0x140117b78
cmp byte [rsp + 0x54], r15b
je 0x140117b5b
mov rdx, qword [r10 + rdx*8 - 8]
lea r8, [rbp + 0x98]
mov rcx, rsi
call qword [rsi + 0x80]
mov rdx, qword [rbp + 0x98]
lea rcx, [rdi + 4]
mov rbx, rdi
cmp rdx, 0x7f
ja 0x140117b25
mov eax, 1
and dl, 0x7f
mov byte [rcx], dl
mov rdi, r15
lea r9d, [rax + 4]
jmp 0x140117b78
cmp rdx, 0x3fff
ja 0x140117b4d
mov rax, rdx
mov rdi, r15
shr rax, 7
or al, 0x80
mov byte [rcx], al
and dl, 0x7f
mov eax, 2
mov byte [rcx + 1], dl
lea r9d, [rax + 4]
jmp 0x140117b78
call fcn.140131d70
mov rdi, r15
lea r9d, [rax + 4]
jmp 0x140117b78
sub rbx, 4
cmp eax, 4
jne 0x140117b78
mov rax, qword [rbp + 0x100]
mov rdx, rbx
mov rcx, rax
call qword [rax + 0x78]
movzx r9d, ax
mov rcx, qword [rbp + 0x100]
lea rax, [rsp + 0x48]
add dword [rbp - 0x50], r9d
mov r8, rbx
mov ebx, dword [rsp + 0x5c]
mov edx, ebx
mov qword [rsp + 0x30], rax
mov eax, dword [rsi + 0x88]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
call fcn.140128340
mov esi, dword [rsp + 0x48]
test esi, esi
jne 0x140117d8e
inc ebx
inc r14
mov dword [rsp + 0x5c], ebx
cmp r14, r12
jl 0x140117aa0
mov rbx, qword [rbp + 0x20]
jmp 0x140117bd2
mov esi, dword [rsp + 0x44]
mov r14d, 1
sub r14d, dword [rsp + 0x40]
cmp r14d, dword [rsp + 0x40]
jge 0x140117ca0
mov edi, dword [rbp - 0x40]
mov r12d, dword [rsp + 0x58]
mov eax, r14d
cdq
xor eax, edx
sub eax, edx
movsxd rbx, eax
cmp byte [rbp + rbx - 0x10], 0
jne 0x140117c8e
test r14d, r14d
jns 0x140117c15
mov ecx, dword [rbp + rbx*4 - 0x44]
cmp dword [rbp + rbx*4 + 0x5c], ecx
jl 0x140117c8e
test eax, eax
jne 0x140117c24
mov edx, r15d
mov r8d, r15d
mov r9d, edi
jmp 0x140117c55
cmp eax, dword [rbp - 0x4c]
mov eax, dword [rsp + 0x54]
jge 0x140117c3b
test al, al
mov edx, r15d
sete dl
add edx, dword [rbp + rbx*4 + 0x5c]
jmp 0x140117c3f
mov edx, dword [rsp + 0x78]
mov r9d, dword [rbp + rbx*4 - 0x40]
test al, al
mov r8d, r15d
sete r8b
add r8d, dword [rbp + rbx*4 - 0x44]
sub r9d, r8d
mov rcx, qword [rbp + rbx*8 + 0x20]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.14011fc50
mov dword [rsp + 0x48], eax
mov esi, eax
test eax, eax
jne 0x140117d8e
mov rax, qword [rbp + rbx*8 + 0x20]
movzx ecx, r12w
sub cx, word [rbp + rbx*4 - 0x28]
mov byte [rbp + rbx - 0x10], 1
mov word [rax + 0x10], cx
inc r14d
cmp r14d, dword [rsp + 0x40]
jl 0x140117bf0
mov rbx, qword [rbp + 0x20]
cmp dword [rbp + 0x118], 0
je 0x140117d01
mov rdi, qword [rbp + 0x100]
cmp word [rdi + 0x12], 0
jne 0x140117d01
movzx eax, byte [rdi + 6]
cmp ax, word [rbx + 0x10]
ja 0x140117d01
mov rcx, rbx
call fcn.14011f2a0
mov rcx, qword [rbp + 0x20]
lea r8, [rsp + 0x48]
mov rdx, rdi
mov dword [rsp + 0x48], eax
call fcn.14011e620
mov esi, dword [rsp + 0x48]
test esi, esi
jne 0x140117d5b
mov rcx, qword [rbp + 0x20]
mov rdx, rcx
mov r8d, dword [rcx + 0x88]
mov rcx, qword [rcx + 0x48]
call fcn.1401257a0
mov esi, eax
jmp 0x140117d5b
mov r10, qword [rsp + 0x70]
cmp byte [r10 + 0x21], 0
je 0x140117d5b
cmp word [rsp + 0x4c], 0
jne 0x140117d5b
test r13, r13
jle 0x140117d5b
mov rbx, r15
nop dword [rax]
mov rcx, qword [rbp + rbx*8 + 0x20]
mov r8b, 5
mov rax, qword [rcx + 0x50]
mov r9d, dword [rcx + 0x88]
mov rcx, r10
mov edx, dword [rax + 8]
lea rax, [rsp + 0x48]
bswap edx
mov qword [rsp + 0x20], rax
call fcn.1401316c0
mov r10, qword [rsp + 0x70]
inc rbx
cmp rbx, r13
jl 0x140117d20
mov esi, dword [rsp + 0x48]
mov rax, qword [rbp - 0x58]
cmp r13, rax
jge 0x140117d8e
mov rcx, qword [rbp + r13*8 - 8]
test esi, esi
jne 0x140117d86
mov r8d, dword [rcx + 0x88]
mov rdx, rcx
mov rcx, qword [rcx + 0x48]
call fcn.1401257a0
mov esi, eax
mov rax, qword [rbp - 0x58]
inc r13
cmp r13, rax
jl 0x140117d64
xor r13d, r13d
jmp 0x140117da5
lea eax, [rbx + 1]
movsxd r8, eax
jmp 0x140116d19
xor r13d, r13d
mov esi, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x40]
mov rcx, qword [rbp - 0x60]
call fcn.14015f960
mov r14, qword [rbp - 0x58]
mov r12, qword [rsp + 0x1c8]
test r14, r14
jle 0x140117ea5
mov rdi, r13
nop dword [rax + rax]
mov r8, qword [rbp + rdi*8 - 8]
test r8, r8
je 0x140117e99
mov r8, qword [r8 + 0x70]
test byte [r8 + 0x2c], 0x40
mov rbx, qword [r8 + 0x20]
je 0x140117e2a
dec dword [rbx + 0x98]
mov rax, qword [rbx + 0xa8]
mov qword [r8 + 0x18], rax
movsxd rax, dword [rbx + 0xbc]
mov rcx, qword [rbx + 0x48]
mov qword [rbx + 0xa8], r8
mov edx, dword [r8 + 0x28]
mov r8, qword [r8 + 8]
dec edx
mov r9, qword [rcx]
imul rdx, rax
call qword [r9 + SysAllocStringByteLen]
jmp 0x140117e32
mov rcx, r8
call fcn.140156a30
cmp dword [rbx + 0x98], 0
jne 0x140117e99
mov rax, qword [rbx + 0x110]
cmp dword [rax + 0x18], 0
jne 0x140117e99
movzx eax, byte [rbx + 0x14]
cmp al, 6
je 0x140117e91
test al, al
je 0x140117e91
cmp al, 2
jb 0x140117e7e
mov rax, qword [0x14037a870]
test rax, rax
je 0x140117e66
call rax
mov rcx, rbx
call fcn.140155270
mov rax, qword [0x14037a878]
test rax, rax
je 0x140117e91
call rax
jmp 0x140117e91
cmp byte [rbx + 8], 0
jne 0x140117e91
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14012e8d0
mov rcx, rbx
call fcn.14012f510
inc rdi
cmp rdi, r14
jl 0x140117dd0
movsxd rdi, r15d
mov r15, qword [rsp + 0x1c0]
test rdi, rdi
jle 0x140117f95
nop dword [rax]
mov r8, qword [rbp + r13*8 + 0x20]
test r8, r8
je 0x140117f89
mov r8, qword [r8 + 0x70]
test byte [r8 + 0x2c], 0x40
mov rbx, qword [r8 + 0x20]
je 0x140117f1a
dec dword [rbx + 0x98]
mov rax, qword [rbx + 0xa8]
mov qword [r8 + 0x18], rax
movsxd rax, dword [rbx + 0xbc]
mov rcx, qword [rbx + 0x48]
mov qword [rbx + 0xa8], r8
mov edx, dword [r8 + 0x28]
mov r8, qword [r8 + 8]
dec edx
mov r9, qword [rcx]
imul rdx, rax
call qword [r9 + SysAllocStringByteLen]
jmp 0x140117f22
mov rcx, r8
call fcn.140156a30
cmp dword [rbx + 0x98], 0
jne 0x140117f89
mov rax, qword [rbx + 0x110]
cmp dword [rax + 0x18], 0
jne 0x140117f89
movzx eax, byte [rbx + 0x14]
cmp al, 6
je 0x140117f81
test al, al
je 0x140117f81
cmp al, 2
jb 0x140117f6e
mov rax, qword [0x14037a870]
test rax, rax
je 0x140117f56
call rax
mov rcx, rbx
call fcn.140155270
mov rax, qword [0x14037a878]
test rax, rax
je 0x140117f81
call rax
jmp 0x140117f81
cmp byte [rbx + 8], 0
jne 0x140117f81
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14012e8d0
mov rcx, rbx
call fcn.14012f510
inc r13
cmp r13, rdi
jl 0x140117ec0
mov rbx, qword [rsp + 0x208]
mov eax, esi
mov rsi, qword [rsp + 0x1d0]
add rsp, 0x1d8
pop r14
pop r13
pop rdi
pop rbp
ret