Function at 0x1800156c0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x18
mov r15, rcx
mov rax, qword gs:[0x60]
mov r12, qword [rax + 0x18]
add r12, 0x10
mov edx, dword [0x180033a8c]
mov r8d, dword [0x180033a90]
lea ebx, [rdx - 1]
imul ebx, edx
mov ebp, ebx
mov edx, ebx
xor edx, 0x9f7fd807
and edx, ebx
not ebx
and ebx, 0x133bd001
and ebp, 0x8c440806
or ebp, ebx
xor ebp, 0x8c440806
mov ebx, ebp
and ebx, edx
xor edx, ebp
or edx, ebx
mov ebp, edx
not ebp
and ebp, 0x608027f8
and edx, 0x9f7fd807
or edx, ebp
mov ebx, edx
xor ebx, 1
and ebx, edx
mov ebp, edx
not ebp
and ebp, 0xfffffffe
and edx, 1
or edx, ebp
mov ebp, ebx
not ebp
mov eax, ebp
and eax, 0x45307003
and ebx, 0xbacf8ffc
or ebx, eax
mov eax, edx
not eax
or ebp, eax
and eax, 0x45307003
and edx, 0xbacf8ffc
or edx, eax
xor edx, ebx
not ebp
or ebp, edx
mov eax, ebp
not eax
and eax, 0x73bf4e99
and ebp, 0x8c40b166
or ebp, eax
mov eax, ebp
xor eax, 0x140
xor ebp, 0x622d4c81
and eax, 0x11920358
and ebp, 0xee6dfca7
or ebp, eax
xor ebp, 0xee6dfca7
sete r9b
setne al
cmp r8d, 0xa
setl dl
cmp r8d, 9
setg cl
mov ebx, eax
and bl, cl
and dl, r9b
or dl, bl
xor dl, 1
or dl, cl
mov r8d, edx
xor r8b, 1
xor cl, al
mov r10d, ecx
xor r10b, 1
mov ebx, ecx
and bl, r10b
mov r9d, ebx
and r9b, cl
xor bl, cl
or cl, r8b
and r8b, dl
xor r8b, 1
mov eax, r8d
xor al, dl
or r8b, dl
xor r8b, 1
or r8b, al
or bl, r9b
xor bl, r8b
xor r10b, dl
xor cl, 1
or cl, r10b
xor cl, 1
mov eax, ebx
and al, cl
xor cl, bl
or cl, al
mov byte [rsp + 7], cl
mov edx, dword [0x180033a74]
lea eax, [rdx - 1]
imul eax, edx
mov ebx, eax
not ebx
mov edx, ebx
and edx, eax
mov edi, eax
and edi, 0x1e655db2
and ebx, 0xe19aa24d
or ebx, edi
mov edi, edx
not edi
or eax, edi
and edi, 0x1e655db2
and edx, 0xe19aa24d
or edx, edi
mov r8d, dword [0x180033a78]
xor edx, ebx
not eax
or eax, edx
mov edx, eax
xor edx, 1
and edx, eax
mov ebx, eax
not ebx
and ebx, 0xb9a7f677
and eax, 0x46580988
or eax, ebx
xor eax, 0x46580989
mov ebx, edx
and ebx, eax
xor eax, edx
or eax, ebx
mov edx, eax
not edx
and edx, 0x60454880
mov ebx, eax
and ebx, 0x8108401
or ebx, edx
xor ebx, 0x8108401
and eax, 0x97aa337e
or eax, ebx
mov edx, eax
not edx
and edx, 0xa7d79772
and eax, 0x5828688d
or eax, edx
xor eax, 0x307da40c
setne r9b
sete r10b
cmp r8d, 9
setg r14b
cmp r8d, 0xa
setl r8b
mov edx, r10d
xor dl, r9b
and dl, r10b
mov eax, edx
xor al, 1
or al, dl
xor al, 1
mov ebx, edx
and bl, al
xor al, dl
or al, bl
mov edx, r14d
or dl, al
xor al, 1
or al, r8b
mov ebx, edx
xor bl, al
or al, dl
xor al, 1
or al, bl
mov edx, r14d
xor dl, r10b
and dl, r14b
and r9b, r8b
and r14b, r10b
or r14b, r9b
mov ebx, edx
and bl, r14b
xor r14b, dl
or r14b, bl
xor r14b, al
mov edx, r14d
xor dl, 1
and r14b, al
mov eax, r14d
and al, dl
xor r14b, dl
or r14b, al
mov eax, dword [0x180033a94]
mov edx, dword [0x180033a98]
lea esi, [rax - 1]
imul esi, eax
mov ebx, esi
or ebx, 1
mov eax, ebx
not eax
and ebx, 0xcd9b6dd6
and eax, 0x32649228
or eax, ebx
mov edi, esi
or edi, 0xcd9b6dd6
and edi, 0xcd9b6dd7
xor edi, eax
mov eax, edi
and edi, esi
not esi
not eax
and esi, eax
or edi, esi
not edi
or edi, eax
cmp edi, 0xffffffff
sete al
setne bl
cmp edx, 9
setg r8b
cmp edx, 0xa
setl r9b
mov edx, r9d
xor dl, bl
mov r10d, edx
xor r10b, r8b
and r10b, dl
and bl, r9b
and al, r8b
or al, bl
mov r8d, r10d
xor r8b, 1
mov r11d, eax
xor r11b, 1
mov edx, r8d
and dl, r10b
mov esi, r11d
and sil, al
mov r9d, r8d
and r9b, dl
xor dl, r8b
or dl, r9b
mov r9d, r11d
and r9b, sil
xor sil, r11b
or sil, r9b
mov ebx, edx
xor bl, 1
and bl, sil
xor sil, 1
and sil, dl
or sil, bl
xor r11b, r8b
or al, r10b
xor al, 1
or al, r11b
mov edx, eax
xor dl, sil
xor sil, 1
xor dl, 1
or sil, al
xor sil, 1
or sil, dl
mov rcx, r15
lea rax, [r15 - 1]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], r12
test byte [rsp + 7], 1
je 0x180015be0
mov r12, qword [r12]
cmp r12, qword [rsp + 0x10]
je 0x180015c02
mov r8, qword [rsp + 8]
test r14b, 1
je 0x180015bf0
nop dword [rax + rax]
cmp byte [r8 + 1], 0
lea r8, [r8 + 1]
jne 0x180015a50
test sil, 1
je 0x180015c00
movabs rdx, 0xb46a019a5b3ea6f8
mov rax, rdx
movabs rbp, 0x4faec4d8d262e083
sub rax, rbp
add rax, rcx
sub rdx, rax
movabs rax, 0xd3e0e316dad6a1b8
sub rdx, rax
sub rdx, rbp
add rdx, rax
movabs rax, 0x2b96ed0c45fe0e3e
mov rbp, rax
add r8, rax
add r8, rdx
movabs rax, 0x3650011ef92091a7
add r8, rax
sub r8, rbp
sub r8, rax
je 0x180015bc9
mov r10, qword [r12 + 0x60]
xor r13d, r13d
mov r11, r8
nop
movzx edx, word [r10 + r13*2]
test edx, edx
sete bl
setne al
lea edi, [rdx - 0x41]
lea r15d, [rdx + 0x20]
cmp di, 0x1a
cmovae r15d, edx
movsx edx, byte [rcx + r13]
lea edi, [rdx - 0x41]
lea ebp, [rdx + 0x20]
cmp dil, 0x1a
cmovae ebp, edx
sub r15d, ebp
sete r9b
mov edx, eax
and dl, r9b
xor al, r9b
or al, dl
mov edx, r9d
or dl, bl
xor r9b, bl
not r9b
and r9b, bl
xor r9b, 1
mov ebx, edx
xor bl, r9b
or r9b, dl
xor r9b, 1
or r9b, bl
mov edx, eax
xor dl, r9b
xor r9b, 1
or r9b, al
mov eax, r9d
not al
and al, 1
mov ebx, edx
not bl
and bl, 1
cmp al, bl
jne 0x180015bc0
or r9b, dl
xor r9b, 1
test r9b, 1
jne 0x180015bc0
movabs rbp, 0xa89814abf9ed814b
mov rax, rbp
movabs rdx, 0xbad8bb664aa7ba6e
mov rbx, rdx
sub rax, rdx
sub rax, rbp
movabs rdx, 0x64d22f9874ec7040
add rax, rdx
add rax, rbx
movabs rbp, 0xd1074d50480ab766
add r11, rbp
sub rdx, rax
add rdx, r11
mov r11, rbp
not r11
add r11, rdx
add r13, 1
cmp r8, r13
jne 0x180015ad0
jmp 0x180015bc9
test r15d, r15d
jne 0x180015a1f
mov rax, qword [r12 + 0x30]
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x180015be0
jmp 0x180015bf0
jmp 0x180015c00
xor eax, eax
jmp 0x180015bce