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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
mov rax, qword [rcx]
mov rbx, rdx
movzx r9d, word [rsp + 0x170]
xor edx, edx
mov qword [rsp + 0x28], rdx
mov rdi, r8
mov rsi, rcx
mov r15d, edx
mov rbp, qword [rax]
mov r8d, edx
mov qword [rsp + 0x58], rbp
test r9w, r9w
je 0x18007cd82
test byte [rbp + 0x4c], 0x80
jne 0x18007d50a
movzx r11d, word [rbx]
mov word [rsp + 0x40], r11w
cmp r11d, 0x3f
ja 0x18007d50a
mov ecx, r11d
mov dword [rsp + 0x3c], r11d
mov r13d, r11d
mov qword [rsp + 0x60], rdx
mov r11d, 1
mov qword [rsp + 0x50], rdx
mov r10d, r11d
mov dword [rsp + 0x44], edx
shl r10, cl
mov r14b, 1
dec r10
mov dword [rsp + 0x24], r14d
mov qword [rsp + 0x70], r10
mov rbp, rdx
mov ecx, edx
mov qword [rsp + 0x68], rdx
mov r12d, pe_nt_image_headers64
nop dword [rax + rax]
cmp r8, r10
jae 0x18007d4d2
movzx eax, r9w
cmp ecx, eax
jg 0x18007d4cf
test ecx, ecx
jle 0x18007ce02
or rbp, qword [r15 + 8]
mov qword [rsp + 0x50], rbp
cmp ecx, eax
jge 0x18007ce10
mov rax, qword [rdi + 0x18]
mov r9, qword [rax + rdx*8]
jmp 0x18007ce18
mov r9, qword [rsp + 0x178]
mov edx, dword [r9 + 0x28]
mov qword [rsp + 0x48], r9
bt edx, 0xa
jb 0x18007d4c0
movzx eax, byte [r9 + 0x10]
xor edi, edi
imul rcx, rax, 0x78
mov rax, qword [rsi + 8]
mov r15d, edi
mov r10d, dword [rcx + rax + 0x50]
mov dword [rsp + 0x34], r10d
test r13d, r13d
je 0x18007d069
mov eax, r15d
bt r8, rax
jb 0x18007d043
mov r12d, r15d
lea rax, [r12 + r12*4]
lea r14, [rax*8]
mov rax, qword [rbx + 8]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x18007cea5
nop dword [rax]
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x18007cea5
bt eax, 0x12
jae 0x18007ce9c
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
jmp 0x18007cea0
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x18007ce80
cmp byte [rbx], 0x9a
jne 0x18007d03b
cmp dword [rbx + 0x2c], r10d
jne 0x18007d03b
lea rax, [rsi + 0x158]
mov word [rsp + 0x98], 0x200
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x88], rax
mov rsi, rdi
movsx eax, word [rbx + 0x30]
mov dword [rsp + 0xa8], eax
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x9c], 0x82
mov dword [rsp + 0xa4], r10d
mov byte [rsp + 0x9a], 2
call fcn.180075450
mov rdi, rax
test rax, rax
je 0x18007cf53
not rbp
mov rax, qword [rdi + 0x28]
test rbp, rax
jne 0x18007cf3e
test rax, rax
jne 0x18007cf37
test byte [rdi + 0x1a], 2
jne 0x18007cf56
test rsi, rsi
cmove rsi, rdi
lea rcx, [rsp + 0x80]
call fcn.180075450
mov rdi, rax
test rax, rax
jne 0x18007cf23
mov rdi, rsi
mov rsi, qword [rsp + 0x150]
test rdi, rdi
je 0x18007d02a
test byte [rdi + 0x1a], 2
je 0x18007d01a
cmp word [rbx + 0x30], 0
jl 0x18007d01a
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsi]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r14]
call fcn.180039ff0
mov rbp, qword [rsp + 0x58]
test rax, rax
jne 0x18007cfa2
mov rax, qword [rbp + 0x10]
mov rdx, qword [rdi]
mov rcx, qword [rsi]
mov rbx, qword [rax]
call fcn.180039ff0
test rax, rax
jne 0x18007cfb9
mov rax, qword [rbp + 0x10]
movzx r8d, byte [rbx]
lea r11, [0x1801103d0]
mov rdx, qword [rax]
test r8b, r8b
je 0x18007d005
movzx ecx, r8b
sub rbx, rdx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r8d, cl
movzx ecx, cl
movzx eax, byte [rax + r11]
cmp byte [rcx + r11], al
jne 0x18007d005
movzx ecx, byte [rbx + rdx + 1]
inc rdx
movzx r8d, cl
test cl, cl
jne 0x18007cfe0
movzx eax, byte [rdx]
movzx ecx, byte [rax + r11]
movzx eax, r8b
movzx eax, byte [rax + r11]
cmp eax, ecx
jne 0x18007d02a
mov r8, qword [rsp + 0x28]
bts r8, r12
mov qword [rsp + 0x28], r8
jmp 0x18007d02f
mov r8, qword [rsp + 0x28]
mov r10d, dword [rsp + 0x34]
xor edi, edi
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x158]
inc r15d
cmp r15d, r13d
jl 0x18007ce50
mov r9, qword [rsp + 0x48]
mov r11d, 1
mov r14d, dword [rsp + 0x24]
mov r12d, pe_nt_image_headers64
mov edx, dword [r9 + 0x28]
bt edx, 0xc
jb 0x18007d3ca
test r12d, edx
je 0x18007d08a
mov esi, dword [rsp + 0x24]
mov r14, rdi
mov word [rsp + 0x30], di
movzx eax, r11w
jmp 0x18007d0be
mov r14, qword [r9 + 0x20]
test r14, r14
je 0x18007d50a
test byte [r14 + 0x64], 4
jne 0x18007d50a
movzx eax, word [r14 + 0x5e]
cmp byte [r14 + 0x62], 0
mov word [rsp + 0x30], ax
movzx eax, word [r14 + 0x60]
setne sil
mov dword [rsp + 0x24], esi
xor cl, cl
movzx eax, ax
xor r11b, r11b
mov byte [rsp + 0x21], cl
mov byte [rsp + 0x20], cl
mov r13d, edi
mov dword [rsp + 0x38], r11d
mov r15, rdi
mov qword [rsp + 0x78], rax
test rax, rax
je 0x18007d3c0
nop word [rax + rax]
movzx edx, word [r9 + 0x18]
cmp r13d, edx
jge 0x18007d129
cmp word [r9 + 0x1a], 0
jne 0x18007d129
mov rax, qword [r9 + 0x30]
mov rcx, qword [rax + r15*8]
movzx eax, word [rcx + 0x1a]
test al, 0x82
je 0x18007d129
test al, 0x80
mov ecx, edi
movzx eax, sil
cmove ecx, eax
movzx esi, cl
mov dword [rsp + 0x24], esi
jmp 0x18007d39d
test r14, r14
je 0x18007d14e
mov rax, qword [r14 + 8]
movsx ebp, word [rax + r15*2]
mov rax, qword [r14 + 0x38]
movzx r12d, byte [r15 + rax]
mov rax, qword [r14 + 0x18]
movsx ecx, word [rax + 0x40]
cmp ebp, ecx
jne 0x18007d156
jmp 0x18007d151
xor r12b, r12b
mov ebp, 0xffffffff
test sil, sil
je 0x18007d186
test ebp, ebp
js 0x18007d186
cmp r13d, edx
jl 0x18007d186
mov rax, qword [r14 + 0x18]
movsxd rcx, ebp
movzx esi, sil
mov rdx, qword [rax + 8]
lea rax, [rcx + rcx*2]
add rax, rax
cmp byte [rdx + rax*8 + 0x28], 0
cmove esi, edi
mov dword [rsp + 0x24], esi
mov r9b, 1
nop dword [rax]
cmp edi, dword [rsp + 0x3c]
jge 0x18007d303
mov eax, edi
bt r8, rax
jb 0x18007d2b4
mov rax, qword [rbx + 8]
movsxd rsi, edi
lea rcx, [rsi + rsi*4]
mov r8, qword [rax + rcx*8]
mov rax, r8
test r8, r8
je 0x18007d1e5
nop dword [rax]
mov ecx, dword [rax + 4]
bt ecx, 0xc
jae 0x18007d1e5
bt ecx, 0x12
jae 0x18007d1dc
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 8]
mov rax, qword [rax]
jmp 0x18007d1e0
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18007d1c0
mov ecx, 0x300
mov edx, 0
test word [rsp + 0x168], cx
movzx ecx, r9b
cmovne edx, ecx
cmp byte [rax], 0x9a
movzx r9d, dl
movzx ebx, dl
jne 0x18007d2af
cmp dword [rax + 0x2c], r10d
jne 0x18007d2af
movsx ecx, word [rax + 0x30]
cmp ecx, ebp
jne 0x18007d2af
test ebp, ebp
js 0x18007d2cd
mov rax, qword [rsp + 0x150]
mov rdx, r8
mov rcx, qword [rax]
call fcn.180039ff0
test rax, rax
jne 0x18007d24d
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov r9, qword [rax]
lea r10, [0x1801103d0]
mov rax, qword [r14 + 0x40]
movzx r8d, byte [r9]
mov rdx, qword [rax + r15*8]
test r8b, r8b
je 0x18007d296
movzx ecx, r8b
sub r9, rdx
nop
movzx eax, byte [rdx]
movzx r8d, cl
movzx ecx, cl
movzx eax, byte [rax + r10]
cmp byte [rcx + r10], al
jne 0x18007d296
movzx ecx, byte [r9 + rdx + 1]
inc rdx
movzx r8d, cl
test cl, cl
jne 0x18007d270
movzx eax, byte [rdx]
movzx r9d, bl
movzx ecx, byte [rax + r10]
movzx eax, r8b
movzx eax, byte [rax + r10]
cmp eax, ecx
je 0x18007d2cd
mov r8, qword [rsp + 0x28]
inc edi
test r9b, r9b
je 0x18007d303
mov r10d, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x158]
jmp 0x18007d190
mov eax, pe_nt_image_headers64
test word [rsp + 0x168], ax
jne 0x18007d368
cmp byte [rsp + 0x21], 0
lea rcx, [rsi + rsi*4]
mov rax, qword [rsp + 0x158]
mov rax, qword [rax + 8]
je 0x18007d33c
xor r12b, byte [rsp + 0x20]
cmp r12b, byte [rax + rcx*8 + 0x18]
je 0x18007d368
test r15, r15
je 0x18007d312
movzx eax, word [rsp + 0x30]
cmp r13d, eax
jge 0x18007d317
mov byte [rsp + 0x24], 0
mov r8, qword [rsp + 0x28]
mov r11d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x3c]
test r11b, r11b
je 0x18007d3c5
mov r14b, 1
mov dword [rsp + 0x24], r14d
jmp 0x18007d3d3
movzx r10d, r12b
xor r10b, byte [rax + rcx*8 + 0x18]
mov byte [rsp + 0x20], r10b
je 0x18007d363
mov rdx, qword [rsp + 0x180]
movsxd rax, dword [rsp + 0x44]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x21], 1
mov r11d, dword [rsp + 0x38]
test ebp, ebp
mov r8, qword [rsp + 0x28]
mov eax, 1
mov esi, dword [rsp + 0x24]
mov r9, qword [rsp + 0x48]
movzx r11d, r11b
cmovs r11d, eax
movsxd rax, edi
bts r8, rax
mov dword [rsp + 0x38], r11d
mov qword [rsp + 0x28], r8
xor edi, edi
inc r13d
inc r15
cmp r15, qword [rsp + 0x78]
jge 0x18007d321
mov r10d, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x158]
jmp 0x18007d0f0
mov r13d, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x24]
test r14b, r14b
je 0x18007d462
mov r12, qword [rsp + 0x60]
xor ebx, ebx
mov r15, qword [rsp + 0x48]
or r12, qword [r15 + 8]
mov qword [rsp + 0x60], r12
test r13d, r13d
je 0x18007d467
nop dword [rax]
mov eax, ebx
bt r8, rax
jb 0x18007d459
mov rax, qword [rsp + 0x158]
lea rcx, [rbx + rbx*4]
mov edi, ebx
mov rax, qword [rax + 8]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x150]
mov rdx, rsi
add rcx, 0x54
call fcn.1800751a0
mov rbp, rax
test rax, rax
jne 0x18007d439
lea edx, [rax + 1]
mov rcx, rsi
call fcn.18003bda0
test eax, eax
je 0x18007d454
mov r8, qword [rsp + 0x28]
mov rax, r12
not rax
test rbp, rax
jne 0x18007d459
bts r8, rdi
mov qword [rsp + 0x28], r8
jmp 0x18007d459
mov r8, qword [rsp + 0x28]
inc ebx
cmp ebx, r13d
jl 0x18007d3f0
jmp 0x18007d467
mov r15, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
mov r11d, 1
mov rdx, qword [rsp + 0x68]
inc ecx
mov rsi, qword [rsp + 0x150]
inc rdx
mov rbx, qword [rsp + 0x158]
mov r12d, pe_nt_image_headers64
mov rbp, qword [rsp + 0x50]
mov r10, qword [rsp + 0x70]
movzx r9d, word [rsp + 0x170]
mov rdi, qword [rsp + 0x160]
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x68], rdx
test r14b, r14b
jne 0x18007cde0
jmp 0x18007d4cf
cmp byte [r9 + 0x1d], 0
mov rcx, r10
cmove rcx, r8
mov r8, rcx
cmp r8, r10
jne 0x18007d4db
movzx eax, byte [rsp + 0x40]
jmp 0x18007d50c
test r14b, r14b
jne 0x18007d525
lea ecx, [r13 - 1]
test ecx, ecx
jle 0x18007d50a
nop dword [rax + rax]
mov rdx, r11
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r8
cmp rax, rdx
je 0x18007d520
dec ecx
test ecx, ecx
jg 0x18007d4f0
xor al, al
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movzx eax, cl
jmp 0x18007d50c
mov al, 0xff
jmp 0x18007d50c