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

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
push rbp
push rsi
push r12
push r14
sub rsp, 0x60
xor ebp, ebp
mov r14d, r9d
mov ebx, r8d
mov r12d, edx
mov rsi, rcx
cmp r8d, 2
jae 0x14004b0d7
mov ecx, ebp
jmp 0x14004b10f
add r8d, 0xfffffffe
mov eax, 0xcccccccd
mul dword [rcx + 0x34]
mov eax, r8d
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
mov eax, dword [0x1401770c8]
mov ecx, ebp
sub r8d, edx
xor edx, edx
div dword [rsi + 0x30]
dec eax
cmp r8d, eax
sete cl
add ecx, 2
add ecx, r8d
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r15
cmp ecx, ebx
je 0x14004b3ac
mov eax, dword [0x1401770c8]
xor edx, edx
div dword [rsi + 0x30]
lea r9d, [rax + 1]
cmp ebx, r9d
je 0x14004b3ac
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x24]
bswap eax
test eax, eax
jne 0x14004b15c
mov eax, 0x65
jmp 0x14004b40c
mov r15d, ebp
cmp ebx, 2
jb 0x14004b193
lea r8d, [rbx - 2]
mov eax, 0xcccccccd
mul dword [rsi + 0x34]
mov eax, r8d
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
sub r8d, edx
lea eax, [r8 + 2]
cmp eax, r9d
sete r15b
add r15d, 2
add r15d, r8d
mov rcx, qword [rsi]
lea r8, [rsp + 0x38]
xor r9d, r9d
mov edx, r15d
call fcn.140043590
mov edi, eax
test eax, eax
jne 0x14004b225
mov rcx, qword [rsp + 0x38]
mov eax, ebx
sub eax, r15d
mov r8, qword [rcx + 8]
lea edx, [rax + rax*4]
lea eax, [rdx - 5]
test eax, eax
jns 0x14004b1d1
call fcn.140043af0
mov r9d, 0xe768
jmp 0x14004b1ff
movsxd rax, edx
movzx edi, byte [rax + r8 - 5]
mov eax, dword [rax + r8 - 4]
bswap eax
mov dword [rsp + 0x38], eax
mov byte [rsp + 0xa0], dil
call fcn.140043af0
lea eax, [rdi - 1]
cmp al, 4
jbe 0x14004b22c
mov r9d, 0xe770
lea rax, [0x140147114]
mov edi, VariantTimeToDosDateTime
mov ecx, edi
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140037580
mov eax, edi
jmp 0x14004b40c
cmp dil, 1
jne 0x14004b265
lea rax, [0x140147114]
mov edi, VariantTimeToDosDateTime
mov ecx, edi
mov qword [rsp + 0x20], rax
mov r9d, 0xf137
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140037580
mov eax, edi
jmp 0x14004b40c
cmp dil, 2
jne 0x14004b2b5
test r14d, r14d
jne 0x14004b40a
mov r9d, ebx
mov byte [rsp + 0x20], 1
lea r8, [rsp + 0xa0]
mov rcx, rsi
lea rdx, [rsp + 0x38]
call fcn.14004d5d0
test eax, eax
jne 0x14004b40c
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14004b3b1
mov rcx, qword [rcx + 0x70]
call fcn.140043af0
jmp 0x14004b3b1
mov rcx, qword [rsi]
lea r8, [rsp + 0x30]
xor r9d, r9d
mov edx, ebx
call fcn.140043590
test eax, eax
jne 0x14004b40c
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rcx + 0x10]
cmp ebx, dword [rdi + 0x88]
je 0x14004b306
mov rax, qword [rcx + 8]
cmp ebx, 1
mov qword [rdi + 0x50], rax
mov eax, ebp
mov qword [rdi + 0x70], rcx
mov ecx, 0x64
cmove eax, ecx
mov qword [rdi + 0x48], rsi
mov byte [rdi + 5], al
mov dword [rdi + 0x88], ebx
test r14d, r14d
mov r13d, 2
cmovne r12d, ebp
cmovne r13d, ebp
nop word [rax + rax]
mov r9d, r12d
mov byte [rsp + 0x20], r13b
lea r8, [rsp + 0x30]
mov rcx, rsi
lea rdx, [rsp + 0x40]
call fcn.14004d5d0
mov r15d, eax
test eax, eax
jne 0x14004b39e
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14004b354
mov rcx, qword [rcx + 0x70]
call fcn.140043af0
mov eax, dword [rsp + 0x30]
test r14d, r14d
je 0x14004b366
cmp eax, dword [rsp + 0x98]
ja 0x14004b320
mov r9d, dword [rsp + 0x38]
mov rdx, rdi
movzx r8d, byte [rsp + 0xa0]
mov rcx, rsi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.14004af30
mov rcx, qword [rdi + 0x70]
mov r15d, eax
call fcn.140043af0
test r15d, r15d
je 0x14004b3ac
mov eax, r15d
jmp 0x14004b40c
mov rcx, qword [rdi + 0x70]
call fcn.140043af0
mov eax, r15d
jmp 0x14004b40c
test r14d, r14d
jne 0x14004b40a
mov eax, dword [0x1401770c8]
xor edx, edx
div dword [rsi + 0x30]
lea r9d, [rax + 1]
dec ebx
cmp ebx, r9d
je 0x14004b3c0
cmp ebx, 2
jae 0x14004b3d0
mov ecx, ebp
jmp 0x14004b3ff
lea r8d, [rbx - 2]
mov eax, 0xcccccccd
mul dword [rsi + 0x34]
mov eax, r8d
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
mov ecx, ebp
sub r8d, edx
lea eax, [r8 + 2]
cmp eax, r9d
sete cl
add ecx, 2
add ecx, r8d
cmp ecx, ebx
je 0x14004b3c0
mov byte [rsi + 0x23], 1
mov dword [rsi + 0x3c], ebx
xor eax, eax
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x90]
add rsp, 0x60
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret