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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0x98
mov r13, qword [rcx]
mov rsi, rcx
xor ecx, ecx
mov qword [rax - 0x38], r12
mov qword [rsp + 0x40], rcx
mov r14, r9
mov qword [rsp + 0x38], rcx
mov ebp, ecx
mov qword [rax - 0x40], r15
mov r12d, ecx
mov qword [rax - 0x80], rcx
mov r15d, ecx
test rdx, rdx
je 0x1401c0432
movsxd rdi, dword [rdx]
lea rbx, [rdi + rdi*2]
shl rbx, 3
test r13, r13
je 0x1401bfe61
mov rdx, rbx
mov rcx, r13
call fcn.1401c3340
jmp 0x1401bfe69
mov rcx, rbx
call fcn.1401e3080
mov r14, rax
test rax, rax
je 0x1401bfe7e
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14002a0d0
mov eax, 0x7fff
cmp edi, eax
cmovg edi, eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x60], edi
mov word [rax], di
mov rax, qword [rsp + 0xe8]
mov qword [rax], r14
xor eax, eax
mov dword [rsp + 0x50], eax
mov ebx, eax
test edi, edi
jle 0x1401c043d
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x58], r14
nop dword [rax]
cmp dword [rsi + 0x30], 0
jne 0x1401c042b
mov rcx, qword [rsp + 0xd8]
add rcx, 8
shl rax, 5
add rax, rcx
mov qword [rsp + 0x68], rax
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1401bfef5
test byte [rax + 0x14], 3
je 0x1401bff8d
mov rax, qword [rax]
test rax, rax
je 0x1401bff3e
nop dword [rax]
mov ecx, dword [rax + 4]
test ecx, 0x82000
je 0x1401bff24
bt ecx, 0x13
jae 0x1401bff1b
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
jmp 0x1401bff1f
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401bff00
test rax, rax
je 0x1401bff3e
nop dword [rax]
cmp byte [rax], 0x8d
jne 0x1401bff3e
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401bff30
movzx ecx, byte [rax]
cmp cl, 0xa7
jne 0x1401bff7f
test dword [rax + 4], 0x3000000
jne 0x1401bff88
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x1401bff88
movsx ecx, word [rax + 0x30]
test ecx, ecx
jns 0x1401bff71
movsx ecx, word [rdx + 0x34]
test ecx, ecx
jns 0x1401bff71
lea rdi, str.rowid
jmp 0x1401bff8d
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
mov rdi, qword [rax + rcx*8]
jmp 0x1401bff88
cmp cl, 0x3b
jne 0x1401bff88
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1401bffde
mov rcx, rdi
call fcn.1401e12e0
test eax, eax
jne 0x1401bffde
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401bffa0
inc rbx
test r13, r13
je 0x1401bffbe
mov rdx, rbx
mov rcx, r13
call fcn.1401c3340
jmp 0x1401bffc6
mov rcx, rbx
call fcn.1401e3080
mov rsi, rax
test rax, rax
je 0x1401bfff4
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call fcn.14002b6c0
jmp 0x1401bfff4
lea r8d, [rbx + 1]
mov rcx, r13
lea rdx, str.column_d
call fcn.1401e3050
mov rsi, rax
xor r9d, r9d
mov ebx, r9d
mov dword [rsp + 0x30], ebx
test rsi, rsi
je 0x1401c01bd
mov rdi, qword [rsp + 0xd0]
nop
test r15, r15
je 0x1401c0069
movzx eax, byte [rsi]
mov rcx, rsi
mov r8d, r9d
test al, al
je 0x1401c0050
lea rdx, [0x140000000]
nop dword [rax]
movzx eax, al
lea rcx, [rcx + 1]
movzx eax, byte [rax + rdx + 0x30df60]
add eax, r8d
imul r8d, eax, 0x9e3779b1
movzx eax, byte [rcx]
test al, al
jne 0x1401c0030
xor edx, edx
mov eax, r8d
div dword [rsp + 0x38]
mov ecx, edx
add rcx, rcx
mov r10, qword [r15 + rcx*8 + 8]
mov r11d, dword [r15 + rcx*8]
jmp 0x1401c006f
mov r10, rbp
mov r11d, r12d
test r11d, r11d
je 0x1401c00d9
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [r10 + 0x18]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
cmp eax, ecx
jne 0x1401c00a6
test eax, eax
je 0x1401c00e0
inc r8
jmp 0x1401c0090
lea rdx, [0x140000000]
movzx edx, byte [rcx + rdx + 0x30df60]
mov rcx, rax
lea rax, [0x140000000]
movzx eax, byte [rcx + rax + 0x30df60]
cmp eax, edx
jne 0x1401c00d0
inc r8
jmp 0x1401c0090
mov r10, qword [r10]
add r11d, 0xffffffff
jne 0x1401c0080
lea r10, [0x14036e048]
mov rax, qword [r10 + 0x10]
test rax, rax
je 0x1401c01ba
test byte [rax + 0x14], 0x80
je 0x1401c0101
mov eax, 0x400
or word [r14 + 0x12], ax
mov ebx, dword [rsp + 0x30]
test rsi, rsi
jne 0x1401c010a
xor ecx, ecx
jmp 0x1401c0165
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rsi + rcx], 0
jne 0x1401c0111
and ecx, 0x3fffffff
jbe 0x1401c0165
mov edx, ecx
lea r8d, [rcx - 1]
dec rdx
test rdx, rdx
jle 0x1401c015a
lea r9, [0x140000000]
nop word [rax + rax]
movzx eax, byte [rdx + rsi]
test byte [rax + r9 + 0x30e080], 4
je 0x1401c015a
dec r8d
dec rdx
test rdx, rdx
jg 0x1401c0140
movsxd rax, r8d
cmp byte [rax + rsi], 0x3a
cmove ecx, r8d
inc ebx
lea rdx, str._.z:_u
mov r8d, ecx
mov dword [rsp + 0x30], ebx
mov rcx, r13
mov dword [rsp + 0x20], ebx
mov r9, rsi
call fcn.1401e3050
mov rcx, rdi
mov rsi, rax
call fcn.1401ef5e0
mov ebx, dword [rsp + 0x30]
cmp ebx, 3
jbe 0x1401c01ab
lea rdx, [rsp + 0x30]
mov ecx, 4
call fcn.14014de50
mov ebx, dword [rsp + 0x30]
mov r9d, 0
test rsi, rsi
jne 0x1401c0010
xor r9d, r9d
xor dl, dl
mov qword [r14], rsi
mov rcx, rsi
test rsi, rsi
je 0x1401c01f6
movzx eax, byte [rsi]
test al, al
je 0x1401c01f6
lea r8, [0x140000000]
nop dword [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
add dl, byte [rax + r8 + 0x30df60]
movzx eax, byte [rcx]
test al, al
jne 0x1401c01e0
mov rbx, qword [rsp + 0x68]
mov byte [r14 + 0xe], dl
test dword [rbx + 0x14], 0x100
je 0x1401c0212
mov eax, 0x400
or word [r14 + 0x12], ax
test rsi, rsi
je 0x1401c03fe
test r15, r15
je 0x1401c027b
movzx eax, byte [rsi]
mov rcx, rsi
mov r8d, r9d
test al, al
je 0x1401c0260
lea rdx, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
movzx eax, byte [rax + rdx + 0x30df60]
add eax, r8d
imul r8d, eax, 0x9e3779b1
movzx eax, byte [rcx]
test al, al
jne 0x1401c0240
xor edx, edx
mov eax, r8d
div dword [rsp + 0x38]
mov eax, edx
add rax, rax
mov edi, edx
mov r10, qword [r15 + rax*8 + 8]
mov r11d, dword [r15 + rax*8]
jmp 0x1401c0284
mov edi, r9d
mov r10, rbp
mov r11d, r12d
test r11d, r11d
je 0x1401c02e9
nop dword [rax]
mov r8, qword [r10 + 0x18]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1401c02b6
test edx, edx
je 0x1401c02f0
inc r8
jmp 0x1401c02a0
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x30df60]
mov rax, rdx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x30df60]
cmp eax, ecx
jne 0x1401c02e0
inc r8
jmp 0x1401c02a0
mov r10, qword [r10]
add r11d, 0xffffffff
jne 0x1401c0290
lea r10, [0x14036e048]
mov rax, qword [r10 + 0x10]
test rax, rax
je 0x1401c0306
mov qword [r10 + 0x10], rbx
mov qword [r10 + 0x18], rsi
jmp 0x1401c03f1
mov ecx, 0x20
call fcn.1401e3080
mov rbx, rax
test rax, rax
je 0x1401c03f6
inc r12d
mov qword [rax + 0x18], rsi
mov rax, qword [rsp + 0x68]
mov qword [rbx + 0x10], rax
mov dword [rsp + 0x3c], r12d
cmp r12d, 0xa
jb 0x1401c0374
mov eax, dword [rsp + 0x38]
lea ecx, [rax + rax]
cmp r12d, ecx
jbe 0x1401c0374
lea edx, [r12 + r12]
lea rcx, [rsp + 0x38]
call fcn.1401a9970
test eax, eax
je 0x1401c0365
mov rcx, rsi
call fcn.14021ee20
xor edx, edx
div dword [rsp + 0x38]
mov edi, edx
mov r12d, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
test r15, r15
je 0x1401c03ce
mov ecx, edi
shl rcx, 4
add rcx, r15
je 0x1401c03ce
mov eax, dword [rcx]
xor r8d, r8d
test eax, eax
je 0x1401c0393
mov rdx, qword [rcx + 8]
jmp 0x1401c0396
mov rdx, r8
inc eax
mov qword [rcx + 8], rbx
mov dword [rcx], eax
test rdx, rdx
je 0x1401c03ce
mov qword [rbx], rdx
mov rax, qword [rdx + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdx + 8]
test rax, rax
je 0x1401c03c0
mov qword [rax], rbx
mov qword [rdx + 8], rbx
jmp 0x1401c03e9
mov rbp, rbx
mov qword [rsp + 0x40], rbx
mov qword [rdx + 8], rbx
jmp 0x1401c03e9
mov qword [rbx], rbp
test rbp, rbp
je 0x1401c03da
mov qword [rbp + 8], rbx
xor r8d, r8d
mov qword [rsp + 0x40], rbx
mov qword [rbx + 8], r8
mov rbp, rbx
mov rbx, qword [rsp + 0x68]
mov rax, r8
cmp rax, rbx
jne 0x1401c03fe
mov rcx, r13
call fcn.1401e4290
mov ebx, dword [rsp + 0x50]
add r14, 0x18
mov rax, qword [rsp + 0x70]
inc ebx
mov rsi, qword [rsp + 0xd0]
inc rax
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x70], rax
cmp ebx, dword [rsp + 0x60]
jl 0x1401bfec0
mov rbp, qword [rsp + 0x58]
jmp 0x1401c0440
mov word [r8], cx
mov ebx, ecx
mov qword [r9], rcx
jmp 0x1401c0448
mov rbp, r14
mov r14, qword [rsp + 0xe8]
lea rcx, [rsp + 0x38]
call fcn.1401ddda0
cmp dword [rsi + 0x30], 0
mov r15, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
je 0x1401c04bf
movsxd rdi, ebx
test ebx, ebx
jle 0x1401c048c
mov rbx, rbp
mov rdx, qword [rbx]
test rdx, rdx
je 0x1401c0482
mov rcx, r13
call fcn.1401c3190
add rbx, 0x18
sub rdi, 1
jne 0x1401c0472
test rbp, rbp
je 0x1401c049c
mov rdx, rbp
mov rcx, r13
call fcn.1401c3190
mov rax, qword [rsp + 0xe0]
xor ecx, ecx
mov qword [r14], rcx
mov word [rax], cx
mov eax, dword [rsi + 0x18]
add rsp, 0x98
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor eax, eax
add rsp, 0x98
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret