Function at 0x14007c1c0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x14007c8dd
push rbp
mov rbp, rsp
sub rsp, 0x88
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xb0], rdi
test rsi, rsi
je 0x14007c374
cmp rsi, 1
je 0x14007c33a
nop dword [rax]
cmp rbx, rsi
je 0x14007c30b
jl 0x14007c2fb
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x98], rax
nop
cmp qword [0x1404b9d98], rsi
jl 0x14007c2c7
cmp rbx, 0x40
jle 0x14007c285
mov r9, rbx
sub rbx, rsi
mov qword [rsp + 0x80], rbx
movzx r10d, byte [rdi]
mov byte [rsp + 0x3f], r10b
movzx r11d, byte [rdi + 1]
mov byte [rsp + 0x3d], r11b
lea r12, [rbx + 1]
mov qword [rsp + 0x58], r12
xor edx, edx
xor r13d, r13d
nop
jmp 0x14007c609
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
call fcn.1400073a0
xorps xmm15, xmm15
mov r14, qword [0x1404b9db8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
add rsp, 0x88
pop rbp
ret
mov r9, rbx
sub r9, rsi
mov qword [rsp + 0x80], r9
movzx r10d, byte [rdi]
mov byte [rsp + 0x3e], r10b
movzx r11d, byte [rdi + 1]
mov byte [rsp + 0x3c], r11b
lea r12, [r9 + 1]
mov qword [rsp + 0x50], r12
xor edx, edx
xor r13d, r13d
jmp 0x14007c38d
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
jne 0x14007c31f
mov rbx, rax
mov rcx, rsi
mov rax, rdi
call fcn.140007060
test al, al
jne 0x14007c32f
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
xor eax, eax
add rsp, 0x88
pop rbp
ret
movzx edx, byte [rdi]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov byte [rsp + 0x18], dl
call fcn.140007540
xorps xmm15, xmm15
mov r14, qword [0x1404b9db8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
add rsp, 0x88
pop rbp
ret
xor eax, eax
add rsp, 0x88
pop rbp
ret
mov rdx, r13
mov r13, r9
mov r9, qword [rsp + 0x80]
cmp rdx, r12
jge 0x14007c5ac
cmp rbx, rdx
jbe 0x14007c5f3
mov qword [rsp + 0x40], r13
movzx r15d, byte [rax + rdx]
cmp r15b, r10b
je 0x14007c47a
cmp rcx, r12
jb 0x14007c5e8
lea r15, [rdx + 1]
nop
cmp r15, r12
ja 0x14007c5dd
mov qword [rsp + 0x60], rdx
sub r9, rdx
sub rcx, rdx
dec rcx
mov rdi, rcx
neg rcx
sar rcx, 0x3f
and rcx, r15
add rcx, rax
mov qword [rsp], rcx
mov qword [rsp + 8], r9
mov qword [rsp + 0x10], rdi
mov byte [rsp + 0x18], r10b
call fcn.140007540
xorps xmm15, xmm15
mov r14, qword [0x1404b9db8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
test rax, rax
jl 0x14007c5ac
mov r9, qword [rsp + 0x60]
lea rdx, [rax + r9]
lea rdx, [rdx + 1]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x80]
movzx r10d, byte [rsp + 0x3e]
movzx r11d, byte [rsp + 0x3c]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
lea r15, [rdx + 1]
nop
cmp rbx, r15
jbe 0x14007c5d2
mov qword [rsp + 0x78], rdx
movzx r9d, byte [rax + rdx + 1]
cmp r9b, r11b
jne 0x14007c52e
lea r9, [rdx + rsi]
cmp rcx, r9
jb 0x14007c5c7
cmp rdx, r9
ja 0x14007c5bc
mov qword [rsp + 0x70], r15
mov r8, rdx
sub rdx, rcx
sar rdx, 0x3f
and rdx, r8
add rdx, rax
mov rbx, rdi
mov rax, rdx
mov rcx, rsi
call fcn.140007060
test al, al
jne 0x14007c59e
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
movzx r10d, byte [rsp + 0x3e]
movzx r11d, byte [rsp + 0x3c]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
lea r9, [r13 + 1]
mov r13, r15
sar r15, 4
add r15, 4
nop dword [rax]
cmp r15, r9
jg 0x14007c37f
cmp r13, r12
jge 0x14007c37f
sub rcx, rdx
sub rbx, rdx
dec rcx
mov r9, rcx
neg r9
sar r9, 0x3f
and r13, r9
add rax, r13
dec rbx
call fcn.1400065a0
test rax, rax
jge 0x14007c588
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
mov rcx, qword [rsp + 0x78]
lea rax, [rax + rcx]
lea rax, [rax + 1]
add rsp, 0x88
pop rbp
ret
mov rax, qword [rsp + 0x78]
add rsp, 0x88
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
mov rax, rdx
mov rcx, r9
call fcn.140068ca0
mov rdx, rcx
mov rcx, r9
call fcn.140068c60
mov rax, r15
mov rcx, rbx
call fcn.140068be0
mov rax, r15
mov rcx, r12
call fcn.140068ca0
mov rdx, rcx
mov rcx, r12
call fcn.140068c60
mov rax, rdx
mov rcx, rbx
call fcn.140068be0
mov rbx, qword [rsp + 0x80]
mov rdx, r15
cmp rdx, r12
jge 0x14007c889
cmp r9, rdx
jbe 0x14007c8d1
mov qword [rsp + 0x48], r13
movzx r15d, byte [rax + rdx]
cmp r15b, r10b
je 0x14007c704
cmp rcx, r12
jb 0x14007c8c6
lea r15, [rdx + 1]
nop dword [rax + rax]
cmp r15, r12
ja 0x14007c8bb
mov qword [rsp + 0x68], rdx
sub rbx, rdx
sub rcx, rdx
dec rcx
mov r8, rcx
neg rcx
sar rcx, 0x3f
and r15, rcx
lea rcx, [rax + r15]
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r8
mov byte [rsp + 0x18], r10b
nop dword [rax + rax]
call fcn.140007540
xorps xmm15, xmm15
mov r14, qword [0x1404b9db8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop dword [rax]
test rax, rax
jl 0x14007c879
mov rsi, qword [rsp + 0x68]
lea rdx, [rsi + rax]
lea rdx, [rdx + 1]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0x3f]
movzx r11d, byte [rsp + 0x3d]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
lea r15, [rdx + 1]
cmp r9, r15
jbe 0x14007c8b0
mov qword [rsp + 0x78], rdx
movzx ebx, byte [rax + rdx + 1]
nop dword [rax + rax]
cmp bl, r11b
jne 0x14007c7bd
lea rbx, [rdx + rsi]
cmp rcx, rbx
jb 0x14007c8a5
cmp rdx, rbx
ja 0x14007c899
mov qword [rsp + 0x70], r15
mov r8, rdx
sub rdx, rcx
sar rdx, 0x3f
and rdx, r8
add rdx, rax
mov rbx, rdi
mov rax, rdx
mov rcx, rsi
nop dword [rax]
call fcn.140007060
test al, al
jne 0x14007c86b
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0x3f]
movzx r11d, byte [rsp + 0x3d]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
inc r13
lea rbx, [rdx + 0x11]
sar rbx, 0x3f
shr rbx, 0x3d
lea rbx, [rbx + rdx]
lea rbx, [rbx + 0x11]
sar rbx, 3
nop
nop dword [rax]
cmp rbx, r13
jge 0x14007c5fe
sub rcx, rdx
sub r9, rdx
dec rcx
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and r15, rcx
add rax, r15
mov qword [rsp], rax
lea rax, [r9 - 1]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
call fcn.1400073a0
xorps xmm15, xmm15
mov r14, qword [0x1404b9db8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
nop
test rax, rax
jl 0x14007c85b
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + rax]
lea rax, [rax + 1]
add rsp, 0x88
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
mov rax, qword [rsp + 0x78]
add rsp, 0x88
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x88
pop rbp
ret
mov rax, rdx
mov rcx, rbx
nop
call fcn.140068ca0
mov rdx, rcx
mov rcx, rbx
call fcn.140068c60
mov rax, r15
mov rcx, r9
call fcn.140068be0
mov rax, r15
mov rcx, r12
call fcn.140068ca0
mov rdx, rcx
mov rcx, r12
call fcn.140068c60
mov rax, rdx
mov rcx, r9
call fcn.140068be0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
nop dword [rax + rax]
call fcn.140066940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.14007c1c0