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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r15, r9
mov r13, r8
mov rsi, rdx
mov r14, rcx
movzx eax, word [rdx + 0x14]
mov edx, 0x10b
cmp ax, 2
jb 0x66209054
cmp word [rsi + 0x18], dx
jne 0x66209054
mov r8d, dword [rsi + 0x74]
jmp 0x6620905b
mov r8d, dword [rsi + 0x84]
cmp r8d, 1
jbe 0x6620945b
cmp ax, 2
jb 0x66209075
cmp word [rsi + 0x18], dx
lea rcx, [rsi + 0x78]
je 0x6620907c
lea rcx, [rsi + 0x88]
add rcx, 8
je 0x6620945b
mov ebx, dword [rcx]
test ebx, ebx
je 0x6620945b
cmp byte [rsi + 0x118], 0
jne 0x662090d5
mov eax, dword [rsi + 0x54]
cmp ebx, eax
jb 0x662090d5
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, ebx
mov rdx, rsi
mov rcx, r14
call fcn.6620ab40
test eax, eax
js 0x66209460
mov eax, dword [rbp - 0x34]
mov edi, dword [rbp - 0x2c]
sub rdi, rax
add rdi, rbx
mov edx, 0x10b
jmp 0x662090d8
mov rdi, rbx
add rdi, qword [rsi + 0x110]
mov qword [rsp + 0x50], rdi
cmp word [rsi + 0x14], 2
jb 0x662090f6
cmp word [rsi + 0x18], dx
jne 0x662090f6
mov r12b, 1
jmp 0x662090f9
xor r12b, r12b
mov byte [rbp + 0x68], r12b
nop dword [rax]
cmp byte [r14 + 0x70], 0
je 0x6620911c
mov r8d, 0x14
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.6620e7b0
jmp 0x6620918b
call fcn.66209ab0
test rax, rax
je 0x66209155
cmp byte [rax + 0x3c], 0
je 0x66209155
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0x14
lea r9, [rsp + 0x60]
mov r8, rdi
mov rdx, qword [r14 + 0x58]
mov rcx, rax
call fcn.66209f70
jmp 0x66209177
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0x14
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [r14 + 0x58]
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
test eax, eax
js 0x66209460
cmp qword [rsp + 0x58], 0x14
jne 0x66209454
cmp dword [rsp + 0x60], 0
je 0x66209450
mov ebx, dword [rsp + 0x6c]
cmp byte [rsi + 0x118], 0
jne 0x662091e6
cmp word [rsi + 0x14], 2
jb 0x662091af
mov eax, 0x10b
mov eax, dword [rsi + 0x54]
cmp ebx, eax
jb 0x662091e6
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, ebx
mov rdx, rsi
mov rcx, r14
call fcn.6620ab40
test eax, eax
js 0x66209460
mov eax, dword [rbp - 4]
mov edi, dword [rbp + 4]
sub rdi, rax
add rdi, rbx
jmp 0x662091e9
mov rdi, rbx
add rdi, qword [rsi + 0x110]
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.66208150
nop
lea r9, [rbp - 0x50]
lea r8, [rsp + 0x78]
mov rdx, rdi
mov rcx, r14
call fcn.6620a0f0
mov ebx, eax
test eax, eax
js 0x66209442
mov rcx, qword [rsp + 0x78]
mov r8, rcx
mov rdx, qword [rbp - 0x50]
call fcn.66208000
test r13, r13
je 0x66209266
mov r8, qword [rbp + 0x80]
mov rdx, rdi
mov rcx, qword [rsp + 0x78]
call r13
mov ebx, eax
cmp eax, 0x4000000f
jne 0x6620925b
lea rcx, [rsp + 0x78]
call fcn.66208260
jmp 0x66209425
cmp eax, 0xc0000271
jne 0x66209442
test r15, r15
jne 0x6620927a
lea rcx, [rsp + 0x78]
call fcn.66208260
jmp 0x66209425
lea r9, [rbp - 0x60]
mov r8d, dword [rsp + 0x60]
mov rdx, rsi
mov rcx, r14
call fcn.6620ac90
mov ebx, eax
test eax, eax
js 0x66209442
lea r9, [rbp - 0x58]
mov r8d, dword [rsp + 0x70]
mov rdx, rsi
mov rcx, r14
call fcn.6620ac90
mov ebx, eax
test eax, eax
js 0x66209442
xor r15d, r15d
mov eax, 8
test r12b, r12b
mov ecx, 4
cmovne eax, ecx
mov qword [rbp - 0x48], rax
nop dword [rax]
mov r12, rax
imul r12, r15
mov r13, qword [rbp - 0x60]
add r13, r12
mov r9, rax
lea r8, [rsp + 0x48]
mov rdx, r13
mov rcx, r14
call fcn.66209eb0
mov ebx, eax
test eax, eax
js 0x66209442
movzx ebx, byte [rbp + 0x68]
test bl, bl
mov eax, dword [rsp + 0x48]
jne 0x6620930c
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x6620940e
xor edx, edx
lea rcx, [rbp - 0x40]
call fcn.66208150
nop
xor edi, edi
mov rax, qword [rsp + 0x48]
test bl, bl
je 0x66209333
mov ecx, eax
shr ecx, 0x1f
jmp 0x66209345
movabs rcx, 0x8000000000000000
test rcx, rax
mov ecx, edi
setne cl
test ecx, ecx
je 0x66209350
mov word [rsp + 0x40], ax
jmp 0x662093af
lea r9, [rbp - 0x68]
mov r8d, eax
mov rdx, rsi
mov rcx, r14
call fcn.6620ac90
mov ebx, eax
test eax, eax
js 0x66209438
lea r8, [rsp + 0x40]
mov rdi, qword [rbp - 0x68]
mov rdx, rdi
mov rcx, r14
call fcn.6620a310
mov ebx, eax
test eax, eax
js 0x66209438
add rdi, 2
xor r9d, r9d
lea r8, [rbp - 0x40]
mov rdx, rdi
mov rcx, r14
call fcn.6620a0f0
mov ebx, eax
test eax, eax
js 0x66209438
movzx eax, word [rsp + 0x40]
mov rcx, qword [rbp - 0x58]
add rcx, r12
mov rdx, qword [rbp + 0x80]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rcx
movzx r9d, ax
mov r8, rdi
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rsp + 0x78]
call qword [rbp + 0x78]
mov ebx, eax
cmp eax, 0x4000000f
je 0x66209404
cmp eax, 0xc0000271
jne 0x66209438
lea rcx, [rbp - 0x40]
call fcn.66208260
inc r15
mov rax, qword [rbp - 0x48]
jmp 0x662092d0
lea rcx, [rbp - 0x40]
call fcn.66208260
nop
lea rcx, [rsp + 0x78]
call fcn.66208260
movzx r12d, byte [rbp + 0x68]
mov r15, qword [rbp + 0x78]
mov r13, qword [rbp + 0x70]
mov rdi, qword [rsp + 0x50]
add rdi, 0x14
mov qword [rsp + 0x50], rdi
jmp 0x66209100
lea rcx, [rbp - 0x40]
call fcn.66208260
nop
lea rcx, [rsp + 0x78]
call fcn.66208260
mov eax, ebx
jmp 0x66209460
xor eax, eax
jmp 0x66209460
mov eax, 0xc0000004
jmp 0x66209460
mov eax, 0xc000007a
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret