Function at 0x14009cd20
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, 0xa8
mov rax, qword [rcx]
xor ebp, ebp
mov r15, rdx
movzx r11d, r9w
mov edx, ebp
mov r13, rcx
mov r12d, ebp
mov r14, qword [rax]
mov qword [rsp + 0x78], r14
cmp word [rsp + 0x110], dx
je 0x14009cd79
test byte [r14 + 0x50], 0x80
jne 0x14009d51a
movzx esi, word [r15]
mov word [rsp + 0x4a], si
cmp esi, 0x3f
ja 0x14009d51a
mov ecx, esi
mov dword [rsp + 0x38], esi
mov edi, ebp
mov qword [rsp + 0x90], rbp
mov ebx, 1
mov qword [rsp + 0x50], rbp
shl rbx, cl
mov r10b, 1
dec rbx
mov dword [rsp + 0x30], r10d
mov ecx, 0x800
mov qword [rsp + 0x80], rbx
and r11w, cx
mov dword [rsp + 0x5c], ebp
mov r9d, esi
mov dword [rsp + 0x58], r11d
setne dil
mov r8, rbp
add di, 0x182
xor eax, eax
mov dword [rsp + 0x3c], edi
mov ecx, eax
mov qword [rsp + 0x88], rax
nop dword [rax]
cmp r12, rbx
jae 0x14009d4e1
movzx eax, word [rsp + 0x110]
cmp ebp, eax
jg 0x14009d4ea
test ebp, ebp
jle 0x14009ce16
or r8, qword [rdx + 8]
mov qword [rsp + 0x50], r8
cmp ebp, eax
jge 0x14009ce3d
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x18]
mov rbp, qword [rax + rcx*8]
mov qword [rsp + 0x60], rbp
test r11w, r11w
je 0x14009ce4a
mov rdx, rbp
jmp 0x14009d498
mov rbp, qword [rsp + 0x118]
mov qword [rsp + 0x60], rbp
test dword [rbp + 0x28], 0x400
jne 0x14009d4d8
movzx eax, byte [rbp + 0x10]
xor r11d, r11d
imul rcx, rax, 0x78
mov rax, qword [r13 + 8]
mov esi, r11d
mov edx, dword [rcx + rax + 0x50]
mov dword [rsp + 0x40], edx
test r9d, r9d
je 0x14009d002
nop word [rax + rax]
mov eax, esi
bt r12, rax
jb 0x14009cff2
mov eax, esi
lea rcx, [rax + rax*4]
mov rax, qword [r15 + 8]
lea r14, [rcx*8]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x14009cecc
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x14009cecc
bt eax, 0x12
jae 0x14009cec3
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
jmp 0x14009cec7
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14009cea7
cmp byte [rbx], 0x98
jne 0x14009cff2
cmp dword [rbx + 0x2c], edx
jne 0x14009cff2
mov r9, r8
movzx eax, di
movsx r8d, word [rbx + 0x30]
lea rcx, [r13 + 0x60]
mov qword [rsp + 0x28], r11
not r9
mov dword [rsp + 0x20], eax
call fcn.140098250
mov rdi, rax
test rax, rax
je 0x14009cfdd
movzx r10d, word [rax + 0x14]
cmp r10w, 1
jne 0x14009cf4d
movzx r9d, word [rbp + 0x2c]
xor r11d, r11d
mov r8d, r11d
mov ecx, r11d
test r9d, r9d
je 0x14009cf44
mov rax, qword [rbp + 0x38]
nop dword [rax]
cmp rdi, qword [rax]
je 0x14009cf44
inc r8d
inc rcx
add rax, 8
cmp rcx, r9
jl 0x14009cf30
cmp r8d, r9d
jge 0x14009cfe0
test r10b, 0x82
je 0x14009cfd7
cmp word [rbx + 0x30], 0
jl 0x14009cfd7
mov rdx, qword [r15 + 8]
mov rcx, qword [r13]
mov rdx, qword [r14 + rdx]
call fcn.140043520
mov r14, qword [rsp + 0x78]
test rax, rax
jne 0x14009cf7d
mov rax, qword [r14 + 0x10]
mov rdx, qword [rdi]
mov rcx, qword [r13]
mov rbx, qword [rax]
call fcn.140043520
test rax, rax
jne 0x14009cf95
mov rax, qword [r14 + 0x10]
mov r8, qword [rax]
lea r14, [0x14010c000]
movzx edx, byte [rbx]
movzx eax, byte [r8]
movzx ecx, byte [rdx + r14]
movzx eax, byte [rax + r14]
sub ecx, eax
jne 0x14009cfdd
sub r8, rbx
test dl, dl
je 0x14009cfd7
movzx eax, byte [r8 + rbx + 1]
inc rbx
movzx ecx, byte [rax + r14]
movzx edx, byte [rbx]
movzx eax, byte [rdx + r14]
cmp eax, ecx
je 0x14009cfb7
jmp 0x14009cfdd
mov eax, esi
bts r12, rax
xor r11d, r11d
mov edx, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x38]
mov edi, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x50]
inc esi
cmp esi, r9d
jl 0x14009ce80
mov r10d, dword [rsp + 0x30]
mov eax, dword [rbp + 0x28]
bt eax, 0xc
jb 0x14009d3d5
mov edx, pe_nt_image_headers64
test edx, eax
je 0x14009d03e
xor cl, cl
mov word [rsp + 0x48], r11w
mov dword [rsp + 0x44], ecx
mov r14, r11
mov eax, 1
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x34], 0
mov r13d, r11d
mov r15, r11
jmp 0x14009d093
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x14009d51a
test byte [r14 + 0x64], 4
jne 0x14009d51a
cmp byte [r14 + 0x62], 0
mov r13d, r11d
movzx eax, word [r14 + 0x5e]
mov r15, r11
setne r10b
mov word [rsp + 0x48], ax
movzx eax, word [r14 + 0x60]
xor cl, cl
mov dword [rsp + 0x30], r10d
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x34], 0
mov dword [rsp + 0x44], ecx
cmp r11w, ax
jae 0x14009d3d5
movzx ecx, ax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x68], r11
movzx r8d, word [rbp + 0x18]
mov sil, 1
cmp r13d, r8d
jge 0x14009d114
movzx eax, word [rbp + 0x2e]
cmp r13d, eax
jl 0x14009d114
mov r9, qword [rbp + 0x38]
mov r10, qword [r9 + r15*8]
movzx eax, word [r10 + 0x14]
test ax, di
je 0x14009d0e1
test dx, ax
je 0x14009d3a9
xor r10b, r10b
mov dword [rsp + 0x30], r10d
jmp 0x14009d3ae
test sil, al
je 0x14009d10a
mov r10, qword [r10]
lea edx, [r13 + 1]
cmp edx, r8d
jge 0x14009d10a
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x14009d107
inc edx
cmp edx, r8d
jl 0x14009d0f2
jmp 0x14009d10a
xor sil, sil
mov r10d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x38]
test r14, r14
je 0x14009d139
mov rax, qword [r14 + 8]
movsx edi, word [rax + r15*2]
mov rax, qword [r14 + 0x38]
movzx ebp, byte [r15 + rax]
mov rax, qword [r14 + 0x18]
movsx ecx, word [rax + 0x3c]
cmp edi, ecx
jne 0x14009d141
jmp 0x14009d13c
xor bpl, bpl
mov edi, 0xffffffff
test r10b, r10b
je 0x14009d180
test edi, edi
js 0x14009d180
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x18]
cmp r13d, eax
jl 0x14009d180
mov rax, qword [r14 + 0x18]
mov ebx, 0
movzx r10d, r10b
mov rcx, qword [rax + 8]
movsxd rax, edi
shl rax, 5
cmp byte [rax + rcx + 0x18], 0
cmove r10d, ebx
mov dword [rsp + 0x30], r10d
jmp 0x14009d182
xor ebx, ebx
test sil, sil
je 0x14009d2e9
nop dword [rax + rax]
cmp ebx, r9d
jge 0x14009d2e4
mov eax, ebx
bt r12, rax
jb 0x14009d2d9
mov r8, qword [rsp + 0xf8]
movsxd rax, ebx
mov rcx, qword [r8 + 8]
lea rdx, [rax + rax*4]
mov rcx, qword [rcx + rdx*8]
test rcx, rcx
je 0x14009d1e6
mov eax, dword [rcx + 4]
bt eax, 0xc
jae 0x14009d1e6
bt eax, 0x12
jae 0x14009d1dd
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
jmp 0x14009d1e1
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14009d1c1
test byte [rsp + 0x108], 0xc0
mov r10d, 0
movzx esi, sil
cmove esi, r10d
cmp edi, 0xffffffff
jl 0x14009d225
cmp byte [rcx], 0x98
jne 0x14009d2d9
mov eax, dword [rsp + 0x40]
cmp dword [rcx + 0x2c], eax
jne 0x14009d2d9
movsx eax, word [rcx + 0x30]
cmp eax, edi
jne 0x14009d2d9
jmp 0x14009d24b
mov rax, qword [r14 + 0x50]
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r11]
call fcn.14004cb40
test eax, eax
jne 0x14009d2d4
mov r8, qword [rsp + 0xf8]
test edi, edi
js 0x14009d31d
mov rdx, qword [r8 + 8]
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rax]
call fcn.140043520
test rax, rax
jne 0x14009d280
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
lea r10, [0x14010c000]
mov rax, qword [r14 + 0x40]
movzx edx, byte [r8]
mov r9, qword [rax + r15*8]
movzx eax, byte [r9]
movzx ecx, byte [rax + r10]
movzx eax, byte [rdx + r10]
cmp eax, ecx
jne 0x14009d2cf
sub r9, r8
nop dword [rax + rax]
test dl, dl
je 0x14009d318
movzx eax, byte [r9 + r8 + 1]
inc r8
movzx ecx, byte [rax + r10]
movzx edx, byte [r8]
movzx eax, byte [rdx + r10]
cmp eax, ecx
je 0x14009d2b0
mov r11, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x38]
inc ebx
test sil, sil
jne 0x14009d190
mov r10d, dword [rsp + 0x30]
test r15, r15
je 0x14009d2f8
movzx eax, word [rsp + 0x48]
cmp r13d, eax
jge 0x14009d300
xor r10b, r10b
mov dword [rsp + 0x30], r10d
cmp byte [rsp + 0x44], 0
je 0x14009d3d5
mov r10b, 1
mov dword [rsp + 0x30], r10d
jmp 0x14009d3de
mov r11, qword [rsp + 0x68]
test byte [rsp + 0x108], 0x40
jne 0x14009d37a
cmp byte [rsp + 0x35], 0
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 8]
movzx edx, byte [rax + rcx*8 + 0x18]
je 0x14009d352
xor bpl, byte [rsp + 0x34]
cmp bpl, dl
jne 0x14009d2e4
jmp 0x14009d37a
movzx eax, dl
xor al, bpl
mov byte [rsp + 0x34], al
je 0x14009d375
mov rdx, qword [rsp + 0x120]
movsxd rax, dword [rsp + 0x5c]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
mov r9d, dword [rsp + 0x44]
cmp edi, 0xffffffff
mov rbp, qword [rsp + 0x60]
mov eax, 1
mov edi, dword [rsp + 0x3c]
mov edx, pe_nt_image_headers64
movzx r9d, r9b
cmove r9d, eax
movsxd rax, ebx
bts r12, rax
mov dword [rsp + 0x44], r9d
mov r10d, dword [rsp + 0x30]
add r11, 0x28
inc r13d
inc r15
mov qword [rsp + 0x68], r11
cmp r15, qword [rsp + 0x98]
jge 0x14009d300
mov r9d, dword [rsp + 0x38]
jmp 0x14009d0a3
test r10b, r10b
je 0x14009d4d1
mov r13, qword [rsp + 0x90]
xor eax, eax
mov rdx, qword [rsp + 0x60]
mov ebx, eax
mov r15d, dword [rsp + 0x38]
or r13, qword [rdx + 8]
mov qword [rsp + 0x90], r13
test r15d, r15d
je 0x14009d482
mov edi, eax
mov esi, eax
nop dword [rax]
mov eax, ebx
bt r12, rax
jb 0x14009d46a
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
add rcx, 0x288
mov rax, qword [rax + 8]
mov rbp, qword [rsi + rax]
mov rdx, rbp
call fcn.1400976e0
mov r14, rax
test rax, rax
jne 0x14009d45b
xor r8d, r8d
mov edx, 1
mov rcx, rbp
call fcn.1400463d0
test eax, eax
je 0x14009d46a
mov rax, r13
not rax
test r14, rax
jne 0x14009d46a
bts r12, rdi
inc ebx
inc rdi
add rsi, 0x28
cmp ebx, r15d
jl 0x14009d410
mov rdx, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x30]
mov edi, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov r11d, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x5c]
inc qword [rsp + 0x88]
inc ebp
mov dword [rsp + 0x5c], ebp
test r10b, r10b
je 0x14009d4de
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xf0]
mov r9d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x88]
jmp 0x14009cdf0
mov rdx, qword [rsp + 0x60]
jmp 0x14009d482
cmp byte [rbp + 0x1d], 0
jne 0x14009d4e3
cmp r12, rbx
jne 0x14009d4ea
movzx eax, byte [rsp + 0x4a]
jmp 0x14009d51c
test r10b, r10b
jne 0x14009d535
movzx ecx, word [rsp + 0x4a]
dec ecx
test ecx, ecx
jle 0x14009d51a
mov esi, 1
nop
mov rdx, rsi
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r12
cmp rax, rdx
je 0x14009d530
dec ecx
test ecx, ecx
jg 0x14009d500
xor al, al
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movzx eax, cl
jmp 0x14009d51c
mov al, 0xff
jmp 0x14009d51c