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

Disassembly:
push rbx
push rsi
push rdi
push r13
sub rsp, 0x48
mov edi, r8d
mov ebx, edx
mov rsi, rcx
cmp r8d, 2
jae 0x140189d8d
xor r8d, r8d
jmp 0x140189dc4
mov eax, 0xcccccccd
mul dword [rcx + 0x34]
lea eax, [r8 - 2]
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
xor edx, edx
mov r8d, eax
mov eax, dword [0x1402db670]
div dword [rsi + 0x30]
imul r8d, ecx
inc eax
add r8d, 2
cmp r8d, eax
jne 0x140189dc4
inc r8d
mov qword [rsp + 0x70], rbp
mov r13d, 0x64
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x40], r15
cmp r8d, edi
je 0x140189fa9
mov eax, dword [0x1402db670]
xor edx, edx
div dword [rsi + 0x30]
inc eax
cmp edi, eax
je 0x140189fa9
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x70]
movzx eax, byte [rdx + 0x25]
movzx ecx, byte [rdx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x26]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x27]
shl ecx, 8
or ecx, eax
jne 0x140189e28
lea eax, [rcx + 0x65]
jmp 0x14018a0c9
lea r9, [rsp + 0x30]
mov edx, edi
lea r8, [rsp + 0x80]
mov rcx, rsi
call fcn.140192c10
test eax, eax
jne 0x14018a0c9
cmp byte [rsp + 0x80], 1
jne 0x140189e77
lea r9, [0x14025a104]
mov r8d, 0xb91d
lea rdx, str.database_corruption_at_line__d_of___.10s_
lea ecx, [rax + 0xb]
call fcn.1401cf6f0
mov eax, ntohs
jmp 0x14018a0c9
cmp byte [rsp + 0x80], 2
jne 0x140189ec3
test ebx, ebx
jne 0x14018a0c7
mov r9d, edi
mov byte [rsp + 0x20], 1
lea r8, [rsp + 0x80]
mov rcx, rsi
lea rdx, [rsp + 0x88]
call fcn.140175860
test eax, eax
jne 0x14018a0c9
mov rcx, qword [rsp + 0x88]
call fcn.140194120
jmp 0x140189fb1
mov rcx, qword [rsi]
lea r8, [rsp + 0x88]
xor r9d, r9d
mov edx, edi
call fcn.1401b1a30
test eax, eax
jne 0x14018a0c9
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
mov r14, qword [rcx + 8]
mov qword [r14 + 0x70], rax
xor eax, eax
cmp edi, 1
mov qword [r14 + 0x78], rcx
mov qword [r14 + 0x68], rsi
cmove eax, r13d
mov dword [r14 + 0x80], edi
mov byte [r14 + 5], al
nop
xor r9d, r9d
mov byte [rsp + 0x20], 0
lea r8, [rsp + 0x88]
mov rcx, rsi
lea rdx, [rsp + 0x38]
call fcn.140175860
mov ebp, eax
test eax, eax
jne 0x140189f9a
mov rcx, qword [rsp + 0x38]
call fcn.140194120
mov ebp, dword [rsp + 0x88]
test ebx, ebx
je 0x140189f4c
cmp ebp, ebx
ja 0x140189f10
mov rcx, qword [r14 + 0x78]
call fcn.1401b3260
mov r15d, eax
test eax, eax
jne 0x140189f85
mov r9d, dword [rsp + 0x30]
test ebx, ebx
movzx r8d, byte [rsp + 0x80]
mov rdx, r14
setne al
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebp
call fcn.140194540
mov r15d, eax
mov rcx, r14
call fcn.140194120
test r15d, r15d
je 0x140189fa9
mov eax, r15d
jmp 0x14018a0c9
mov rcx, r14
call fcn.140194120
mov eax, ebp
jmp 0x14018a0c9
test ebx, ebx
jne 0x14018a0c7
dec edi
lea r14d, [rdi - 2]
nop word [rax + rax]
mov eax, dword [0x1402db670]
xor edx, edx
div dword [rsi + 0x30]
lea r8d, [rax + 1]
cmp edi, r8d
je 0x14018a008
cmp edi, 2
jae 0x140189fdd
xor eax, eax
jmp 0x14018a000
mov eax, 0xcccccccd
mul dword [rsi + 0x34]
mov eax, r14d
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
imul eax, ecx
add eax, 2
cmp eax, r8d
jne 0x14018a000
inc eax
cmp eax, edi
jne 0x14018a0be
cmp edi, 2
jae 0x14018a011
xor eax, eax
jmp 0x14018a034
mov eax, 0xcccccccd
mul dword [rsi + 0x34]
mov eax, r14d
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
imul eax, ecx
add eax, 2
cmp eax, r8d
jne 0x14018a034
inc eax
cmp eax, edi
jne 0x14018a0b4
mov rcx, qword [rsi]
lea r8, [rsp + 0x88]
xor r9d, r9d
mov edx, edi
call fcn.1401b1a30
test eax, eax
jne 0x14018a0c9
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
mov rbx, qword [rcx + 8]
mov qword [rbx + 0x70], rax
xor eax, eax
cmp edi, 1
mov qword [rbx + 0x78], rcx
mov qword [rbx + 0x68], rsi
cmove eax, r13d
mov dword [rbx + 0x80], edi
mov byte [rbx + 5], al
call fcn.1401b3260
mov rcx, qword [rbx + 0x78]
mov ebp, eax
test rcx, rcx
je 0x14018a0ac
mov rbx, qword [rcx + 0x20]
call fcn.1401b3ba0
mov rdx, qword [rbx + 0xe0]
cmp dword [rdx + 0x18], 0
jne 0x14018a0ac
mov rcx, rbx
call fcn.14018f890
test ebp, ebp
jne 0x140189fa2
dec edi
dec r14d
jmp 0x140189fc0
mov rax, qword [rsi]
mov dword [rax + 0x1c], edi
mov dword [rsi + 0x3c], edi
xor eax, eax
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
add rsp, 0x48
pop r13
pop rdi
pop rsi
pop rbx
ret