Function at 0x1402d7b90
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, 0x88
movzx eax, byte [rcx]
mov r15, qword [rcx + 8]
test al, al
mov rbx, rcx
mov esi, edx
mov r12, qword [r15 + 8]
je 0x1402d7bd9
cmp al, 2
jbe 0x1402d7ea0
call fcn.140238d60
test eax, eax
mov dword [rsp + 0x5c], eax
jne 0x1402d7cd9
cmp byte [rbx], 0
jne 0x1402d7cd9
mov r13, qword [rbx + 0x88]
movzx ebp, word [rbx + 0x56]
movzx eax, byte [rbx + 0x54]
cmp bp, word [r13 + 0x18]
mov edi, ebp
mov byte [rsp + 0x3c], al
jae 0x1402d8170
mov rdx, qword [r13 + 0x60]
lea eax, [rbp + rbp]
cdqe
mov ecx, dword [r13 + 0x14]
movzx r14d, word [rdx + rax]
rol r14w, 8
and r14w, word [r13 + 0x1a]
movzx r14d, r14w
add r14, qword [r13 + 0x50]
test ecx, ecx
js 0x1402d7df0
and esi, 2
movzx eax, byte [r13 + 8]
jne 0x1402d7cf0
cmp byte [r13 + 8], 0
movzx eax, byte [rbx + 1]
je 0x1402d7d6e
test al, 0x20
jne 0x1402d8070
cmp qword [rbx + 0x80], 0
je 0x1402d80e0
mov rcx, qword [r13 + 0x70]
test byte [rcx + 0x34], 4
mov rdx, qword [rcx + 0x28]
je 0x1402d7db8
mov eax, dword [rcx + 0x30]
cmp dword [rdx + 0x20], eax
jb 0x1402d7db8
mov eax, dword [rdx + 0x80]
test eax, eax
jne 0x1402d82a0
lea r8, [rsp + 0x60]
mov rdx, r14
mov rcx, r13
call qword [r13 + pe_nt_image_headers64]
movzx edx, word [rsp + 0x74]
mov r9d, dword [rsp + 0x70]
mov eax, edx
cmp edx, r9d
je 0x1402d7ed8
movzx r8d, word [rsp + 0x76]
mov rdx, qword [r13 + 0x58]
mov rcx, qword [r13 + 0x48]
mov word [rsp + 0x20], ax
mov word [rsp + 0x28], r8w
mov r8, r14
call fcn.14023b6f0
test eax, eax
mov dword [rsp + 0x5c], eax
je 0x1402d7ee0
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test al, al
je 0x1402d7d38
mov esi, dword [r13 + 0x14]
mov rdx, r14
mov rcx, r13
call qword [r13 + 0x78]
mov ecx, 0xaaaaaaab
movzx eax, ax
lea edx, [rsi + rax + 1]
mov eax, dword [r12 + 0x38]
add eax, eax
mov eax, eax
imul rax, rcx
shr rax, 0x21
cmp edx, eax
jge 0x1402d7d38
cmp word [r13 + 0x18], 1
mov esi, 2
jne 0x1402d7c34
nop dword [rax]
cmp byte [rbx + 0x55], 0
je 0x1402d7e30
mov rcx, rbx
call fcn.140296040
mov rax, qword [rbx + 0x30]
mov qword [rbx + 0x48], rax
cmp byte [r13 + 8], 0
mov dword [rsp + 0x5c], 0
mov esi, 1
movzx eax, byte [rbx + 1]
jne 0x1402d7c43
and eax, 0xfffffff1
xor edx, edx
cmp byte [rbx], 0
mov byte [rbx + 1], al
mov word [rbx + 0x46], dx
jne 0x1402d8140
movzx edx, word [rbx + 0x56]
test dx, dx
je 0x1402d8140
mov rcx, qword [rbx + 0x88]
cmp byte [rcx + 8], 0
je 0x1402d8140
sub edx, 1
mov dword [rsp + 0x5c], 0
mov word [rbx + 0x56], dx
jmp 0x1402d7c43
mov eax, dword [rdx + 0x30]
test eax, eax
jne 0x1402d7cd9
mov eax, dword [rdx + 0xb8]
cmp dword [rdx + 0xc8], eax
jae 0x1402d8160
call fcn.1402af070
test eax, eax
mov dword [rsp + 0x5c], eax
je 0x1402d7c85
jmp 0x1402d7cd9
mov rcx, r13
call fcn.140236af0
test eax, eax
je 0x1402d7c26
lea rax, [0x1404693fc]
mov r9d, 0x13057
mov ecx, 0xb
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14035c5b0
jmp 0x1402d7eca
mov rcx, rbx
call fcn.140296040
mov ecx, dword [rbx + 0x40]
mov qword [rbx + 0x48], rcx
add rcx, 0x11
call fcn.140312ca0
mov rsi, rax
mov eax, 7
test rsi, rsi
je 0x1402d7cd9
mov dword [rsp + 0x20], 0
xor edx, edx
mov r9, rsi
mov rcx, rbx
mov r8d, dword [rbx + 0x48]
call fcn.14022dba0
test eax, eax
jne 0x1402d81e0
mov rax, qword [rbx + 0x48]
add rax, rsi
mov qword [rax], 0
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
mov qword [rbx + 0x18], rsi
jmp 0x1402d7d52
lea rax, [0x1404693fc]
mov r9d, 0x1304a
mov ecx, 0xb
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14035c5b0
mov eax, 0xb
jmp 0x1402d7cd9
mov dword [rsp + 0x5c], 0
movzx r8d, word [rsp + 0x76]
lea r14, [rsp + 0x5c]
mov edx, ebp
mov rcx, r13
mov r9, r14
call fcn.140245130
mov eax, dword [rsp + 0x5c]
test eax, eax
jne 0x1402d7cd9
mov r15, qword [rbx + 0x88]
cmp byte [r13 + 8], 0
mov eax, dword [r15 + 0x14]
jne 0x1402d800c
test eax, eax
js 0x1402d82b0
movsx edx, byte [rbx + 0x54]
movsx eax, byte [rsp + 0x3c]
sub edx, 1
cmp edx, eax
jg 0x1402d81c0
mov rax, qword [rbx + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x48], eax
movzx edx, word [r15 + 0x18]
mov rcx, qword [r15 + 0x60]
mov rax, qword [r15 + 0x50]
lea edx, [rdx + rdx - 2]
movsxd rdx, edx
movzx edx, word [rcx + rdx]
rol dx, 8
and dx, word [r15 + 0x1a]
movzx edx, dx
add rdx, rax
add rax, 4
cmp rdx, rax
jb 0x1402d82d7
mov qword [rsp + 0x40], rdx
mov rcx, r15
call qword [r15 + 0x78]
mov rcx, qword [r15 + 0x70]
mov r12, qword [r12 + 0x88]
mov word [rsp + 0x4e], ax
call fcn.140315c70
mov rdx, qword [rsp + 0x40]
test eax, eax
mov dword [rsp + 0x5c], eax
jne 0x1402d7cd9
mov eax, dword [rsp + 0x48]
lea r8, [rdx - 4]
mov qword [rsp + 0x20], r12
mov edx, ebp
movzx r10d, word [rsp + 0x4e]
mov rcx, r13
mov dword [rsp + 0x28], eax
lea r9d, [r10 + 4]
mov dword [rsp + 0x40], r10d
call fcn.140298bc0
movzx edx, word [r15 + 0x18]
mov dword [rsp + 0x5c], eax
sub edx, 1
test eax, eax
jne 0x1402d7cd9
mov r8d, dword [rsp + 0x40]
mov r9, r14
mov rcx, r15
call fcn.140245130
mov eax, dword [rsp + 0x5c]
test eax, eax
jne 0x1402d7cd9
mov r15, qword [rbx + 0x88]
mov eax, dword [r15 + 0x14]
lea edx, [rax + rax*2]
mov rax, qword [rbx + 0x20]
mov eax, dword [rax + 0x38]
add eax, eax
cmp edx, eax
jg 0x1402d81a0
mov dword [rsp + 0x5c], 0
movzx eax, byte [rsp + 0x3c]
cmp al, byte [rbx + 0x54]
jl 0x1402d8230
cmp sil, 2
jne 0x1402d81f8
mov byte [rbx], 2
movzx eax, word [r13 + 0x18]
cmp di, ax
jb 0x1402d82c9
sub eax, 1
mov dword [rbx + 4], 0xffffffff
mov word [rbx + 0x56], ax
xor eax, eax
jmp 0x1402d7cd9
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbx + 0x50]
test rcx, rcx
je 0x1402d809b
test edx, edx
je 0x1402d80b9
nop dword [rax]
cmp rcx, rbx
je 0x1402d8092
cmp edx, dword [rcx + 0x50]
je 0x1402d80be
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1402d8088
and eax, 0xffffffdf
mov dword [rsp + 0x5c], 0
mov byte [rbx + 1], al
jmp 0x1402d7c4b
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1402d809b
cmp rbx, rcx
je 0x1402d80b0
mov r8, rbx
call fcn.1402cb750
test eax, eax
mov dword [rsp + 0x5c], eax
jne 0x1402d7cd9
jmp 0x1402d7c4b
cmp byte [r15 + 0x13], 0
je 0x1402d7c59
mov rax, qword [r15 + 8]
mov rcx, qword [rbx + 0x30]
mov edx, dword [rbx + 0x50]
mov byte [r15 + 0x13], 0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1402d811d
jmp 0x1402d7c59
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1402d7c59
test byte [rax + 1], 0x10
je 0x1402d8110
mov byte [r15 + 0x13], 1
cmp edx, dword [rax + 0x50]
jne 0x1402d8110
cmp rcx, qword [rax + 0x30]
jne 0x1402d8110
mov byte [rax], 1
jmp 0x1402d8110
mov rcx, rbx
call fcn.1402389d0
test eax, eax
mov dword [rsp + 0x5c], eax
jne 0x1402d7cd9
movzx eax, byte [rbx + 1]
jmp 0x1402d7c43
call fcn.1402b0b50
jmp 0x1402d7dda
lea rax, [0x1404693fc]
mov r9d, 0x13053
mov ecx, 0xb
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14035c5b0
jmp 0x1402d7eca
mov rcx, rbx
call fcn.140232e70
test eax, eax
mov dword [rsp + 0x5c], eax
jne 0x1402d7cd9
jmp 0x1402d802c
add eax, 1
cdqe
mov rax, qword [rbx + rax*8 + 0x90]
mov eax, dword [rax + 4]
mov dword [rsp + 0x48], eax
jmp 0x1402d7f44
mov rcx, rsi
mov dword [rsp + 0x3c], eax
call fcn.14035ad80
mov eax, dword [rsp + 0x3c]
jmp 0x1402d7cd9
mov rcx, rbx
call fcn.1402a7520
test sil, sil
mov dword [rsp + 0x5c], eax
je 0x1402d8222
cmp byte [rbx + 0x54], 0
js 0x1402d821f
mov rcx, rbx
mov dword [rsp + 0x3c], eax
call fcn.140238c60
mov eax, dword [rsp + 0x3c]
mov byte [rbx], 3
cmp eax, 0x10
jne 0x1402d7cd9
jmp 0x1402d8063
mov rax, qword [rbx + 0x88]
mov rcx, qword [rax + 0x70]
call fcn.140315b80
movzx eax, byte [rbx + 0x54]
sub eax, 1
mov byte [rbx + 0x54], al
jmp 0x1402d826c
lea ecx, [rax - 1]
sub rax, 1
test rdx, rdx
mov byte [rbx + 0x54], cl
je 0x1402d8270
mov rcx, qword [rdx + 0x70]
call fcn.140315b80
movzx eax, byte [rbx + 0x54]
movsx rax, al
cmp byte [rsp + 0x3c], al
mov rdx, qword [rbx + rax*8 + 0x90]
jl 0x1402d8250
mov qword [rbx + 0x88], rdx
mov rcx, rbx
call fcn.140232e70
test eax, eax
mov dword [rsp + 0x5c], eax
je 0x1402d803a
jmp 0x1402d7cd9
call fcn.14036d320
jmp 0x1402d7dda
mov rcx, r15
call fcn.140236af0
test eax, eax
mov dword [rsp + 0x5c], eax
je 0x1402d7f22
jmp 0x1402d7cd9
mov dword [rbx + 4], 1
xor eax, eax
jmp 0x1402d7cd9
lea rax, [0x1404693fc]
mov r9d, 0x130b2
mov ecx, 0xb
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14035c5b0
jmp 0x1402d7eca