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

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [rdx]
xor ebp, ebp
mov rdi, qword [rdx + 0x20]
mov r15, rdx
mov rbx, qword [rcx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0xe0], ebp
mov r14d, dword [rax]
mov r12, rcx
mov rax, qword [rdx + 0x48]
mov r13d, ebp
lea edx, [rbp + 0x21]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x20], rbp
call fcn.1800ee280
test eax, eax
jne 0x1800ce098
mov rcx, rbx
mov qword [rsp + 0x98], rsi
call fcn.18013f640
mov r8d, eax
mov dword [rsp + 0xe8], eax
mov rdx, r15
mov rcx, r12
call fcn.18007fd10
mov rax, qword [r15 + 0x58]
mov edx, ebp
mov r9, qword [r15 + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 0x60]
mov qword [rsp + 0x70], rax
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x54], eax
mov eax, dword [r15 + 0x14]
mov qword [r15 + 0x10], rbp
mov qword [r15 + 0x60], rbp
mov qword [r15 + 0x58], rbp
movsxd r8, dword [rdi]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x58], r9
test r8, r8
jle 0x1800cd710
mov ecx, ebp
lea rax, [rdi + 0x48]
test byte [rax], 0x20
jne 0x1800cd6fe
inc edx
inc rcx
add rax, 0x78
cmp rcx, r8
jl 0x1800cd6e7
mov edx, ebp
jmp 0x1800cd710
movsxd rax, edx
imul rcx, rax, 0x78
mov edx, dword [rcx + rdi + 0x50]
mov dword [rsp + 0xe0], edx
mov esi, dword [r12 + 0x54]
lea eax, [rsi + 1]
mov dword [r12 + 0x54], eax
cmp byte [r15 + 8], 0x73
jne 0x1800cd742
test r9, r9
mov ecx, 6
mov r8d, 8
mov r13d, eax
cmovne ecx, r8d
inc eax
mov dword [r12 + 0x54], eax
jmp 0x1800cd752
test r9, r9
mov ecx, 5
mov eax, 7
cmovne ecx, eax
inc dword [r12 + 0x58]
mov edi, dword [r12 + 0x58]
mov byte [rsp + 0x78], cl
mov dword [rsp + 0x7c], esi
mov byte [rsp + 0x79], bpl
mov qword [rsp + 0x80], rbp
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov dword [rsp + 0xf8], edi
cmp dword [rax + 0x64], ecx
jg 0x1800cd7a4
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x3c
mov r9d, edi
mov rcx, rbx
call fcn.1800cfb00
mov r9, qword [rsp + 0x58]
jmp 0x1800cd7cf
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x3c
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], rbp
test r9, r9
je 0x1800cd8dd
mov r8d, 1
mov rdx, r15
mov rcx, r12
call fcn.1800d9820
mov r14, qword [rsp + 0x58]
mov rdi, rax
mov rcx, qword [rbx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov r8d, dword [r14]
add r8d, 2
cmp dword [rcx + 0x64], edx
jg 0x1800cd820
mov r9d, r8d
mov dword [rsp + 0x20], ebp
mov r8d, esi
mov edx, 0x39
mov rcx, rbx
call fcn.1800cfb00
mov edx, eax
jmp 0x1800cd84b
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx]
cmp byte [rax + 0x55], bpl
je 0x1800cd87e
test rdi, rdi
je 0x1800cd8cc
cmp qword [rax + 0x290], rbp
jne 0x1800cd8cc
mov rcx, rdi
call fcn.18011c410
mov edi, dword [rsp + 0xf8]
mov qword [rsp + 0x88], r14
jmp 0x1800cd92e
test edx, edx
jns 0x1800cd887
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x1800cd8bf
mov r9d, 0xfffffffa
mov r8, rdi
mov rcx, rbx
call fcn.18014e490
mov edi, dword [rsp + 0xf8]
mov qword [rsp + 0x88], r14
jmp 0x1800cd92e
test rdi, rdi
je 0x1800cd8cc
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xfa
mov edi, dword [rsp + 0xf8]
mov qword [rsp + 0x88], r14
jmp 0x1800cd92e
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800cd903
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, esi
mov edx, 0x39
mov rcx, rbx
call fcn.1800cfb00
jmp 0x1800cd92e
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
test r13d, r13d
je 0x1800cd98e
mov rax, qword [rbx + 0x30]
movsxd r9, dword [rbx + 0x3c]
cmp dword [rax + 0x64], r9d
jg 0x1800cd95c
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, r13d
mov rcx, rbx
lea edx, [r9 + 0x39]
call fcn.1800cfb00
mov r9d, eax
jmp 0x1800cd985
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov dword [r15 + 0x18], r9d
or dword [r15 + 0xc], 0x10
mov r14, qword [rsp + 0x60]
lea r8, [rsp + 0x78]
mov qword [r15 + 0x40], rbp
mov rdx, r14
mov rcx, r12
mov qword [r14 + 0x50], rbp
call fcn.18012ab60
mov qword [r14 + 0x50], r15
test eax, eax
jne 0x1800cdd7b
mov rax, qword [rbx + 0x30]
movsxd r13, dword [rbx + 0x3c]
cmp dword [rax + 0x64], r13d
jg 0x1800cd9e6
mov r9d, dword [rsp + 0xe8]
mov r8d, esi
mov edx, WSAGetLastError
mov dword [rsp + 0x20], ebp
mov rcx, rbx
call fcn.1800cfb00
mov r13d, eax
jmp 0x1800cda1f
mov edx, dword [rsp + 0xe8]
lea eax, [r13 + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [r13*2]
mov rax, qword [rbx + 8]
add rcx, r13
mov word [rax + rcx*8], WSAGetLastError
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800cda49
mov r8d, dword [rsp + 0xe0]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x68]
call fcn.1800cfb00
jmp 0x1800cda77
mov edx, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x68
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rbx + 0x3c]
test rax, rax
je 0x1800cdac9
mov edx, dword [rax]
mov rax, qword [rbx + 0x30]
inc edx
cmp dword [rax + 0x64], ecx
jg 0x1800cdaab
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x2f
mov r8d, esi
mov rcx, rbx
call fcn.1800cfb00
jmp 0x1800cdb15
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x2f
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
jmp 0x1800cdb07
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x64], ecx
jg 0x1800cdaeb
mov r9d, edi
mov dword [rsp + 0x20], ebp
mov r8d, esi
mov edx, 0x66
mov rcx, rbx
call fcn.1800cfb00
jmp 0x1800cdb15
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x66
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov dword [rax + rcx*8 + 4], esi
mov byte [rax + rcx*8 + 3], bpl
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800cdb3a
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0x5f]
call fcn.1800cfb00
jmp 0x1800cdb61
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x5f
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], esi
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rdi, qword [rbx + 0x30]
movsxd rsi, dword [rdi + 0x80]
lea eax, [rsi + 1]
mov dword [rdi + 0x80], eax
lea eax, [rsi - 1]
test esi, eax
jne 0x1800cdba0
mov rdx, qword [rdi + 0x88]
lea eax, [rsi*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.1800f8550
mov qword [rdi + 0x88], rax
mov rcx, qword [rdi + 0x88]
mov r14d, 0xffffffff
test rcx, rcx
je 0x1800cdbb6
mov dword [rcx + rsi*4], r14d
mov edx, dword [rsp + 0x50]
mov edi, esi
not edi
test edx, edx
jle 0x1800cdc1a
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800cdbec
mov r8d, edx
mov dword [rsp + 0x20], 1
mov edx, 0x8a
mov r9d, edi
mov rcx, rbx
call fcn.1800cfb00
jmp 0x1800cdc1a
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x8a
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], 1
mov qword [rax + rcx*8 + 0x10], rbp
mov eax, dword [rsp + 0xe8]
mov rdx, r15
mov r9d, dword [rsp + 0xe0]
mov rcx, r12
mov r8, qword [r15]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xf0]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
call fcn.1800e8df0
mov edx, dword [rsp + 0x54]
mov edi, dword [rsp + 0xe8]
test edx, edx
je 0x1800cdcb5
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800cdc8b
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x8d
mov r9d, edi
mov rcx, rbx
call fcn.1800cfb00
jmp 0x1800cdcb5
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], 0x8d
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov r8, qword [rbx + 0x30]
mov rdx, qword [r8 + 0x88]
test rdx, rdx
je 0x1800cdccb
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rsi*4], eax
mov eax, dword [rbx + 0x3c]
mov rcx, r12
dec eax
mov dword [r8 + 0x6c], eax
test byte [r15 + 0xc], 8
je 0x1800cdcec
lea rdx, str.recursive_aggregate_queries_not_supported
call fcn.1800fb3f0
jmp 0x1800cdd06
lea r8, [rsp + 0x78]
mov qword [r15 + 0x48], rbp
mov rdx, r15
call fcn.18012ab60
mov rax, qword [rsp + 0x60]
mov qword [r15 + 0x48], rax
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [rbx + 0x3c]
cmp dword [rax + 0x64], ecx
jg 0x1800cdd2b
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, r13d
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.1800cfb00
jmp 0x1800cdd56
lea eax, [rcx + 1]
mov dword [rbx + 0x3c], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 8]
mov word [rax + rcx*8], select
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rdx, qword [rbx + 0x30]
mov r8, qword [rdx + 0x88]
test r8, r8
je 0x1800cdd73
mov eax, dword [rbx + 0x3c]
sub r14d, edi
movsxd rcx, r14d
mov dword [r8 + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [rdx + 0x6c], eax
mov r14, qword [r15 + 0x40]
mov rbx, qword [r12]
test r14, r14
je 0x1800ce075
mov rsi, qword [r14 + 8]
cmp dword [r14], ebp
jle 0x1800cdf22
nop dword [rax]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.1800ff150
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1800cde5d
test rbx, rbx
je 0x1800cde02
cmp qword [rbx + 0x290], 0
je 0x1800cddd7
mov rdx, rdi
mov rcx, rbx
call fcn.1800d60e0
jmp 0x1800cde5d
cmp rdi, qword [rbx + 0x178]
jb 0x1800cde02
cmp rdi, qword [rbx + 0x180]
jae 0x1800cde02
mov rax, qword [rbx + 0x170]
mov qword [rdi], rax
dec dword [rbx + 0x158]
mov qword [rbx + 0x170], rdi
jmp 0x1800cde5d
cmp dword [0x1801e5920], 0
je 0x1800cde54
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800cde1d
call qword [0x1801e59a8]
mov rcx, rdi
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, rdi
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800cde5d
call qword [0x1801e59b8]
jmp 0x1800cde5d
mov rcx, rdi
call qword [0x1801e5950]
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x1800cdf0f
test rbx, rbx
je 0x1800cdeb4
cmp qword [rbx + 0x290], 0
je 0x1800cde89
mov rdx, rdi
mov rcx, rbx
call fcn.1800d60e0
jmp 0x1800cdf0f
cmp rdi, qword [rbx + 0x178]
jb 0x1800cdeb4
cmp rdi, qword [rbx + 0x180]
jae 0x1800cdeb4
mov rax, qword [rbx + 0x170]
mov qword [rdi], rax
dec dword [rbx + 0x158]
mov qword [rbx + 0x170], rdi
jmp 0x1800cdf0f
cmp dword [0x1801e5920], 0
je 0x1800cdf06
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800cdecf
call qword [0x1801e59a8]
mov rcx, rdi
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, rdi
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800cdf0f
call qword [0x1801e59b8]
jmp 0x1800cdf0f
mov rcx, rdi
call qword [0x1801e5950]
inc ebp
add rsi, 0x28
cmp ebp, dword [r14]
jl 0x1800cdda0
mov rsi, qword [r14 + 8]
test rsi, rsi
je 0x1800cdfd0
test rbx, rbx
je 0x1800cdf75
cmp qword [rbx + 0x290], 0
je 0x1800cdf4a
mov rdx, rsi
mov rcx, rbx
call fcn.1800d60e0
jmp 0x1800cdfd5
cmp rsi, qword [rbx + 0x178]
jb 0x1800cdf75
cmp rsi, qword [rbx + 0x180]
jae 0x1800cdf75
mov rax, qword [rbx + 0x170]
mov qword [rsi], rax
dec dword [rbx + 0x158]
mov qword [rbx + 0x170], rsi
jmp 0x1800cdfd5
cmp dword [0x1801e5920], 0
je 0x1800cdfc7
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800cdf90
call qword [0x1801e59a8]
mov rcx, rsi
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, rsi
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800cdfd0
call qword [0x1801e59b8]
jmp 0x1800cdfd0
mov rcx, rsi
call qword [0x1801e5950]
test rbx, rbx
je 0x1800ce01a
cmp qword [rbx + 0x290], 0
je 0x1800cdfef
mov rdx, r14
mov rcx, rbx
call fcn.1800d60e0
jmp 0x1800ce075
cmp r14, qword [rbx + 0x178]
jb 0x1800ce01a
cmp r14, qword [rbx + 0x180]
jae 0x1800ce01a
mov rax, qword [rbx + 0x170]
mov qword [r14], rax
dec dword [rbx + 0x158]
mov qword [rbx + 0x170], r14
jmp 0x1800ce075
cmp dword [0x1801e5920], 0
je 0x1800ce06c
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800ce035
call qword [0x1801e59a8]
mov rcx, r14
call qword [0x1801e5960]
dec qword [0x1801ee598]
movsxd rcx, eax
sub qword [0x1801ee550], rcx
mov rcx, r14
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800ce075
call qword [0x1801e59b8]
jmp 0x1800ce075
mov rcx, r14
call qword [0x1801e5950]
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x98]
mov qword [r15 + 0x40], rax
mov rax, qword [rsp + 0x68]
mov qword [r15 + 0x58], rax
mov rax, qword [rsp + 0x70]
mov qword [r15 + 0x60], rax
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret