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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x4468
call fcn.140060680
sub rsp, rax
mov qword [rsp + 0x50], r8
mov rbx, rdx
mov r15, rcx
mov rcx, qword [rcx + 0x258]
mov eax, dword [rcx + 0xc]
add eax, dword [rcx + 8]
jne 0x14009efde
mov eax, dword [r15 + 0x240]
add eax, dword [r15 + 0x220]
jne 0x14009efde
mov dword [rbx], 0
jmp 0x14009f94b
movsx eax, word [rcx + 0x10]
add eax, eax
cmp eax, 0x15
mov edx, 0x14
cmovl eax, edx
movsx r8d, word [rcx + 0x12]
add r8d, r8d
cmp r8d, 0x15
cmovl r8d, edx
add eax, dword [rcx + 0x14]
lea edx, [r8 + rax]
add edx, 0xffffffd8
mov eax, dword [rcx + 0x18]
cmp eax, edx
cmovl edx, eax
mov dword [rsp + 0x44], edx
cmp edx, 4
jl 0x14009f8a4
mov rax, qword [rcx + 0x20]
and eax, 0x3fff
cmp byte [r15 + rax + 0x268], 0
je 0x14009f8a4
mov rdx, qword [rcx + 0x30]
mov rax, qword [rcx + 0x40]
mov r14, qword [rax + 0x40]
or rdx, qword [rcx + 0x38]
je 0x14009f059
mov rdx, qword [r14 + 0x30]
or rdx, qword [r14 + 0x38]
setne dl
mov dword [rsp + 0x2c], edx
jmp 0x14009f061
mov dword [rsp + 0x2c], 0
mov rdx, qword [rax + 0x30]
or rdx, qword [rax + 0x38]
je 0x14009f07c
mov rax, qword [r14 + 0x40]
mov rdx, qword [rax + 0x30]
or rdx, qword [rax + 0x38]
setne dl
jmp 0x14009f07e
xor edx, edx
mov r8d, 0x7d00
mov rax, qword [rsp + 0x50]
sub r8d, eax
mov dword [rsp + 0x30], r8d
add eax, 0xffff8300
mov dword [rsp + 0x34], eax
mov esi, 4
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x48], rbx
jmp 0x14009f0e2
mov rax, qword [r14 + 0x40]
mov rdx, qword [rax + 0x30]
or rdx, qword [rax + 0x38]
setne al
mov edx, dword [rsp + 0x38]
and dl, al
add esi, 2
cmp esi, dword [rsp + 0x44]
jg 0x14009f8a4
mov dword [rsp + 0x38], edx
mov eax, dword [rsp + 0x2c]
mov rdx, qword [r14 + 0x40]
mov r14, qword [rdx + 0x40]
mov rdx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x30]
or r8, qword [r14 + 0x38]
setne r8b
and r8b, al
mov dword [rsp + 0x2c], r8d
cmp rdx, qword [rcx + 0x20]
jne 0x14009f88c
cmp dword [rsp + 0x28], 1
je 0x14009f130
cmp esi, dword [rsp + 0x50]
jl 0x14009f130
mov dword [rsp + 0x28], 1
jmp 0x14009f88c
mov ecx, dword [rsp + 0x2c]
mov eax, ecx
mov edx, dword [rsp + 0x38]
or al, dl
test al, 1
je 0x14009f15b
test cl, cl
mov eax, dword [rsp + 0x34]
mov ecx, 0
cmovne eax, ecx
test dl, 1
cmove eax, dword [rsp + 0x30]
jmp 0x14009f84a
mov r8d, 0x268
lea rcx, [rsp + 0x90]
mov rdx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x14009f189
inc rax
cmp rax, 0x5a
je 0x14009f1c2
mov r8d, dword [rsp + rax*4 + 0x90]
test r8d, r8d
je 0x14009f180
cmp r8d, 8
mov r9d, edx
sbb r9d, 0xffffffff
cmp r8d, 8
mov r10d, ecx
adc r10d, 0
cmp r8d, 8
cmovae ecx, edx
mov dword [rsp + rax*4 + 0x42f8], ecx
mov edx, r9d
mov ecx, r10d
jmp 0x14009f180
mov edi, dword [rsp + 0x2f4]
mov rax, rdi
xor rax, 1
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x24], 0xffffffff
mov dword [rsp + 0x20], 0xffffffff
mov dword [rsp + 0x3c], 0
lea rcx, [rsp + 0x90]
mov edx, edi
call fcn.14009d540
mov qword [rsp + 0x78], rdi
mov word [rsp + rdi*2 + 0x3c], ax
lea eax, [rsi - 2]
mov dword [rsp + 0x6c], eax
xor ebx, ebx
mov eax, dword [rsp + 0x2f4]
mov qword [rsp + 0x60], rsi
jmp 0x14009f23d
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x2e8], rax
mov rsi, qword [rsp + 0x60]
inc ebx
mov eax, edx
cmp ebx, esi
je 0x14009f7da
mov edx, eax
xor edx, 1
movzx ecx, word [rsp + rdx*2 + 0x20]
test cx, cx
je 0x14009f290
mov rax, qword [rsp + 0x2e8]
mov r8, qword [rax + 0x30]
or r8, qword [rax + 0x38]
movzx edi, byte [0x1400f43b0]
je 0x14009f400
neg dil
movsx r8d, dil
and ecx, r8d
mov word [rsp + rdx*2 + 0x20], cx
mov word [rsp + rdx*2 + 0x24], 0
jmp 0x14009f2a6
mov eax, eax
cmp word [rsp + rax*2 + 0x20], 0
je 0x14009f7da
mov rax, qword [rsp + 0x2e8]
mov ecx, dword [rax + 0x114]
mov r10d, dword [rax + 0x118]
mov dword [rsp + 0x2f4], edx
mov r8d, r10d
sar r8d, 7
and r10d, 0x7f
mov r9d, dword [rsp + r10*4 + 0x42f8]
movsxd r11, r8d
mov dword [rsp + r11*4 + 0x42f8], r9d
mov dword [rsp + r10*4 + 0x42f8], 0
mov edi, dword [rsp + r10*4 + 0x90]
mov r9, r10
shl r9, 4
lea rbp, [0x142238e40]
mov r8, qword [r9 + rbp]
mov r9, qword [r9 + rbp + 8]
mov rsi, r11
shl rsi, 4
mov r12, qword [rsi + rbp]
mov rsi, qword [rsi + rbp + 8]
or rsi, r9
xor qword [rsp + 0x208], rsi
or r12, r8
xor qword [rsp + 0x200], r12
mov ebp, edi
and ebp, 7
shl rbp, 4
xor qword [rsp + rbp + 0x208], rsi
xor qword [rsp + rbp + 0x200], r12
mov ebp, edi
sar ebp, 3
shl rbp, 4
xor qword [rsp + rbp + 0x288], rsi
xor qword [rsp + rbp + 0x280], r12
mov dword [rsp + r10*4 + 0x90], 0
mov dword [rsp + r11*4 + 0x90], edi
test rcx, rcx
je 0x14009f220
mov dword [rsp + r10*4 + 0x90], ecx
mov r10d, ecx
and r10d, 7
shl r10, 4
mov r11, qword [rsp + r10 + 0x208]
or r11, r9
mov rsi, qword [rsp + r10 + 0x200]
or rsi, r8
mov qword [rsp + r10 + 0x200], rsi
mov qword [rsp + r10 + 0x208], r11
or qword [rsp + 0x200], rsi
or qword [rsp + 0x208], r11
mov r10d, ecx
sar r10d, 3
shl r10, 4
or qword [rsp + r10 + 0x280], r8
or qword [rsp + r10 + 0x288], r9
inc dword [rsp + rcx*4 + 0x2a0]
and ecx, 0xfffffff8
inc dword [rsp + rcx*4 + 0x2a0]
jmp 0x14009f220
test dil, dil
je 0x14009f459
cmp byte [0x1400f2434], 0
je 0x14009f459
lea rcx, [rsp + 0x90]
mov edx, 0xffffffff
call fcn.14009ec00
test al, al
je 0x14009f448
movzx edi, byte [0x1400f43b0]
mov edx, dword [rsp + 0x2f4]
mov rax, qword [rsp + 0x2e8]
xor rdx, 1
movzx ecx, word [rsp + rdx*2 + 0x20]
jmp 0x14009f269
mov edx, dword [rsp + 0x2f4]
xor edx, 1
movzx edi, byte [0x1400f43b0]
lea rcx, [rsp + 0x90]
call fcn.14009d540
test dil, dil
mov dword [rsp + 0x40], eax
je 0x14009f626
mov r8, qword [rsp + 0x2e8]
mov edx, dword [rsp + 0x2f4]
xor edx, 1
xor r12d, r12d
mov ecx, dword [r8 + 0x114]
mov r13, r8
mov r10d, dword [r8 + 0x118]
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x2f4], edx
mov eax, r10d
sar eax, 7
and r10d, 0x7f
mov r8d, dword [rsp + r10*4 + 0x42f8]
movsxd r11, eax
mov dword [rsp + r11*4 + 0x42f8], r8d
mov dword [rsp + r10*4 + 0x42f8], 0
mov ebp, dword [rsp + r10*4 + 0x90]
mov rax, r10
shl rax, 4
lea rdx, [0x142238e40]
mov r8, qword [rax + rdx]
mov r9, qword [rax + rdx + 8]
mov rax, r11
shl rax, 4
mov rsi, qword [rax + rdx]
mov rax, qword [rax + rdx + 8]
or rax, r9
xor qword [rsp + 0x208], rax
or rsi, r8
xor qword [rsp + 0x200], rsi
mov r15d, ebp
and r15d, 7
shl r15, 4
xor qword [rsp + r15 + 0x208], rax
xor qword [rsp + r15 + 0x200], rsi
mov r15d, ebp
sar r15d, 3
shl r15, 4
xor qword [rsp + r15 + 0x288], rax
xor qword [rsp + r15 + 0x280], rsi
mov dword [rsp + r10*4 + 0x90], 0
mov dword [rsp + r11*4 + 0x90], ebp
test rcx, rcx
je 0x14009f5d3
mov dword [rsp + r10*4 + 0x90], ecx
mov eax, ecx
and eax, 7
shl rax, 4
mov r10, qword [rsp + rax + 0x208]
or r10, r9
mov r11, qword [rsp + rax + 0x200]
or r11, r8
mov qword [rsp + rax + 0x200], r11
mov qword [rsp + rax + 0x208], r10
or qword [rsp + 0x200], r11
or qword [rsp + 0x208], r10
mov eax, ecx
sar eax, 3
shl rax, 4
or qword [rsp + rax + 0x280], r8
or qword [rsp + rax + 0x288], r9
inc dword [rsp + rcx*4 + 0x2a0]
and ecx, 0xfffffff8
inc dword [rsp + rcx*4 + 0x2a0]
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x2e8], rax
mov rdx, qword [rsp + 0x58]
mov eax, edx
movzx ebp, word [rsp + rax*2 + 0x3c]
lea rcx, [rsp + 0x90]
call fcn.14009d540
mov edx, dword [rsp + 0x2f4]
mov word [rsp + rdx*2 + 0x3c], ax
test dil, dil
mov r15, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x60]
je 0x14009f78c
andn ecx, eax, dword [rsp + 0x40]
jmp 0x14009f79e
mov r10d, dword [rsp + 0x2f4]
mov rdx, r10
xor rdx, 1
cmp word [rsp + rdx*2 + 0x24], 0
mov r8, qword [rsp + 0x2e8]
je 0x14009f485
mov rcx, r10
shl rcx, 4
vmovdqa xmm1, xmmword [r8 + rcx + 0x50]
vmovdqa xmm0, xmmword [rsp + rcx + 0x280]
vpand xmm1, xmm1, xmmword [rsp + 0x210]
vptest xmm1, xmm0
je 0x14009f485
mov rcx, rdx
shl rcx, 4
vmovdqa xmm1, xmmword [r8 + rcx + 0x70]
vmovdqa xmm2, xmmword [rsp + 0x250]
vptest xmm2, xmm1
je 0x14009f485
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x58], rdx
vpand xmm1, xmm2, xmm1
vpextrq rcx, xmm1, 1
vpand xmm0, xmm0, xmmword [rsp + 0x270]
vmovq r8, xmm1
vmovq r11, xmm0
vpextrq r9, xmm0, 1
tzcnt rsi, r11
tzcnt r9, r9
or r9, 0x40
test r11, r11
cmovne r9, rsi
lea edx, [r10*8 + 1]
xor r12d, r12d
jmp 0x14009f705
mov r14, r10
and r8, r11
and rcx, rbp
mov rax, r8
or rax, rcx
je 0x14009f7cb
mov r10, r14
tzcnt r11, r8
tzcnt rsi, rcx
or rsi, 0x40
test r8, r8
cmovne rsi, r11
mov r11, r8
add r11, 0xffffffffffffffff
mov rbp, rcx
adc rbp, 0xffffffffffffffff
shl rsi, 4
imul r13, r9, 0x5a0
lea rax, [0x1422393e0]
add r13, rax
lea rax, [0x142238e40]
mov r15, qword [rsi + rax]
mov rax, qword [rsi + rax + 8]
xor rax, qword [rsi + r13 + 8]
xor r15, qword [rsi + r13]
tzcnt r13, r15
tzcnt rsi, rax
or rsi, 0x40
test r15, r15
cmovne rsi, r13
cmp dword [rsp + rsi*4 + 0x90], edx
jne 0x14009f6f0
movzx eax, byte [rsp + rsi*4 + 0x42f8]
bts r12d, eax
jmp 0x14009f6f0
andn ecx, ebp, dword [rsp + 0x40]
cmp ebx, dword [rsp + 0x6c]
jne 0x14009f79e
andn ecx, eax, ecx
and r12w, word [rsp + rdx*2 + 0x24]
and r12d, ecx
mov eax, ecx
neg ax
mov eax, 0
sbb eax, eax
or eax, ecx
test dil, dil
cmove eax, ecx
mov word [rsp + rdx*2 + 0x24], r12w
and word [rsp + rdx*2 + 0x20], ax
jmp 0x14009f231
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x70]
jmp 0x14009f488
mov rax, qword [rsp + 0x78]
movzx ecx, word [rsp + rax*2 + 0x20]
test cx, cx
mov r8, qword [rsp + 0x80]
jne 0x14009f7fa
cmp word [rsp + r8*2 + 0x20], 0
je 0x14009f843
cmp word [rsp + rax*2 + 0x24], 0
movzx edx, word [rsp + r8*2 + 0x24]
je 0x14009f819
test dx, dx
mov eax, dword [rsp + 0x34]
mov ecx, 0
cmovne eax, ecx
jmp 0x14009f845
mov eax, dword [rsp + 0x30]
test dx, dx
mov rbx, qword [rsp + 0x48]
jne 0x14009f84a
mov eax, dword [rsp + 0x30]
test cx, cx
je 0x14009f84a
cmp word [rsp + r8*2 + 0x20], 0
mov eax, 0
cmove eax, dword [rsp + 0x34]
jmp 0x14009f84a
xor eax, eax
mov rbx, qword [rsp + 0x48]
cmp dword [rsp + 0x28], 1
sete cl
mov dword [rbx], eax
cmp eax, 0xffff83f7
setge al
or al, cl
jne 0x14009f94d
mov rcx, qword [r15 + 0x258]
mov rdx, qword [rcx + 0x20]
and edx, 0x3fff
cmp byte [r15 + rdx + 0x268], 2
mov dword [rsp + 0x28], 1
jb 0x14009f94d
mov eax, esi
or eax, 1
cmp eax, dword [rsp + 0x44]
jle 0x14009f0c0
mov edx, dword [rsp + 0x38]
jmp 0x14009f0d5
mov eax, dword [0x1400f2438]
test eax, eax
jle 0x14009f8b3
cmp dword [rcx + 0x14], eax
jge 0x14009f8ba
xor eax, eax
jmp 0x14009f94d
mov rax, qword [rcx + 0x30]
or rax, qword [rcx + 0x38]
je 0x14009f8d6
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.140095020
jmp 0x14009f8e6
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.140094210
mov r14, rax
lea rsi, [rsp + 0x90]
mov rdi, rsi
cmp rax, rsi
je 0x14009f936
lea rdi, [rsp + 0x90]
jmp 0x14009f919
add rdi, 8
cmp rdi, r14
je 0x14009f936
mov edx, dword [rdi]
mov rcx, r15
call fcn.14009bf30
test al, al
jne 0x14009f910
mov eax, dword [r14 - 8]
add r14, 0xfffffffffffffff8
mov dword [rdi], eax
cmp rdi, r14
jne 0x14009f919
mov rcx, qword [rsp + 0x50]
add ecx, 0xffff8300
xor eax, eax
cmp rdi, rsi
cmove eax, ecx
mov dword [rbx], eax
mov al, 1
add rsp, 0x4468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret