Function at 0x1400c9aa0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x1400ca259
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x98]
call fcn.14006a180
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x1400c9cf5
nop dword [rax + rax]
cmp rcx, 1
je 0x1400c9c99
mov rdx, qword [rsp + 0xa8]
cmp rdx, rcx
je 0x1400c9c5b
nop dword [rax + rax]
jl 0x1400c9c46
lea rax, [0x140333698]
call fcn.1400665a0
mov rdi, qword [rsp + 0xb8]
nop word [rax + rax]
cmp qword [0x140333698], rdi
jl 0x1400c9bfb
mov rcx, qword [rsp + 0xa8]
cmp rcx, 0x40
jle 0x1400c9b9e
mov rdx, rcx
sub rcx, rdi
mov qword [rsp + 0x88], rcx
mov rbx, qword [rsp + 0xb0]
movzx esi, byte [rbx]
mov byte [rsp + 0x2f], sil
movzx r8d, byte [rbx + 1]
mov byte [rsp + 0x2d], r8b
lea r9, [rcx + 1]
mov qword [rsp + 0x40], r9
mov r10, qword [rsp + 0xa0]
xor eax, eax
xor r11d, r11d
jmp 0x1400c9fa8
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdi
call fcn.1400041c0
xorps xmm15, xmm15
mov r14, qword [0x1403336a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x88], rax
call fcn.14006a1c0
mov rax, qword [rsp + 0x88]
add rsp, 0x90
pop rbp
ret
mov rcx, qword [rsp + 0xa8]
mov rbx, rcx
sub rcx, rdi
mov qword [rsp + 0x88], rcx
mov rsi, qword [rsp + 0xb0]
movzx r8d, byte [rsi]
mov byte [rsp + 0x2e], r8b
movzx r9d, byte [rsi + 1]
mov byte [rsp + 0x2c], r9b
lea r10, [rcx + 1]
mov qword [rsp + 0x38], r10
mov r11, qword [rsp + 0xa0]
xor eax, eax
xor edx, edx
jmp 0x1400c9d0b
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa0]
call fcn.140003e80
test al, al
je 0x1400c9c84
call fcn.14006a1c0
xor eax, eax
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], al
call fcn.140004320
xorps xmm15, xmm15
mov r14, qword [0x1403336a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x30], rax
call fcn.14006a1c0
mov rax, qword [rsp + 0x30]
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
xor eax, eax
add rsp, 0x90
pop rbp
ret
mov rax, r15
mov rdx, r13
cmp rax, r10
jge 0x1400c9f4e
cmp rbx, rax
jbe 0x1400c9f9b
mov qword [rsp + 0x68], rdx
movzx r12d, byte [r11 + rax]
cmp r12b, r8b
je 0x1400c9ddf
cmp rbx, r10
jb 0x1400c9f90
lea r12, [rax + 1]
nop dword [rax]
cmp r12, r10
ja 0x1400c9f85
mov qword [rsp + 0x58], rax
sub rcx, rax
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and rcx, r12
add rcx, r11
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], r8b
call fcn.140004320
xorps xmm15, xmm15
mov r14, qword [0x1403336a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x1400c9f39
mov rsi, qword [rsp + 0x58]
lea rax, [rax + rsi]
lea rax, [rax + 1]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
movzx r8d, byte [rsp + 0x2e]
movzx r9d, byte [rsp + 0x2c]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0xa0]
lea r12, [rax + 1]
cmp rbx, r12
jbe 0x1400c9f76
mov qword [rsp + 0x80], rax
movzx r13d, byte [rax + r11 + 1]
nop word [rax + rax]
cmp r13b, r9b
jne 0x1400c9e98
lea r13, [rax + rdi]
cmp rbx, r13
jb 0x1400c9f6b
cmp rax, r13
ja 0x1400c9f63
mov qword [rsp + 0x78], r12
mov rcx, rdi
neg rdi
sar rdi, 0x3f
and rdi, rax
lea rdx, [rdi + r11]
mov rbx, rsi
mov rax, rdx
nop dword [rax + rax]
call fcn.140003e80
test al, al
jne 0x1400c9f23
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
movzx r8d, byte [rsp + 0x2e]
movzx r9d, byte [rsp + 0x2c]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x78]
lea r13, [rdx + 1]
mov r15, r12
sar r12, 4
add r12, 4
cmp r12, r13
jg 0x1400c9d05
cmp r15, r10
jge 0x1400c9d05
sub rbx, rax
dec rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
and r15, rdx
lea rdx, [r15 + r11]
mov rcx, rsi
mov rax, rdx
call fcn.140003600
nop dword [rax + rax]
test rax, rax
jge 0x1400c9efa
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
mov qword [rsp + 0x50], rax
nop
call fcn.14006a1c0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + rax]
lea rax, [rax + 1]
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, qword [rsp + 0x80]
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
mov rcx, r13
call fcn.140065300
mov rcx, r13
mov rdx, rbx
call fcn.140065280
mov rax, r12
mov rcx, rbx
nop dword [rax]
call fcn.140065240
mov rax, r12
mov rcx, r10
call fcn.140065300
mov rcx, r10
mov rdx, rbx
call fcn.140065280
mov rcx, rbx
nop
call fcn.140065240
mov rax, r12
cmp rax, r9
jge 0x1400ca20d
cmp rdx, rax
jbe 0x1400ca250
mov qword [rsp + 0x70], r11
movzx r12d, byte [r10 + rax]
cmp r12b, sil
je 0x1400ca07f
cmp rdx, r9
jb 0x1400ca248
lea r12, [rax + 1]
nop word [rax + rax]
cmp r12, r9
ja 0x1400ca23d
mov qword [rsp + 0x60], rax
sub rcx, rax
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and r12, rcx
lea rcx, [r10 + r12]
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], sil
call fcn.140004320
xorps xmm15, xmm15
mov r14, qword [0x1403336a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x1400ca1f8
mov rsi, qword [rsp + 0x60]
lea rax, [rsi + rax]
lea rax, [rax + 1]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
movzx esi, byte [rsp + 0x2f]
mov rdi, qword [rsp + 0xb8]
movzx r8d, byte [rsp + 0x2d]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x70]
lea r12, [rax + 1]
cmp rdx, r12
jbe 0x1400ca232
mov qword [rsp + 0x80], rax
movzx r13d, byte [r10 + rax + 1]
nop word [rax + rax]
cmp r13b, r8b
jne 0x1400ca132
lea r13, [rax + rdi]
cmp rdx, r13
jb 0x1400ca22a
cmp rax, r13
ja 0x1400ca222
mov qword [rsp + 0x78], r12
mov rcx, rdi
neg rdi
sar rdi, 0x3f
and rdi, rax
lea rdx, [r10 + rdi]
mov rax, rdx
call fcn.140003e80
nop dword [rax]
test al, al
jne 0x1400ca1e2
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
movzx esi, byte [rsp + 0x2f]
mov rdi, qword [rsp + 0xb8]
movzx r8d, byte [rsp + 0x2d]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
inc r11
lea r13, [rax + 0x11]
sar r13, 0x3f
shr r13, 0x3d
lea r13, [r13 + rax]
lea r13, [r13 + 0x11]
sar r13, 3
cmp r13, r11
jge 0x1400c9fa5
sub rdx, rax
lea rcx, [rdx - 1]
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and r12, rcx
lea rcx, [r12 + r10]
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
call fcn.1400041c0
xorps xmm15, xmm15
mov r14, qword [0x1403336a8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop
test rax, rax
jl 0x1400ca1cd
mov qword [rsp + 0x48], rax
call fcn.14006a1c0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax]
lea rax, [rax + 1]
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, qword [rsp + 0x80]
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
call fcn.14006a1c0
mov rax, 0xffffffffffffffff
add rsp, 0x90
pop rbp
ret
mov rcx, r13
call fcn.140065300
mov rcx, r13
call fcn.140065280
mov rax, r12
mov rcx, rdx
call fcn.140065240
mov rax, r12
mov rcx, r9
call fcn.140065300
mov rcx, r9
call fcn.140065280
mov rcx, rdx
call fcn.140065240
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.140062fa0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.1400c9aa0