Function at 0x18000e980
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov qword [rsp + 0x10], rcx
mov ecx, dword [0x18002ca94]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xc640502
mov ebp, eax
and ebp, 0xd08a0048
or ebp, edx
xor ebp, 0xd08a0048
mov edx, eax
xor edx, 0xdcee054a
and edx, eax
mov ebx, ebp
and ebx, edx
xor edx, ebp
or edx, ebx
mov ebp, edx
not ebp
and ebp, 0x2311fab4
and edx, 0xdcee054b
or edx, ebp
mov ebp, edx
not ebp
and ebp, 0x9e8597f7
and edx, 0x617a6808
or edx, ebp
xor edx, 0x617a6808
and ecx, 0x6a352957
and eax, 0x95cad6a8
or eax, ecx
xor eax, 0x95cad6a8
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
cmp eax, 0xffffffff
sete r8b
setne dl
cmp dword [0x18002ca98], 0xa
setl al
mov ebx, edx
xor bl, r8b
and bl, dl
mov edx, ebx
xor dl, 1
mov r9d, ebx
and r9b, dl
mov ecx, r9d
xor cl, 1
xor r9b, bl
or cl, dl
xor cl, 1
or cl, r9b
or dl, bl
xor dl, 1
mov ebx, ecx
and bl, dl
xor dl, cl
or dl, bl
mov ecx, edx
xor cl, 1
mov ebx, ecx
and bl, dl
xor cl, bl
xor bl, 1
or bl, dl
xor bl, 1
or bl, cl
xor bl, al
mov ecx, eax
or cl, r8b
xor al, r8b
mov edx, ecx
xor dl, al
xor al, 1
xor dl, 1
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, 1
mov edx, ebx
xor dl, al
and al, cl
mov r8d, eax
and r8b, cl
xor al, cl
or al, r8b
xor al, bl
xor dl, 1
or cl, bl
xor cl, 1
or cl, dl
xor cl, 1
mov edx, eax
and dl, cl
test dl, 1
jne 0x18000ead4
xor al, cl
test al, 1
jne 0x18000ead4
nop dword [rax]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x18000eac0
mov rax, qword gs:[0x60]
mov rsi, qword [rax + 0x18]
add rsi, 0x10
mov eax, dword [0x18002ca7c]
lea ebp, [rax - 1]
imul ebp, eax
mov eax, ebp
not eax
mov edx, eax
and edx, 0xfffffffe
mov ecx, ebp
xor ecx, 0xfffffffe
and ecx, ebp
mov edi, edx
and edi, ecx
xor ecx, edx
mov edx, dword [0x18002ca80]
or ecx, edi
mov edi, ecx
not edi
and eax, edi
and ecx, ebp
or ecx, eax
not ecx
or ecx, edi
cmp ecx, 0xffffffff
sete al
setne cl
cmp edx, 9
setg r8b
cmp edx, 0xa
setl r9b
mov edx, r9d
xor dl, cl
xor dl, 1
or dl, r8b
mov ebx, edx
not bl
and cl, r9b
and al, r8b
or al, cl
mov r8d, eax
xor r8b, 1
and al, dl
or dl, r8b
xor dl, 1
and r8b, bl
or r8b, al
mov eax, edx
and al, r8b
xor r8b, dl
mov ecx, dword [0x18002ca9c]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0x2e6e2451
and edx, 0xd191dbae
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x8285426f
and edx, 0x7d7abd90
or edx, ecx
mov ebp, edx
xor ebp, 0x53140141
xor edx, 0xaceb663e
mov ecx, edx
or ecx, 1
mov ebx, ecx
not ebx
and edx, 0x2c2298ac
and ebp, 0xd3dd6753
or ebp, edx
mov edx, ecx
and edx, 0x3a914702
and ebx, 0xc56eb8fc
or ebx, edx
mov edx, ebp
xor edx, 0xc14c2050
xor ebp, 0x2c2298ad
or ecx, ebp
and ebp, 0x3a914702
and edx, 0xc56eb8fd
or edx, ebp
or r8b, al
mov byte [rsp + 7], r8b
xor edx, ebx
not ecx
or ecx, edx
mov eax, ecx
not eax
and eax, 0x5001507c
mov edx, ecx
and edx, 0x4120800
or edx, eax
mov eax, dword [0x18002caa0]
xor edx, 0x4120800
and ecx, 0xabeca783
or ecx, edx
mov edx, ecx
not edx
and edx, 0xabeca783
and ecx, 0x5413587c
or ecx, edx
sete r8b
setne r10b
cmp eax, 9
setg r15b
cmp eax, 0xa
setl cl
mov ebx, r10d
or bl, cl
xor bl, 1
mov eax, r10d
xor al, cl
not al
and al, cl
mov edx, ebx
and dl, al
xor al, bl
or al, dl
and r10b, cl
or cl, r8b
xor cl, 1
and r15b, r8b
or r15b, r10b
mov edx, ecx
and dl, r15b
xor r15b, cl
or r15b, dl
mov ecx, r15d
xor cl, 1
and r15b, cl
mov edx, ecx
and dl, r15b
xor r15b, cl
or r15b, dl
mov ecx, r15d
xor cl, 1
mov edx, r15d
and dl, cl
mov ebx, edx
and bl, r15b
xor dl, r15b
or dl, bl
mov ebx, edx
xor dl, 1
and dl, al
or r15b, al
xor al, 1
and bl, al
or dl, bl
xor cl, al
xor r15b, 1
or r15b, cl
xor r15b, 1
mov eax, edx
and al, r15b
xor r15b, dl
or r15b, al
movabs r12, 0x4728cb2b0d90ee6
mov rax, qword [rsp + 0x10]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rsi
mov rax, qword [rsp + 8]
mov rax, qword [rax]
mov qword [rsp + 8], rax
cmp rax, qword [rsp + 0x20]
je 0x18000ef52
mov r13, qword [rsp + 0x18]
test byte [rsp + 7], 1
je 0x18000ef40
nop word cs:[rax + rax]
nop
cmp byte [r13 + 1], 0
lea r13, [r13 + 1]
jne 0x18000ed20
test r15b, 1
je 0x18000ef50
movabs rax, 0xb355859d978c9afa
mov rcx, rax
add r13, rax
movabs rax, 0xc390b6f1943464ec
sub r13, rax
sub r13, rcx
movabs rcx, 0x302687b3b0bedce5
sub r13, rcx
add r13, rax
movabs rax, 0x9a03e2db3502f067
sub r13, rax
movabs rdx, 0x1692119e5c808fc7
sub r13, rdx
add r13, rax
movabs rax, 0x1385a429875f646e
add r13, rax
sub r13, qword [rsp + 0x10]
sub r13, rax
add r13, rdx
add r13, rcx
je 0x18000ef18
mov rax, qword [rsp + 8]
mov r9, qword [rax + 0x60]
xor r14d, r14d
mov r10, r13
nop word cs:[rax + rax]
nop dword [rax]
movzx ebp, word [r9 + r14*2]
test ebp, ebp
setne r8b
sete dl
mov rax, qword [rsp + 0x10]
movsx ebx, byte [rax + r14]
lea esi, [rbp - 0x41]
lea ecx, [rbp + 0x20]
cmp si, 0x1a
cmovae ecx, ebp
lea esi, [rbx - 0x41]
lea edi, [rbx + 0x20]
cmp sil, 0x1a
cmovae edi, ebx
sub ecx, edi
setne bl
sete al
xor al, dl
mov r11d, eax
xor r11b, 1
mov edx, r8d
xor dl, bl
and dl, r8b
or ebp, ecx
sete sil
and r8b, bl
or r8b, sil
xor dl, 1
xor r8b, 1
mov ebx, edx
xor bl, r8b
or r8b, dl
xor r8b, 1
or r8b, bl
mov edx, r8d
not dl
and dl, al
and r11b, r8b
or r11b, dl
mov edx, eax
and dl, r8b
xor r8b, al
or r8b, dl
mov eax, r8d
not al
and al, 1
cmp r11b, al
jne 0x18000ef10
xor r11b, 1
or r11b, r8b
xor r11b, 1
test r11b, 1
jne 0x18000ef10
movabs rax, 0x7103cdc23e2d7589
add r10, rax
add r10, r12
sub r10, rax
movabs rax, 0x1f94cee3f9d47c4e
mov rbx, rax
add r10, rax
sub r10, r12
movabs rax, 0x9a0b39f6dc970db0
mov rcx, rax
add r10, rax
movabs rdx, 0x33a1a3475951a624
mov rax, rdx
sub rax, r10
add rax, rcx
mov rcx, rdx
sub rcx, rax
movabs rax, 0x5148bb141fff4e33
mov rbp, rax
sub rcx, rax
movabs rax, 0xc9e1aa0adec8d14b
mov rdx, rax
sub rcx, rax
add rcx, rbp
movabs rax, 0xcc49e7532235ec89
sub rcx, rax
sub rcx, rbx
add rcx, rax
lea r10, [rdx + rcx]
add r10, 0xffffffffffffffff
add r14, 1
cmp r13, r14
jne 0x18000edc0
jmp 0x18000ef18
test ecx, ecx
jne 0x18000eced
mov rax, qword [rsp + 8]
mov rax, qword [rax + 0x30]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x18000ef40
jmp 0x18000ef50
xor eax, eax
jmp 0x18000ef21