Function at 0x140108120
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x1401088a8
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xb0], rdi
test rsi, rsi
je 0x140108302
nop
cmp rsi, 1
je 0x1401082c1
cmp rbx, rsi
je 0x140108284
jl 0x14010826d
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
cmp qword [0x1404c36e0], rsi
jl 0x140108239
cmp rbx, 0x40
jle 0x1401081f0
movzx r9d, byte [rdi]
mov byte [rsp + 0x3d], r9b
movzx r10d, byte [rdi + 1]
mov byte [rsp + 0x3f], r10b
mov r11, rbx
sub rbx, rsi
mov qword [rsp + 0x80], rbx
lea r12, [rbx + 1]
mov qword [rsp + 0x58], r12
xor edx, edx
xor r13d, r13d
jmp 0x1401085c3
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.140003c60
xorps xmm15, xmm15
mov r14, qword [0x1404c3858]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
movzx r9d, byte [rdi]
mov byte [rsp + 0x3c], r9b
movzx r10d, byte [rdi + 1]
mov byte [rsp + 0x3e], r10b
mov r11, rbx
sub rbx, rsi
mov qword [rsp + 0x80], rbx
lea r12, [rbx + 1]
mov qword [rsp + 0x50], r12
xor edx, edx
xor r13d, r13d
jmp 0x140108323
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
jne 0x140108298
mov rbx, rax
mov rcx, rsi
mov rax, rdi
call fcn.140003920
test al, al
jne 0x1401082af
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
xor eax, eax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
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.140003e00
xorps xmm15, xmm15
mov r14, qword [0x1404c3858]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
xor eax, eax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
movzx r15d, byte [rsp + 0x3c]
mov rdx, r13
mov r13, r9
mov r9d, r15d
cmp rdx, r12
jge 0x14010855c
cmp r11, rdx
jbe 0x1401085aa
mov qword [rsp + 0x40], r13
movzx r15d, byte [rax + rdx]
nop
cmp r15b, r9b
je 0x140108410
cmp rcx, r12
jb 0x14010859f
lea r15, [rdx + 1]
cmp r15, r12
ja 0x140108594
mov qword [rsp + 0x60], rdx
sub rcx, rdx
dec rcx
mov rdi, rcx
neg rcx
sar rcx, 0x3f
and rcx, r15
add rcx, rax
mov qword [rsp], rcx
sub rbx, rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov byte [rsp + 0x18], r9b
call fcn.140003e00
xorps xmm15, xmm15
mov r14, qword [0x1404c3858]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
test rax, rax
jl 0x14010855c
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 + 0x80]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
movzx r9d, byte [rsp + 0x3c]
movzx r10d, byte [rsp + 0x3e]
mov r11, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
lea r15, [rdx + 1]
cmp r11, r15
jbe 0x140108589
mov qword [rsp + 0x78], rdx
movzx r9d, byte [rax + rdx + 1]
cmp r9b, r10b
jne 0x1401084c6
lea r9, [rdx + rsi]
cmp rcx, r9
jb 0x14010857e
nop
cmp rdx, r9
ja 0x140108573
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.140003920
test al, al
jne 0x140108547
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
movzx r10d, byte [rsp + 0x3e]
mov r11, qword [rsp + 0xa0]
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
cmp r15, r9
jg 0x140108314
nop
cmp r13, r12
jge 0x140108314
sub rcx, rdx
dec rcx
mov r9, rcx
neg rcx
sar rcx, 0x3f
and r13, rcx
sub r11, rdx
add rax, r13
lea rbx, [r11 - 1]
mov rcx, r9
call fcn.140002e20
test rax, rax
jge 0x14010852a
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rcx, qword [rsp + 0x78]
lea rax, [rax + rcx]
lea rax, [rax + 1]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, rdx
mov rcx, r9
call fcn.1400648c0
mov rdx, rcx
mov rcx, r9
call fcn.140064880
mov rax, r15
mov rcx, r11
call fcn.140064800
mov rax, r15
mov rcx, r12
call fcn.1400648c0
mov rdx, rcx
mov rcx, r12
call fcn.140064880
mov rax, rdx
mov rcx, r11
call fcn.140064800
mov rdx, r15
mov r13, r8
mov r8, qword [rsp + 0xc0]
cmp rdx, r12
jge 0x14010884e
cmp r11, rdx
jbe 0x14010889c
mov qword [rsp + 0x48], r13
movzx r15d, byte [rax + rdx]
nop
cmp r15b, r9b
je 0x1401086b1
cmp rcx, r12
jb 0x140108891
lea r15, [rdx + 1]
cmp r15, r12
ja 0x140108886
mov qword [rsp + 0x68], rdx
sub rcx, rdx
dec rcx
mov rdi, rcx
neg rcx
sar rcx, 0x3f
and r15, rcx
lea rcx, [rax + r15]
mov qword [rsp], rcx
sub rbx, rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov byte [rsp + 0x18], r9b
call fcn.140003e00
xorps xmm15, xmm15
mov r14, qword [0x1404c3858]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
test rax, rax
jl 0x140108837
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]
movzx r9d, byte [rsp + 0x3d]
movzx r10d, byte [rsp + 0x3f]
mov r11, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
lea r15, [rdx + 1]
cmp r11, r15
jbe 0x14010887b
mov qword [rsp + 0x78], rdx
movzx r8d, byte [rax + rdx + 1]
cmp r8b, r10b
jne 0x140108764
lea r8, [rdx + rsi]
cmp rcx, r8
jb 0x140108870
nop
cmp rdx, r8
ja 0x140108865
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.140003920
test al, al
jne 0x140108822
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
movzx r9d, byte [rsp + 0x3d]
movzx r10d, byte [rsp + 0x3f]
mov r11, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
lea r8, [r13 + 1]
nop
lea r13, [rdx + 0x11]
sar r13, 0x3f
shr r13, 0x3d
lea r13, [r13 + rdx]
lea r13, [r13 + 0x11]
sar r13, 3
cmp r13, r8
jge 0x1401085b5
sub rcx, rdx
dec rcx
mov rbx, rcx
neg rcx
sar rcx, 0x3f
and r15, rcx
add rax, r15
mov qword [rsp], rax
sub r11, rdx
lea rax, [r11 - 1]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
call fcn.140003c60
xorps xmm15, xmm15
mov r14, qword [0x1404c3858]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
test rax, rax
jl 0x14010880b
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + rax]
lea rax, [rax + 1]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, rdx
mov rcx, r8
call fcn.1400648c0
mov rdx, rcx
mov rcx, r8
call fcn.140064880
mov rax, r15
mov rcx, r11
call fcn.140064800
mov rax, r15
mov rcx, r12
call fcn.1400648c0
mov rdx, rcx
mov rcx, r12
call fcn.140064880
mov rax, rdx
mov rcx, r11
call fcn.140064800
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
call fcn.140062180
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.140108120