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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x40
cmp qword [rcx + 8], 0
mov rdi, rcx
mov byte [rcx + 0x48], dl
je 0x14009bdbc
mov r9, qword [0x140143920]
mov qword [rax + 0x10], rbx
xor ebx, ebx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
mov eax, 0x811c6df3
test r9, r9
jne 0x14009ba6d
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x14009ba42
mov r11, qword [0x1401436a8]
cmp dword [r11 + 0x20], 0x2489d460
je 0x14009bb79
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x14009ba21
mov eax, 0x811c6df3
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov r9, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor r9, rax
mov qword [0x140143920], r9
xor r9, rax
jne 0x14009ba93
mov dword [0x140143468], 0x14
mov r9, rbx
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
movzx eax, byte [rdi + 0x48]
mov edx, 0xfffffff0
mov rcx, qword [rdi + 8]
neg al
sbb r8d, r8d
and r8d, 8
or r8d, 0x50000000
call r9
mov rdx, qword [0x140143880]
test rdx, rdx
jne 0x14009bb2b
mov rdx, qword [0x1401436b0]
mov ecx, ebx
test rdx, rdx
je 0x14009bafc
mov r11, qword [0x1401436a8]
nop dword [rax]
nop dword [rax + rax]
cmp dword [r11 + 0x20], 0x2489d460
je 0x14009bc8c
inc ecx
add r11, 0x28
movsxd rax, ecx
cmp rax, rdx
jb 0x14009bae0
mov dword [0x140143468], 0x12
mov byte [0x140143245], bl
mov rdx, rbx
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
xor rdx, 0x23e55482
mov qword [0x140143880], rdx
xor rdx, 0x23e55482
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
jne 0x14009bda1
mov dword [0x140143468], 0x14
mov byte [0x140143245], bl
mov qword [0x140143470], rbx
mov qword [0x140143478], rbx
jmp 0x14009bda4
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r15, dword [rsi + 0x3c]
mov r12d, dword [r15 + rsi + 0x88]
mov r14d, dword [r12 + rsi + 0x20]
lea r13, [r12 + rsi]
mov ebp, dword [r13 + 0x18]
add r14, rsi
test ebp, ebp
je 0x14009bbf7
nop
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r14 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x14009bbba
inc rdx
cmp byte [rdx + r8], bl
jne 0x14009bbb1
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x14009bbf1
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [rax + r8]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x14009bbd0
cmp ecx, 0xa595b993
je 0x14009bc10
inc edi
cmp edi, ebp
jb 0x14009bba0
mov rdi, qword [rsp + 0x50]
mov eax, 0x811c6df3
mov dword [0x140143468], 0x13
jmp 0x14009ba4c
cmp di, 0xffff
je 0x14009bbf7
mov eax, dword [r13 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r13 + 0x1c]
add rcx, rsi
mov r9d, dword [rcx + rdx*4]
add r9, rsi
cmp r9, r13
jb 0x14009bc4c
mov eax, dword [r15 + rsi + 0x8c]
add rax, r12
add rax, rsi
cmp r9, rax
jbe 0x14009bbf7
cmp r9, rsi
jb 0x14009bbf7
mov eax, dword [r15 + rsi + 0x50]
add rax, rsi
cmp r9, rax
ja 0x14009bbf7
test r9, r9
je 0x14009bbf7
mov rcx, qword [r11 + 0x18]
mov eax, 0x811c6df3
mov rdi, qword [rsp + 0x50]
add rcx, rsi
cmp r9, rcx
jbe 0x14009ba63
mov dword [0x140143468], 0x15
jmp 0x14009ba4c
mov rsi, qword [r11 + 0x10]
mov edi, ebx
movsxd r15, dword [rsi + 0x3c]
mov r12d, dword [r15 + rsi + 0x88]
mov r14d, dword [r12 + rsi + 0x20]
lea r13, [r12 + rsi]
mov ebp, dword [r13 + 0x18]
add r14, rsi
test ebp, ebp
je 0x14009bd17
nop dword [rax]
nop word [rax + rax]
mov eax, edi
mov rdx, rbx
movsxd r8, dword [r14 + rax*4]
add r8, rsi
cmp byte [r8], dl
je 0x14009bcda
inc rdx
cmp byte [rdx + r8], bl
jne 0x14009bcd1
mov r10d, ebx
mov r9d, ebx
test rdx, rdx
je 0x14009bd11
mov rax, rbx
nop dword [rax + rax]
movsx ecx, byte [rax + r8]
inc r9d
imul eax, r10d, 0x1f
add ecx, eax
mov eax, r9d
mov r10d, ecx
cmp rax, rdx
jb 0x14009bcf0
cmp ecx, 0x76c80e2
je 0x14009bd2b
inc edi
cmp edi, ebp
jb 0x14009bcc0
mov rdi, qword [rsp + 0x50]
mov dword [0x140143468], 0x13
jmp 0x14009bb06
cmp di, 0xffff
je 0x14009bd17
mov eax, dword [r13 + 0x24]
add rax, rsi
movsx rcx, di
movsx rdx, word [rax + rcx*2]
mov ecx, dword [r13 + 0x1c]
add rcx, rsi
mov edx, dword [rcx + rdx*4]
add rdx, rsi
cmp rdx, r13
jb 0x14009bd66
mov eax, dword [r15 + rsi + 0x8c]
add rax, r12
add rax, rsi
cmp rdx, rax
jbe 0x14009bd17
cmp rdx, rsi
jb 0x14009bd17
mov eax, dword [r15 + rsi + 0x50]
add rax, rsi
cmp rdx, rax
ja 0x14009bd17
test rdx, rdx
je 0x14009bd17
mov rcx, qword [r11 + 0x18]
mov rdi, qword [rsp + 0x50]
add rcx, rsi
cmp rdx, rcx
jbe 0x14009bb1d
mov dword [0x140143468], 0x15
jmp 0x14009bb06
mov rbx, rdx
movzx r8d, byte [rdi + 0x48]
xor r9d, r9d
mov rcx, qword [rdi + 8]
mov edx, 0x40a
call rbx
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret