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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rdi, r8
mov rbx, rdx
mov r8d, ecx
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rbp, qword [rdi + 8]
movabs r10, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x88], r10
movapd xmm0, xmmword [0x140484a40]
movupd xmmword [rsp + 0x78], xmm0
movupd xmmword [rsp + 0x68], xmm0
test r9d, r9d
je 0x1401b1451
movzx r14d, byte [rbx + 1]
mov dword [rsp + 0x98], r14d
mov r9d, 2
test r14b, r14b
js 0x1401b1604
movzx r13d, byte [rbx]
cmp r14d, 0x80
jae 0x1401b15f8
mov eax, r14d
lea rcx, [0x1404f3c60]
movzx r14d, byte [rax + rcx]
add r14d, r13d
add rbp, 0x38
mov r11d, 1
lea rsi, [rdi + 0x1f]
cmp r14d, r8d
ja 0x1401b17e0
mov qword [rsp + 0x58], 0xffffffffffffffff
lea rdx, [0x1404f3c60]
mov qword [rsp + 0x48], rdi
movzx eax, word [rbp + 0x14]
test al, 0x24
je 0x1401b150d
mov eax, r9d
movzx r15d, byte [rbx + rax]
cmp r15d, 0xa
jae 0x1401b169d
mov r12d, 0xffffffff
test r15d, r15d
je 0x1401b13d9
mov rdi, rbp
cmp r15d, 7
je 0x1401b19e4
lea ecx, [r15 - 1]
cmp ecx, 5
ja case.default.0x1401b13c3
mov rbp, r11
mov eax, r14d
lea r11, [0x1404fc7d4]
movsxd rcx, dword [r11 + rcx*4]
add rcx, r11
jmp rcx
movsx rax, byte [rbx + rax]
mov r11, rbp
mov rbp, rdi
cmp rax, qword [rdi]
jge 0x1401b148b
test r15d, r15d
sete al
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x18]
mov edx, r11d
mov cl, byte [rcx + rdx]
test cl, cl
je 0x1401b1401
test cl, 2
jne 0x1401b19bd
neg r12d
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x1401b142e
call fcn.14029bbb0
int3
movsx rcx, byte [rbx + rax]
shl rcx, 8
movzx eax, byte [rbx + rax + 1]
or rax, rcx
jmp 0x1401b13ca
mov eax, r12d
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbx + rax]
bswap rax
jmp 0x1401b13ca
movzx r13d, byte [rbx]
mov dword [rsp + 0x94], r13d
test r13b, r13b
js 0x1401b1a2c
mov r9d, 1
xor r11d, r11d
mov r14d, r13d
jmp 0x1401b134a
lea eax, [r15 - 8]
jmp 0x1401b13cd
mov r12d, 1
jmp 0x1401b13d9
jg 0x1401b1480
inc r11
mov rdi, qword [rsp + 0x48]
movzx eax, word [rdi + 0x1c]
cmp r11, rax
jne 0x1401b14b4
mov byte [rdi + 0x22], 1
movsx r12d, byte [rdi + 0x1e]
jmp 0x1401b1401
lea eax, [r15 - 0xc]
shr eax, 1
jmp 0x1401b14c4
cmp r15d, 0x80
jae 0x1401b14ac
mov eax, r15d
movzx eax, byte [rax + rdx]
add r14d, eax
cmp r14d, r8d
ja 0x1401b149e
mov r12, rdx
mov eax, 1
cmp r15d, 0x80
jb 0x1401b14f5
mov ecx, r15d
mov rdx, rcx
shr rdx, 7
inc eax
cmp rcx, 0x3fff
mov rcx, rdx
ja 0x1401b14e3
add r9d, eax
cmp r9d, r13d
jae 0x1401b1807
add rbp, 0x38
mov rdx, r12
jmp 0x1401b136c
test al, 8
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r9d
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], r11
jne 0x1401b18c4
mov ecx, r9d
test al, 2
je 0x1401b16b2
movzx r15d, byte [rbx + rcx]
test r15b, r15b
jns 0x1401b1558
add rcx, rbx
movzx eax, byte [rcx + 1]
test al, al
js 0x1401b1a5a
and r15d, 0x7f
shl r15d, 7
or r15d, eax
cmp r15d, 0xc
jb 0x1401b1632
test r15b, 1
je 0x1401b163d
lea eax, [r15 - 0xc]
shr eax, 1
mov dword [rsp + 0x68], eax
lea ecx, [rax + r14]
cmp ecx, r8d
ja 0x1401b17b9
mov rdx, qword [rdi]
movzx ecx, word [rdx + 8]
cmp r11, rcx
jae 0x1401b17b9
mov r8, qword [rdx + r11*8 + 0x20]
test r8, r8
jne 0x1401b190e
mov ecx, dword [rbp + 0x10]
mov r12d, eax
sub r12d, ecx
cmovl ecx, eax
movsxd r8, ecx
mov rdx, qword [rbp + 8]
mov ecx, r14d
add rcx, rbx
call fcn.1402d93c0
test eax, eax
cmovne r12d, eax
test r12d, r12d
mov r8d, dword [rsp + 0x38]
movabs r10, 0xaaaaaaaaaaaaaaaa
mov r9d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x40]
lea rdx, [0x1404f3c60]
mov r11, qword [rsp + 0x30]
je 0x1401b148d
jmp 0x1401b13d9
add r14d, 0xfffffff4
shr r14d, 1
jmp 0x1401b133d
lea rcx, [rbx + 1]
lea r15, [rsp + 0x98]
mov rdx, r15
mov esi, r8d
mov r14, r10
call fcn.14040f000
mov r10, r14
mov r8d, esi
inc al
movzx r9d, al
mov r14d, dword [r15]
jmp 0x1401b131d
mov r12d, 0xffffffff
jmp 0x1401b13d9
mov r12d, 1
mov r15d, 7
jmp 0x1401b13d9
movzx ecx, byte [rbx + rax]
shl ecx, 0x18
movzx edx, byte [rbx + rax + 1]
shl edx, 0x10
movsxd rcx, ecx
or rcx, rdx
movzx edx, byte [rbx + rax + 2]
shl edx, 8
or rdx, rcx
movzx eax, byte [rbx + rax + 3]
jmp 0x1401b168e
movsx rcx, byte [rbx + rax]
shl rcx, 0x10
movzx edx, byte [rbx + rax + 1]
shl edx, 8
or rdx, rcx
movzx eax, byte [rbx + rax + 2]
or rax, rdx
lea rdx, [0x1404f3c60]
jmp 0x1401b13ca
setne al
movzx eax, al
lea r12d, [rax*2 - 1]
xor eax, eax
jmp 0x1401b13df
movzx r15d, byte [rbx + rcx]
test al, 0x10
jne 0x1401b16f4
test r15d, r15d
je 0x1401b16ca
cmp r15d, 0xa
jne 0x1401b1ac4
mov r8d, dword [rsp + 0x38]
movabs r10, 0xaaaaaaaaaaaaaaaa
mov r9d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x40]
lea rdx, [0x1404f3c60]
mov r11, qword [rsp + 0x30]
jmp 0x1401b148d
mov dword [rsp + 0x54], r15d
test r15b, r15b
jns 0x1401b1711
add rcx, rbx
lea r15, [rsp + 0x54]
mov rdx, r15
call fcn.14040f000
mov r15d, dword [r15]
mov r12d, 0xffffffff
cmp r15d, 0xc
jb 0x1401b17af
mov eax, r15d
and eax, 1
jne 0x1401b17af
lea eax, [r15 - 0xc]
mov r12d, eax
shr r12d, 1
lea ecx, [r12 + r14]
cmp ecx, dword [rsp + 0x38]
ja 0x1401b183c
test byte [rbp + 0x15], 4
jne 0x1401b1776
mov eax, dword [rbp + 0x10]
mov esi, r12d
sub esi, eax
cmovl eax, r12d
movsxd r8, eax
mov rdx, qword [rbp + 8]
mov ecx, r14d
add rcx, rbx
call fcn.1402d93c0
test eax, eax
cmovne esi, eax
mov r12d, esi
jmp 0x1401b15c5
test eax, eax
je 0x1401b179a
mov eax, r14d
add rax, rbx
cmp r12d, 1
mov ecx, r12d
adc ecx, 0
xor edx, edx
cmp byte [rax + rdx], 0
jne 0x1401b17a3
inc rdx
cmp rcx, rdx
jne 0x1401b178c
sub r12d, dword [rbp]
jmp 0x1401b15c5
mov r12d, 1
mov r15d, 7
mov r11, qword [rsp + 0x30]
jmp 0x1401b13d9
lea rax, [0x1404f37d1]
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea r8, str.database_corruption
mov ecx, ntohl
mov r9d, 0x15e31
jmp 0x1401b182c
lea rax, [0x1404f37d1]
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea r8, str.database_corruption
mov ecx, ntohl
mov r9d, 0x15de0
jmp 0x1401b182c
lea rax, [0x1404f37d1]
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea r8, str.database_corruption
mov ecx, ntohl
mov r9d, 0x15e82
call fcn.14019af90
mov byte [rsi], 0xb
xor r12d, r12d
jmp 0x1401b1401
lea rax, [0x1404f37d1]
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea r8, str.database_corruption
mov ecx, ntohl
mov r9d, 0x15e4f
call fcn.14019af90
mov rax, qword [rsp + 0x40]
mov byte [rax], 0xb
jmp 0x1401b1834
mov ecx, dword [rbx + rax + 2]
bswap ecx
movsx edx, byte [rbx + rax]
shl edx, 8
movzx eax, byte [rbx + rax + 1]
or eax, edx
lea rdx, [0x1404f3c60]
shl rax, 0x20
jmp 0x1401b1429
setne al
movzx eax, al
lea r12d, [rax*2 - 1]
xor eax, eax
mov r11, qword [rsp + 0x30]
mov rbp, rdi
jmp 0x1401b13df
mov r12d, 1
mov r11, qword [rsp + 0x30]
mov rbp, rdi
jmp 0x1401b13d9
mov rdi, rbp
mov eax, r9d
movzx r15d, byte [rbx + rax]
cmp r15d, 0xa
jae 0x1401b1894
mov r12d, 0xffffffff
cmp r15d, 7
je 0x1401b1946
test r15d, r15d
je 0x1401b18b7
mov ecx, r14d
add rcx, rbx
lea r12, [rsp + 0x58]
mov edx, r15d
mov r8, r12
call fcn.1401af120
mov rbp, rdi
movsd xmm1, qword [rdi]
mov rcx, qword [r12]
call fcn.14040f1c0
jmp 0x1401b193e
mov al, byte [rdx + 4]
lea rcx, [rsp + 0x58]
mov byte [rcx + 0x16], al
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x18], rax
mov word [rcx + 0x14], 2
mov eax, r14d
add rax, rbx
mov qword [rcx + 8], rax
mov rdx, rbp
mov r9, qword [rsp + 0x40]
call fcn.140410760
mov r12d, eax
jmp 0x1401b15c5
mov ecx, r14d
add rcx, rbx
lea rdx, [rsp + 0x58]
call fcn.1404130c0
mov r15d, 7
test eax, eax
jne 0x1401b18b7
movsd xmm0, qword [rsp + 0x58]
mov rbp, rdi
movsd xmm1, qword [rdi]
ucomisd xmm1, xmm0
mov r11, qword [rsp + 0x30]
ja 0x1401b13d9
mov r15d, 7
ucomisd xmm0, xmm1
ja 0x1401b18b1
mov r8d, dword [rsp + 0x38]
movabs r10, 0xaaaaaaaaaaaaaaaa
mov r9d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x40]
lea rdx, [0x1404f3c60]
mov r11, qword [rsp + 0x30]
mov rbp, rdi
jmp 0x1401b148d
test al, al
je 0x1401b19cf
test cl, 1
jne 0x1401b1401
jmp 0x1401b13fe
mov al, byte [rbp + 0x14]
and al, 1
and cl, 1
cmp al, cl
je 0x1401b1401
jmp 0x1401b13fe
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x38], r8d
mov ecx, r14d
add rcx, rbx
lea r15, [rsp + 0x58]
mov rdx, r15
call fcn.1404130c0
movsd xmm1, qword [r15]
mov rbp, rdi
mov rcx, qword [rdi]
call fcn.14040f1c0
mov r12d, eax
neg r12d
mov r15d, 7
jmp 0x1401b15c5
lea r15, [rsp + 0x94]
mov rcx, rbx
mov rdx, r15
mov esi, r8d
mov r14, r10
call fcn.14040f000
mov r10, r14
mov r8d, esi
movzx r9d, al
xor r11d, r11d
mov r13d, dword [r15]
jmp 0x1401b146f
mov rdi, rbp
mov rbp, r11
mov r12d, r8d
movsx edx, byte [rcx + 2]
test edx, edx
js 0x1401b1a99
and r15d, 0x7f
shl r15d, 0xe
and eax, 0x7f
shl eax, 7
or eax, r15d
or eax, edx
mov r15d, eax
mov r8d, r12d
mov rsi, qword [rsp + 0x40]
mov r11, rbp
mov rbp, rdi
mov rdi, qword [rsp + 0x48]
jmp 0x1401b1558
lea r15, [rsp + 0x98]
mov qword [r15], r10
mov rdx, r15
call fcn.1401a8240
mov rax, qword [r15]
mov rcx, rax
shr rcx, 0x20
xor r15d, r15d
neg rcx
sbb r15d, r15d
or r15d, eax
jmp 0x1401b1a81
mov r12d, 1
cmp r15d, 7
jne 0x1401b17af
mov ecx, r14d
add rcx, rbx
lea rdx, [rsp + 0x58]
call fcn.1404130c0
mov r15d, 7
test eax, eax
mov r8d, dword [rsp + 0x38]
movabs r10, 0xaaaaaaaaaaaaaaaa
mov r9d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x40]
lea rdx, [0x1404f3c60]
mov r11, qword [rsp + 0x30]
jne 0x1401b148d
jmp 0x1401b13d9