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

Disassembly:
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov r8, qword [rcx]
movzx esi, dx
xor edx, edx
mov qword [rsp + 0x80], r8
mov rdi, rcx
mov dword [rsp + 0x50], edx
movzx ecx, byte [rcx + 0x40]
mov r15d, 1
mov qword [rsp + 0x88], rdx
movzx ebp, dx
mov dword [rsp + 0x48], ecx
movzx r12d, dx
cmp ecx, r15d
ja 0x1800d7abb
mov ebx, r15d
jmp 0x1800d7acb
cmp ecx, 2
mov ebx, 0xa
mov eax, 5
cmove ebx, eax
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x4c], ebx
test rax, rax
je 0x1800d7aea
test si, si
je 0x1800d7aea
mov r14d, dword [rax]
mov dword [rsp + 0x108], r14d
jmp 0x1800d7af4
mov r14d, edx
mov dword [rsp + 0x108], edx
lea eax, [rcx + 4]
imul eax, ebx
lea ecx, [r14 + rax*8]
add ecx, ecx
movsxd rdx, ecx
mov rcx, qword [r8]
call fcn.18002a8b0
mov qword [rsp + 0x78], rax
mov r13, rax
test rax, rax
jne 0x1800d7b21
lea eax, [r13 + 7]
jmp 0x1800d84b9
movsxd r8, dword [rsp + 0x48]
lea rdx, [r13 + 0x18]
xorps xmm0, xmm0
mov eax, ebx
shl rax, 5
mov r10, r13
lea r9, [rax + r13]
mov qword [rsp + 0x60], r13
movups xmmword [r9], xmm0
mov qword [rsp + 0x70], r9
lea rcx, [rax + r9]
shl r8, 3
movups xmmword [r9 + 0x10], xmm0
lea eax, [rbx + rbx]
nop dword [rax + rax]
mov qword [rdx], rcx
lea rdx, [rdx + 0x20]
add rcx, r8
dec eax
test eax, eax
jg 0x1800d7b60
test r14d, r14d
je 0x1800d7b92
movsxd r8, r14d
xor edx, edx
add r8, r8
mov qword [rsp + 0x88], rcx
call fcn.18013d7a0
mov r9, qword [rsp + 0x70]
mov r10, r13
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0xe0]
cmp ax, 0x30
jl 0x1800d7bac
mov eax, 0x30
mov word [r9 + 0x10], ax
mov ecx, r15d
test r14d, r14d
je 0x1800d7bd3
movzx eax, r14b
mov edx, 0xffffffff
mov r14d, dword [rsp + 0x48]
test r14b, r14b
cmovne eax, edx
mov byte [r9 + 0x16], al
jmp 0x1800d7bd8
mov r14d, dword [rsp + 0x48]
xor edx, edx
mov r11d, pe_nt_image_headers64
mov dword [rsp + 0x54], edx
test r14b, r14b
je 0x1800d81ca
xor esi, esi
mov r8d, 0x4000
mov qword [rsp + 0x58], rsi
nop word [rax + rax]
xor r13d, r13d
test ecx, ecx
jle 0x1800d80db
lea rbx, [r9 + 0x10]
mov eax, ecx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x90], rax
nop
mov r15, qword [rdi + 0x58]
test r15, r15
je 0x1800d80b2
nop dword [rax]
mov r14, qword [rbx - 0x10]
lea r11, [rbx - 0x10]
mov rax, r14
not rax
test qword [r15], rax
jne 0x1800d8095
mov r9, qword [r15 + 8]
test r9, r14
jne 0x1800d8095
test dword [r15 + 0x38], r8d
je 0x1800d7c64
cmp word [rbx], 3
jl 0x1800d8095
movsx edi, word [r15 + 0x12]
lea rsi, str._n_n_t_t_b_b_a_a_a
movzx r10d, word [rbx]
mov ecx, edi
movzx r8d, r10w
add r8w, word [r15 + 0x14]
movsx edx, r8w
cmp di, r8w
jl 0x1800d7caa
lea eax, [rdx + 0x31]
cmp ecx, eax
jg 0x1800d7cd1
lea eax, [rdx + 0x1f]
cmp ecx, eax
jle 0x1800d7c9c
inc di
jmp 0x1800d7cd1
sub ecx, edx
movsxd rax, ecx
movzx ecx, byte [rax + rsi]
add di, cx
jmp 0x1800d7cd1
lea eax, [rdi + 0x31]
cmp edx, eax
jle 0x1800d7cb7
movzx edi, r8w
jmp 0x1800d7cd1
lea eax, [rdi + 0x1f]
cmp edx, eax
jle 0x1800d7cc4
lea edi, [r8 + 1]
jmp 0x1800d7cd1
sub edx, ecx
movsxd rax, edx
movzx edi, byte [rax + rsi]
add di, r8w
movsx r8d, word [rbx + 4]
movsx ecx, di
mov edx, r8d
cmp di, r8w
jl 0x1800d7d05
lea eax, [r8 + 0x31]
cmp ecx, eax
jg 0x1800d7d2c
lea eax, [r8 + 0x1f]
cmp ecx, eax
jle 0x1800d7cf7
inc di
jmp 0x1800d7d2c
sub ecx, edx
movsxd rax, ecx
movzx eax, byte [rax + rsi]
add di, ax
jmp 0x1800d7d2c
lea eax, [rcx + 0x31]
cmp edx, eax
jle 0x1800d7d12
movzx edi, r8w
jmp 0x1800d7d2c
lea eax, [rcx + 0x1f]
cmp edx, eax
jle 0x1800d7d1f
lea edi, [r8 + 1]
jmp 0x1800d7d2c
sub edx, ecx
movsxd rax, edx
movzx edi, byte [rax + rsi]
add di, r8w
add r10w, word [r15 + 0x16]
or r14, r9
movzx esi, byte [rbx + 6]
mov word [rsp + 0x100], r10w
test sil, sil
jns 0x1800d7ec2
mov rbx, qword [rsp + 0xf0]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov r8, r11
mov eax, dword [rsp + 0x54]
mov rcx, rbx
mov qword [rsp + 0x28], r15
movzx r9d, word [rbx + 0x3c]
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x68], 0
mov word [rsp + 0x20], ax
call fcn.1800d70a0
movzx esi, al
test al, al
jns 0x1800d7ed3
movzx r8d, di
add di, 0xfffe
mov r10, qword [rsp + 0x60]
xor ecx, ecx
mov rbx, r10
test r13d, r13d
jle 0x1800d7dcd
nop dword [rax]
cmp qword [rbx], r14
jne 0x1800d7dc2
movzx eax, sil
xor al, byte [rbx + 0x16]
jge 0x1800d8051
inc ecx
add rbx, 0x20
cmp ecx, r13d
jl 0x1800d7db0
mov r9d, dword [rsp + 0x4c]
cmp r13d, r9d
jl 0x1800d7ded
cmp r8w, bp
jg 0x1800d8085
jne 0x1800d7ded
cmp di, r12w
jge 0x1800d8085
movzx ecx, word [rsp + 0x100]
cmp r13d, r9d
mov eax, r13d
cmovge eax, dword [rsp + 0x50]
movsxd rbx, eax
lea eax, [r13 + 1]
shl rbx, 5
add rbx, r10
cmp r13d, r9d
cmovge eax, r13d
mov r13d, eax
mov rax, qword [r15 + 8]
mov rdx, qword [rsp + 0x40]
or rax, qword [rdx - 0x10]
mov qword [rbx], rax
mov rax, qword [rsp + 0x68]
mov byte [rbx + 0x16], sil
mov rsi, qword [rsp + 0x58]
mov word [rbx + 0x10], cx
mov rcx, qword [rbx + 0x18]
mov word [rbx + 0x12], r8w
mov r8, rsi
mov qword [rbx + 8], rax
mov word [rbx + 0x14], di
mov rdx, qword [rdx + 8]
call fcn.18013fe80
mov rax, qword [rbx + 0x18]
mov r9d, dword [rsp + 0x4c]
mov r10, qword [rsp + 0x60]
mov qword [rsi + rax], r15
cmp r13d, r9d
jl 0x1800d808a
movzx ebp, word [r10 + 0x12]
mov edx, 1
movzx r12d, word [r10 + 0x10]
mov dword [rsp + 0x50], 0
cmp r9d, edx
jbe 0x1800d808a
lea rax, [r10 + 0x34]
movzx ecx, word [rax - 2]
cmp cx, bp
jg 0x1800d7ea7
jne 0x1800d7eb2
cmp word [rax], r12w
jle 0x1800d7eb2
movzx r12d, word [rax]
movzx ebp, cx
mov dword [rsp + 0x50], edx
inc edx
add rax, 0x20
cmp edx, r9d
jl 0x1800d7e96
jmp 0x1800d808a
mov rax, qword [rbx - 8]
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rax
movzx r10d, sil
cmp r10d, dword [rsp + 0x108]
jge 0x1800d7d92
mov rcx, qword [rsp + 0x88]
movzx r8d, word [rcx + r10*2]
lea r11, [rcx + r10*2]
test r8w, r8w
jne 0x1800d7fc0
mov rax, qword [rbx + 0x20]
movzx r9d, word [rsp + 0xf8]
mov rcx, qword [rax + 0x20]
mov eax, 0x88888889
mov r8d, dword [rcx]
add r8d, 0x3b
imul r8d
add edx, r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsxd rcx, edx
call fcn.180030ab0
movzx ecx, r9w
lea r8d, [rcx + rax]
test sil, sil
je 0x1800d7f6b
mov ecx, dword [rsp + 0x108]
sub ecx, r10d
imul eax, ecx, 0x64
cdq
idiv dword [rsp + 0x108]
movsxd rcx, eax
call fcn.180030ab0
sub ax, 0x42
movzx ecx, r9w
add r8w, ax
movzx eax, word [rbx + 0x3c]
bt ax, 0xe
jae 0x1800d7f92
lea eax, [r8 + 0xa]
test sil, sil
lea r8d, [rax + 6]
cmove r8w, ax
cmp word [rbx + 0x3e], cx
cmovl r9w, word [rbx + 0x3e]
jmp 0x1800d7fa3
bt ax, 8
jae 0x1800d7fa3
cmp cx, 0xa
jle 0x1800d7fbc
lea r9d, [rcx - 0xa]
cmp r9w, 0xa
jle 0x1800d7fbc
movsx rcx, r9w
call fcn.180030ab0
sub r8w, 0x21
add r8w, ax
mov word [r11], r8w
movsx ecx, di
movsx edx, r8w
cmp di, r8w
jl 0x1800d8016
lea eax, [rdx + 0x31]
cmp ecx, eax
jle 0x1800d7fe2
movzx r8d, di
add r8w, 3
jmp 0x1800d7d9a
lea eax, [rdx + 0x1f]
cmp ecx, eax
jle 0x1800d7ff7
lea r8d, [rdi + 1]
add r8w, 3
jmp 0x1800d7d9a
sub ecx, edx
lea r11, str._n_n_t_t_b_b_a_a_a
movsxd rax, ecx
movzx r8d, byte [rax + r11]
add r8w, di
add r8w, 3
jmp 0x1800d7d9a
lea eax, [rcx + 0x31]
cmp edx, eax
jg 0x1800d8047
lea eax, [rcx + 0x1f]
cmp edx, eax
jle 0x1800d8032
inc r8w
add r8w, 3
jmp 0x1800d7d9a
sub edx, ecx
lea r11, str._n_n_t_t_b_b_a_a_a
movsxd rax, edx
movzx ecx, byte [rax + r11]
add r8w, cx
add r8w, 3
jmp 0x1800d7d9a
cmp ecx, r13d
jge 0x1800d7dcd
cmp word [rbx + 0x12], r8w
jl 0x1800d8085
movzx ecx, word [rsp + 0x100]
jne 0x1800d7e18
cmp word [rbx + 0x10], cx
jl 0x1800d8085
jne 0x1800d7e18
cmp word [rbx + 0x14], di
jg 0x1800d7e18
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov r8d, 0x4000
mov r15, qword [r15 + 0x50]
test r15, r15
jne 0x1800d7c30
mov rdi, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x90]
add rbx, 0x20
sub rax, 1
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x90], rax
jne 0x1800d7c20
mov edx, dword [rsp + 0x54]
mov r14d, dword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov rax, r10
mov qword [rsp + 0x60], r9
inc edx
mov qword [rsp + 0x70], rax
add rsi, 8
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x58], rsi
mov r10, r9
mov r9, rax
mov ecx, r13d
cmp edx, r14d
jl 0x1800d7c00
test r13d, r13d
jne 0x1800d81b1
mov rbx, qword [rsp + 0x80]
lea rdx, str.no_query_solution
mov rcx, rbx
call fcn.18002e270
mov rcx, qword [rbx]
mov rdx, qword [rsp + 0x78]
test rcx, rcx
je 0x1800d819f
cmp rdx, qword [rcx + 0x1f0]
jae 0x1800d8186
cmp rdx, qword [rcx + 0x1e0]
jb 0x1800d8162
mov rax, qword [rcx + 0x1d8]
mov qword [rdx], rax
lea eax, [r13 + 1]
mov qword [rcx + 0x1d8], rdx
jmp 0x1800d84b9
cmp rdx, qword [rcx + 0x1e8]
jb 0x1800d8186
mov rax, qword [rcx + 0x1c8]
mov qword [rdx], rax
mov eax, 1
mov qword [rcx + 0x1c8], rdx
jmp 0x1800d84b9
cmp qword [rcx + 0x308], 0
je 0x1800d819f
call fcn.18002a490
mov eax, 1
jmp 0x1800d84b9
mov rcx, rdx
call fcn.18002a420
mov eax, 1
jmp 0x1800d84b9
movzx esi, word [rsp + 0xf8]
mov r15d, 1
mov r13, qword [rsp + 0x78]
mov r11d, pe_nt_image_headers64
movsxd rdx, ecx
mov rbx, r9
cmp rdx, 1
jle 0x1800d8200
lea rcx, [r9 + 0x32]
dec rdx
nop dword [rax]
movzx eax, word [rcx]
cmp word [rbx + 0x12], ax
jle 0x1800d81f3
movsxd rbx, r15d
shl rbx, 5
add rbx, r9
inc r15d
add rcx, 0x20
sub rdx, 1
jne 0x1800d81e0
test r14b, r14b
je 0x1800d8246
xor r8d, r8d
mov r9d, r14d
lea rdx, [rdi + 0x3a0]
mov rax, qword [rbx + 0x18]
lea rdx, [rdx + 0x70]
lea r8, [r8 + 8]
mov rcx, qword [r8 + rax - 8]
mov qword [rdx - 0x50], rcx
movzx eax, byte [rcx + 0x10]
imul rcx, rax, 0x68
mov byte [rdx - 0x70], al
mov rax, qword [rdi + 8]
mov ecx, dword [rcx + rax + 0x4c]
mov dword [rdx - 0xac], ecx
sub r9, 1
jne 0x1800d8212
movzx eax, word [rdi + 0x3c]
mov ecx, 0x180
and ax, cx
cmp ax, r11w
jne 0x1800d82af
cmp byte [rdi + 0x43], 0
jne 0x1800d82af
test si, si
je 0x1800d82af
mov rax, qword [rbx + 0x18]
lea r8, [rsp + 0xf0]
mov qword [rsp + 0x30], r8
lea edx, [r14 - 1]
movzx ecx, r14b
mov r9d, 0x80
mov r8, rbx
mov rax, qword [rax + rcx*8 - 8]
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], dx
mov rdx, qword [rdi + 0x18]
call fcn.1800d70a0
movsx ecx, al
mov rax, qword [rdi + 0x18]
cmp ecx, dword [rax]
jne 0x1800d82af
mov byte [rdi + 0x43], 2
mov ecx, dword [rdi + 0x44]
mov r10, qword [rdi + 0x10]
and ecx, 0xfffffffb
mov dword [rdi + 0x44], ecx
test r10, r10
je 0x1800d8440
movzx r9d, word [rdi + 0x3c]
movsx r11d, byte [rbx + 0x16]
mov byte [rdi + 0x41], r11b
test r9b, r9b
jns 0x1800d8312
movsx eax, byte [rbx + 0x16]
cmp eax, dword [r10]
jne 0x1800d82e5
mov byte [rdi + 0x43], 2
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x1800d8306
mov edx, dword [rcx]
cmp r11d, edx
movzx ecx, byte [rdi + 0x41]
movzx r8d, dl
cmovg ecx, r8d
mov byte [rdi + 0x41], cl
movzx eax, r9w
mov rdx, r10
jmp 0x1800d83ce
mov rax, qword [rbx + 8]
mov rdx, r10
mov qword [rdi + 0x68], rax
test r11b, r11b
jg 0x1800d83b3
mov byte [rdi + 0x41], 0
test r14b, r14b
je 0x1800d83ad
mov rax, qword [rbx + 0x18]
movzx ecx, r14b
mov r11, qword [rax + rcx*8 - 8]
mov eax, dword [r11 + 0x38]
and eax, 0x104
cmp eax, 0x104
setne cl
bt dword [r11 + 0x38], 0xc
setae al
test al, cl
je 0x1800d83ad
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0x30], rcx
lea eax, [r14 - 1]
mov qword [rsp + 0x28], r11
mov rcx, rdi
mov r9d, 0x800
mov word [rsp + 0x20], ax
mov r8, rbx
call fcn.1800d70a0
mov rdx, qword [rdi + 0x10]
movsx ecx, al
cmp ecx, dword [rdx]
jne 0x1800d83ad
mov rax, qword [rsp + 0xf0]
or dword [rdi + 0x44], 4
mov qword [rdi + 0x68], rax
movzx eax, word [rdi + 0x3c]
jmp 0x1800d83ce
movzx eax, r9w
test r14b, r14b
je 0x1800d83ce
cmp r11b, 1
jne 0x1800d83ce
test r9b, 3
je 0x1800d83ce
or ecx, 4
mov dword [rdi + 0x44], ecx
bt ax, 9
jae 0x1800d8440
movsx eax, byte [rdi + 0x41]
cmp eax, dword [rdx]
jne 0x1800d8440
test r14b, r14b
je 0x1800d8440
mov rax, qword [rbx + 0x18]
lea r8, [rsp + 0xf0]
mov qword [rsp + 0x30], r8
xor r9d, r9d
movzx ecx, r14b
mov r8, rbx
mov qword [rsp + 0xf0], 0
dec r14w
mov rax, qword [rax + rcx*8 - 8]
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], r14w
call fcn.1800d70a0
movsx ecx, al
mov rax, qword [rdi + 0x10]
cmp ecx, dword [rax]
jne 0x1800d8440
mov rax, qword [rsp + 0xf0]
or dword [rdi + 0x44], 8
mov qword [rdi + 0x68], rax
movzx eax, word [rbx + 0x10]
mov word [rdi + 0x48], ax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800d84af
cmp r13, qword [rcx + 0x1f0]
jae 0x1800d849b
cmp r13, qword [rcx + 0x1e0]
jb 0x1800d847e
mov rax, qword [rcx + 0x1d8]
mov qword [r13], rax
mov qword [rcx + 0x1d8], r13
jmp 0x1800d84b7
cmp r13, qword [rcx + 0x1e8]
jb 0x1800d849b
mov rax, qword [rcx + 0x1c8]
mov qword [r13], rax
mov qword [rcx + 0x1c8], r13
jmp 0x1800d84b7
cmp qword [rcx + 0x308], 0
je 0x1800d84af
mov rdx, r13
call fcn.18002a490
jmp 0x1800d84b7
mov rcx, r13
call fcn.18002a420
xor eax, eax
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret