Function at 0x14009cc40
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 0x14009cc99
test byte [r14 + 0x50], 0x80
jne 0x14009d43a
movzx esi, word [r15]
mov word [rsp + 0x4a], si
cmp esi, 0x3f
ja 0x14009d43a
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 0x14009d401
movzx eax, word [rsp + 0x110]
cmp ebp, eax
jg 0x14009d40a
test ebp, ebp
jle 0x14009cd36
or r8, qword [rdx + 8]
mov qword [rsp + 0x50], r8
cmp ebp, eax
jge 0x14009cd5d
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 0x14009cd6a
mov rdx, rbp
jmp 0x14009d3b8
mov rbp, qword [rsp + 0x118]
mov qword [rsp + 0x60], rbp
test dword [rbp + 0x28], 0x400
jne 0x14009d3f8
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 0x14009cf22
nop word [rax + rax]
mov eax, esi
bt r12, rax
jb 0x14009cf12
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 0x14009cdec
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x14009cdec
bt eax, 0x12
jae 0x14009cde3
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
jmp 0x14009cde7
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14009cdc7
cmp byte [rbx], 0x98
jne 0x14009cf12
cmp dword [rbx + 0x2c], edx
jne 0x14009cf12
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.140098170
mov rdi, rax
test rax, rax
je 0x14009cefd
movzx r10d, word [rax + 0x14]
cmp r10w, 1
jne 0x14009ce6d
movzx r9d, word [rbp + 0x2c]
xor r11d, r11d
mov r8d, r11d
mov ecx, r11d
test r9d, r9d
je 0x14009ce64
mov rax, qword [rbp + 0x38]
nop dword [rax]
cmp rdi, qword [rax]
je 0x14009ce64
inc r8d
inc rcx
add rax, 8
cmp rcx, r9
jl 0x14009ce50
cmp r8d, r9d
jge 0x14009cf00
test r10b, 0x82
je 0x14009cef7
cmp word [rbx + 0x30], 0
jl 0x14009cef7
mov rdx, qword [r15 + 8]
mov rcx, qword [r13]
mov rdx, qword [r14 + rdx]
call fcn.140043440
mov r14, qword [rsp + 0x78]
test rax, rax
jne 0x14009ce9d
mov rax, qword [r14 + 0x10]
mov rdx, qword [rdi]
mov rcx, qword [r13]
mov rbx, qword [rax]
call fcn.140043440
test rax, rax
jne 0x14009ceb5
mov rax, qword [r14 + 0x10]
mov r8, qword [rax]
lea r14, [0x14010afe0]
movzx edx, byte [rbx]
movzx eax, byte [r8]
movzx ecx, byte [rdx + r14]
movzx eax, byte [rax + r14]
sub ecx, eax
jne 0x14009cefd
sub r8, rbx
test dl, dl
je 0x14009cef7
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 0x14009ced7
jmp 0x14009cefd
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 0x14009cda0
mov r10d, dword [rsp + 0x30]
mov eax, dword [rbp + 0x28]
bt eax, 0xc
jb 0x14009d2f5
mov edx, 0x100
test edx, eax
je 0x14009cf5e
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 0x14009cfb3
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x14009d43a
test byte [r14 + 0x64], 4
jne 0x14009d43a
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 0x14009d2f5
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 0x14009d034
movzx eax, word [rbp + 0x2e]
cmp r13d, eax
jl 0x14009d034
mov r9, qword [rbp + 0x38]
mov r10, qword [r9 + r15*8]
movzx eax, word [r10 + 0x14]
test ax, di
je 0x14009d001
test dx, ax
je 0x14009d2c9
xor r10b, r10b
mov dword [rsp + 0x30], r10d
jmp 0x14009d2ce
test sil, al
je 0x14009d02a
mov r10, qword [r10]
lea edx, [r13 + 1]
cmp edx, r8d
jge 0x14009d02a
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x14009d027
inc edx
cmp edx, r8d
jl 0x14009d012
jmp 0x14009d02a
xor sil, sil
mov r10d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x38]
test r14, r14
je 0x14009d059
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 0x14009d061
jmp 0x14009d05c
xor bpl, bpl
mov edi, 0xffffffff
test r10b, r10b
je 0x14009d0a0
test edi, edi
js 0x14009d0a0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x18]
cmp r13d, eax
jl 0x14009d0a0
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 0x14009d0a2
xor ebx, ebx
test sil, sil
je 0x14009d209
nop dword [rax + rax]
cmp ebx, r9d
jge 0x14009d204
mov eax, ebx
bt r12, rax
jb 0x14009d1f9
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 0x14009d106
mov eax, dword [rcx + 4]
bt eax, 0xc
jae 0x14009d106
bt eax, 0x12
jae 0x14009d0fd
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
jmp 0x14009d101
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x14009d0e1
test byte [rsp + 0x108], 0xc0
mov r10d, 0
movzx esi, sil
cmove esi, r10d
cmp edi, 0xffffffff
jl 0x14009d145
cmp byte [rcx], 0x98
jne 0x14009d1f9
mov eax, dword [rsp + 0x40]
cmp dword [rcx + 0x2c], eax
jne 0x14009d1f9
movsx eax, word [rcx + 0x30]
cmp eax, edi
jne 0x14009d1f9
jmp 0x14009d16b
mov rax, qword [r14 + 0x50]
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r11]
call fcn.14004ca60
test eax, eax
jne 0x14009d1f4
mov r8, qword [rsp + 0xf8]
test edi, edi
js 0x14009d23d
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.140043440
test rax, rax
jne 0x14009d1a0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
lea r10, [0x14010afe0]
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 0x14009d1ef
sub r9, r8
nop dword [rax + rax]
test dl, dl
je 0x14009d238
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 0x14009d1d0
mov r11, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x38]
inc ebx
test sil, sil
jne 0x14009d0b0
mov r10d, dword [rsp + 0x30]
test r15, r15
je 0x14009d218
movzx eax, word [rsp + 0x48]
cmp r13d, eax
jge 0x14009d220
xor r10b, r10b
mov dword [rsp + 0x30], r10d
cmp byte [rsp + 0x44], 0
je 0x14009d2f5
mov r10b, 1
mov dword [rsp + 0x30], r10d
jmp 0x14009d2fe
mov r11, qword [rsp + 0x68]
test byte [rsp + 0x108], 0x40
jne 0x14009d29a
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 0x14009d272
xor bpl, byte [rsp + 0x34]
cmp bpl, dl
jne 0x14009d204
jmp 0x14009d29a
movzx eax, dl
xor al, bpl
mov byte [rsp + 0x34], al
je 0x14009d295
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, 0x100
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 0x14009d220
mov r9d, dword [rsp + 0x38]
jmp 0x14009cfc3
test r10b, r10b
je 0x14009d3f1
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 0x14009d3a2
mov edi, eax
mov esi, eax
nop dword [rax]
mov eax, ebx
bt r12, rax
jb 0x14009d38a
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.140097600
mov r14, rax
test rax, rax
jne 0x14009d37b
xor r8d, r8d
mov edx, 1
mov rcx, rbp
call fcn.1400462f0
test eax, eax
je 0x14009d38a
mov rax, r13
not rax
test r14, rax
jne 0x14009d38a
bts r12, rdi
inc ebx
inc rdi
add rsi, 0x28
cmp ebx, r15d
jl 0x14009d330
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 0x14009d3fe
mov r15, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xf0]
mov r9d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x88]
jmp 0x14009cd10
mov rdx, qword [rsp + 0x60]
jmp 0x14009d3a2
cmp byte [rbp + 0x1d], 0
jne 0x14009d403
cmp r12, rbx
jne 0x14009d40a
movzx eax, byte [rsp + 0x4a]
jmp 0x14009d43c
test r10b, r10b
jne 0x14009d455
movzx ecx, word [rsp + 0x4a]
dec ecx
test ecx, ecx
jle 0x14009d43a
mov esi, 1
nop
mov rdx, rsi
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r12
cmp rax, rdx
je 0x14009d450
dec ecx
test ecx, ecx
jg 0x14009d420
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 0x14009d43c
mov al, 0xff
jmp 0x14009d43c