Function at 0x1401a35b0
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, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov dword [rsp + 0x3c], r9d
mov rbp, r8
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0xc8], rax
movaps xmm6, xmmword [0x140484a40]
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x140527c28]
test rax, rax
jne 0x1401a3cee
mov rax, qword [rsi + 0x30]
mov rdi, qword [rax]
lea rcx, [rsi + 0x48]
mov r8d, 0x30
mov rdx, rdi
call fcn.1402d93c0
mov dword [rsp + 0x30], 0
test eax, eax
jne 0x1401a3b20
cmp word [rsi + 0x3c], 0
je 0x1401a3815
mov r14d, dword [rsp + 0x158]
mov edi, dword [rsi + 0x58]
test rdi, rdi
je 0x1401a3893
cmp dword [rsi + 0x38], ebx
jne 0x1401a3cb9
mov qword [rsp + 0x70], rsi
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x88], r14d
mov dword [rsp + 0x8c], ebx
lea eax, [rbx + 0x18]
cdqe
mov r15, rdi
mov qword [rsp + 0x48], rax
imul r15, rax
add r15, 0x20
xor r13d, r13d
test rbp, rbp
je 0x1401a3885
lea r12, [rsp + 0x70]
mov qword [rsp + 0x50], 0
mov r14, rbp
cmp dword [rsp + 0x30], 0
jne 0x1401a39b6
inc edi
cmp dword [rsp + 0x150], 0
je 0x1401a39a6
mov rax, qword [r14 + 0x20]
test rax, rax
mov r8d, 0
cmove r8d, dword [rsp + 0x3c]
mov rcx, r12
mov rdx, r14
mov r9, r15
call fcn.1401a4350
test eax, eax
jne 0x1401a3af7
add r15, qword [rsp + 0x48]
or byte [r14 + 0x34], 0x40
mov qword [rsp + 0x50], r14
mov r14, qword [r14 + 0x20]
test r14, r14
jne 0x1401a36bf
mov r14d, 0
cmp dword [rsp + 0x150], 0
je 0x1401a3754
cmp dword [rsi + 0x7c], 0
mov eax, dword [rsp + 0x158]
jne 0x1401a3b2e
xor r13d, r13d
mov r14d, 0
and eax, 3
jne 0x1401a3a4d
cmp byte [rsi + 0x43], 0
jne 0x1401a3784
mov edi, dword [rsi + 0x58]
test rbp, rbp
je 0x1401a3792
test r13d, r13d
jne 0x1401a3792
test byte [rbp + 0x34], 0x40
je 0x1401a39ae
inc edi
mov r8d, dword [rbp + 0x30]
mov rcx, rsi
mov edx, edi
call fcn.1401a45a0
mov r13d, eax
mov rbp, qword [rbp + 0x20]
jmp 0x1401a3757
mov rax, qword [rsi + 0x20]
test rax, rax
js 0x1401a3754
jmp 0x1401a3de2
test r13d, r13d
sete al
jne 0x1401a37a3
test r14d, r14d
jg 0x1401a3d2e
test al, al
je 0x1401a37dc
mov eax, ebx
and eax, 0xff00
shr ebx, 0x10
or ebx, eax
xor r13d, r13d
mov word [rsi + 0x56], bx
mov dword [rsi + 0x58], edi
cmp dword [rsp + 0x150], 0
je 0x1401a37dc
inc dword [rsi + 0x50]
mov eax, dword [rsp + 0x3c]
mov dword [rsi + 0x5c], eax
mov rcx, rsi
call fcn.1401a47c0
mov dword [rsi + 0x18], edi
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x1401a37f6
call fcn.14029bbb0
int3
mov eax, r13d
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [0x140527c28]
test rax, rax
jne 0x1401a3da2
mov rax, qword [rsi + 0x30]
mov rax, qword [rax]
cmp dword [rax + 0x60], 0
jne 0x1401a3e0a
cmp byte [rsi + 0x3f], 0
je 0x1401a3d74
mov word [rsi + 0x3c], 0xffff
lea rdi, [rsp + 0x9c]
mov dword [rdi], 0
lea r14, [rsp + 0xa0]
mov rcx, rsi
mov rdx, r14
mov r8d, 1
mov r9, rdi
call fcn.1401a4970
cmp eax, 0xffffffff
je 0x1401a385c
mov r13d, eax
test eax, eax
je 0x1401a3642
jmp 0x1401a37dc
mov qword [rsp + 0x50], 0
jmp 0x1401a371b
movaps xmmword [rsp + 0xb0], xmm6
movabs rax, 0x18e22d0082067f37
mov qword [rsp + 0xa0], rax
mov eax, ebx
bswap eax
mov dword [rsp + 0xa8], eax
mov ecx, dword [rsi + 0x88]
mov r9d, ecx
bswap r9d
mov dword [rsp + 0xac], r9d
test ecx, ecx
jne 0x1401a3d64
lea rdx, [rsi + 0x68]
mov ecx, 8
call fcn.14019b0b0
mov r10d, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa4]
mov eax, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xac]
mov r8, qword [rsi + 0x68]
lea rdx, [rsp + 0xa0]
mov qword [rdx + 0x10], r8
add ecx, r10d
add eax, r10d
add eax, ecx
add ecx, eax
add ecx, r9d
add eax, r8d
add eax, ecx
shr r8, 0x20
add r8d, ecx
add r8d, eax
mov ecx, eax
bswap ecx
mov dword [rdx + 0x18], ecx
mov ecx, r8d
bswap ecx
mov dword [rdx + 0x1c], ecx
mov dword [rsi + 0x38], ebx
mov byte [rsi + 0x55], 0
mov dword [rsi + 0x60], eax
mov dword [rsi + 0x64], r8d
mov byte [rsi + 0x43], 1
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8d, 0x20
xor r9d, r9d
call qword [0x140505c38]
test eax, eax
jne 0x1401a3af7
cmp byte [rsi + 0x44], 0
je 0x1401a3656
mov edx, r14d
shr edx, 2
and edx, 3
je 0x1401a3656
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [0x140505c38]
test eax, eax
je 0x1401a3656
jmp 0x1401a3af7
xor r8d, r8d
jmp 0x1401a36ed
xor r13d, r13d
jmp 0x1401a377e
cmp dword [rsp + 0x150], 0
je 0x1401a39d0
cmp qword [r14 + 0x20], 0
jne 0x1401a39d0
inc edi
xor eax, eax
jmp 0x1401a36de
lea r8, [rsp + 0xa0]
mov dword [r8], 0
mov edx, dword [r14 + 0x30]
mov rcx, rsi
call fcn.1401a4020
lea rax, [rsp + 0xa0]
mov r9d, dword [rax]
cmp r9d, dword [rsp + 0x30]
jb 0x1401a36ca
mov eax, dword [rsi + 0x7c]
dec eax
cmp eax, r9d
jb 0x1401a3a0f
mov dword [rsi + 0x7c], r9d
dec r9d
imul r9, qword [rsp + 0x48]
add r9, 0x38
mov rdx, qword [r14 + 8]
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r8d, ebx
call qword [0x140505c38]
test eax, eax
jne 0x1401a3af7
and byte [r14 + 0x34], 0xbf
jmp 0x1401a3712
mov ecx, 0x1000
jmp 0x1401a3a89
mov dword [rsp + 0x40], eax
cmp byte [rsi + 0x45], 0
je 0x1401a3aff
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
test rax, rax
je 0x1401a3a46
call qword [0x140505c38]
mov edx, 0x10000
cmp eax, 0x10000
cmovb edx, eax
cmp eax, 0x20
mov ecx, 0x200
cmovge ecx, edx
lea r8, [rcx + r15]
dec r8
mov rax, r8
cqo
idiv rcx
sub r8, rdx
mov qword [rsp + 0x80], r8
xor r13d, r13d
mov r14d, 0
mov qword [rsp + 0x30], r8
cmp r15, r8
jge 0x1401a3ae6
xor r14d, r14d
mov r12, r15
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x3c]
mov r9, r12
call fcn.1401a4350
test eax, eax
jne 0x1401a3af7
add r12, qword [rsp + 0x48]
inc r14d
cmp r12, qword [rsp + 0x30]
jl 0x1401a3abc
cmp qword [rsp + 0x30], r15
mov edx, dword [rsp + 0x40]
jne 0x1401a374e
jmp 0x1401a3b06
mov r13d, eax
jmp 0x1401a37dc
xor r14d, r14d
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [0x140505c38]
mov r13d, eax
jmp 0x1401a374e
mov eax, dword [rdi + 0x10]
inc eax
mov dword [rsp + 0x30], eax
jmp 0x1401a3637
mov ecx, dword [rsi + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0xa0], xmm6
cmp ecx, 0xffffffe9
jge 0x1401a3b5b
mov r13d, 7
jmp 0x1401a37dc
mov eax, ecx
add eax, 0x18
mov dword [rsp + 0x5c], eax
mov ecx, eax
mov qword [rsp + 0x40], rcx
call fcn.14025c810
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1401a3b50
mov eax, dword [rsi + 0x7c]
lea ecx, [rax - 2]
imul rcx, qword [rsp + 0x40]
add rcx, 0x30
cmp eax, 1
mov r9d, 0x18
cmovne r9, rcx
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov r14, qword [rsp + 0x30]
mov rdx, r14
mov r8d, 8
call qword [0x140505c38]
mov r13d, eax
mov eax, dword [r14]
bswap eax
mov dword [rsi + 0x60], eax
mov eax, dword [r14 + 4]
bswap eax
mov dword [rsi + 0x64], eax
mov r12d, dword [rsi + 0x7c]
mov dword [rsi + 0x7c], 0
test r13d, r13d
jne 0x1401a3c88
cmp r12d, edi
ja 0x1401a3c88
mov rax, qword [rsp + 0x30]
add rax, 0x18
mov qword [rsp + 0x60], rax
inc r12d
lea r14d, [r12 - 2]
imul r14, qword [rsp + 0x40]
add r14, 0x20
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x5c]
mov r9, r14
call qword [0x140505c38]
test eax, eax
jne 0x1401a3ca7
mov rax, qword [rsp + 0x30]
mov edx, dword [rax]
mov r8d, dword [rax + 4]
bswap edx
bswap r8d
lea r13, [rsp + 0xa0]
mov qword [rsp + 0x20], r13
mov rcx, rsi
mov r9, qword [rsp + 0x60]
call fcn.14040a590
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov rdx, r13
mov r8d, 0x18
mov r9, r14
call qword [0x140505c38]
mov r13d, eax
test eax, eax
jne 0x1401a3c88
lea eax, [r12 + 1]
cmp r12d, edi
mov r12d, eax
jbe 0x1401a3bf8
mov rcx, qword [rsp + 0x30]
call fcn.14019a6e0
test r13d, r13d
mov eax, dword [rsp + 0x158]
jne 0x1401a37dc
jmp 0x1401a373c
mov r13d, eax
mov rcx, qword [rsp + 0x30]
call fcn.14019a6e0
jmp 0x1401a37dc
lea rax, [0x1404f37d1]
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea r8, str.database_corruption
mov r13d, ntohl
mov ecx, ntohl
mov r9d, 0x10d74
call fcn.14019af90
jmp 0x1401a37dc
mov ecx, 0x28a
call qword [0x140505c38]
test eax, eax
je 0x1401a360e
cdqe
xorps xmm0, xmm0
lea r9, [rsp + 0xa0]
movaps xmmword [r9], xmm0
mov qword [r9 + 0x10], rax
mov ecx, 0xc0000006
xor edx, edx
mov r8d, 3
call qword [sym.imp.KERNEL32.dll_RaiseException]
inc edi
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 0x30]
mov rcx, rsi
mov edx, edi
call fcn.1401a45a0
mov r13d, eax
test eax, eax
sete al
jne 0x1401a37a3
lea ecx, [r14 - 1]
cmp r14d, 1
mov r14d, ecx
jbe 0x1401a37a3
jmp 0x1401a3d2e
mov r10d, 0x82067f37
mov ecx, 0x18e22d00
jmp 0x1401a3900
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
mov edx, 3
mov r8d, 1
mov r9d, 5
call qword [0x140505c38]
and byte [rsi + 0x8c], 0xf7
jmp 0x1401a3840
mov ecx, 0x28a
call qword [0x140505c38]
test eax, eax
je 0x1401a3825
cdqe
xorps xmm0, xmm0
lea r9, [rsp + 0xa0]
movaps xmmword [r9], xmm0
mov qword [r9 + 0x10], rax
mov ecx, 0xc0000006
xor edx, edx
mov r8d, 3
call qword [sym.imp.KERNEL32.dll_RaiseException]
add edi, r14d
imul rdi, qword [rsp + 0x48]
add rdi, 0x20
cmp rdi, rax
cmovle rdi, rax
mov rcx, rsi
mov rdx, rdi
call fcn.14040a1a0
mov byte [rsi + 0x43], 0
jmp 0x1401a3754
lea rdx, [rsp + 0xa0]
mov dword [rdx], 0xaaaaaaaa
mov ecx, 4
call fcn.14019b0b0
cmp byte [rsi + 0x3f], 0
jne 0x1401a3e65
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
mov edx, 4
mov r8d, 4
mov r9d, 0xa
call qword [0x140505c38]
cmp eax, 5
je 0x1401a3836
mov r13d, eax
test eax, eax
jne 0x1401a37dc
or byte [rsi + 0x8d], 0xf0
mov edx, dword [rsp + 0xa0]
mov rcx, rsi
call fcn.14040a290
cmp byte [rsi + 0x3f], 0
jne 0x1401a3836
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
mov edx, 4
mov r8d, 4
mov r9d, 9
call qword [0x140505c38]
and byte [rsi + 0x8d], 0xf
jmp 0x1401a3836