Function at 0x180008870
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r10, rcx
mov rax, qword gs:[0x60]
mov r14, qword [rax + 0x18]
add r14, 0x10
mov ecx, dword [0x180026a94]
mov r8d, dword [0x180026a98]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
mov ebp, ecx
and ebp, 0x1002c
and edx, 0x1144202
or edx, ebp
mov ebx, edx
xor ebx, 0x1040002
xor edx, 0x68408518
or ecx, 0x115422e
mov ebp, ecx
not ebp
and edx, 0x6850c718
and ebx, 0x1050026
or ebx, edx
and ecx, 0x6850c718
and ebp, 0x96aa38c1
or ebp, ecx
xor ebp, ebx
mov ecx, ebp
not ecx
and ecx, 0xb7c76f0e
and ebp, 0x483890f1
or ebp, ecx
mov edi, ebp
xor edi, 0x492dd2df
mov ebx, ebp
xor ebx, 0xb6d22d20
mov edx, edi
or edx, 0x2228d6e9
mov ecx, edx
not ecx
xor ebp, 0x94fafbc9
and ebp, edi
mov esi, edx
and esi, 0x585846b3
and ecx, 0x85872904
or ecx, esi
mov esi, ebp
not esi
or edx, esi
and esi, 0x585846b3
and ebp, 0xa7a7b94c
or ebp, esi
xor ebp, ecx
not edx
or edx, ebp
mov ecx, edx
not ecx
and ecx, 0x2ac5ec50
and edx, 0xd53a13af
or edx, ecx
mov ebp, edx
xor ebp, 0x4538b0
and edi, 0xf151d181
mov ecx, ebx
and ecx, 0xeae2e7e
or ecx, edi
xor ecx, 0xf151d180
and ebx, 1
or ebx, ecx
mov ecx, ebx
not ecx
and ecx, 0x476dd915
and ebx, 0xb89226ea
or ebx, ecx
mov ecx, ebx
xor ecx, 0x901224e2
xor edx, 0xf712c547
xor ebx, 0x476dd915
mov edi, edx
and edi, 0x2fa84309
and ebp, 0xd057bcf6
or ebp, edi
or edx, ebx
and ebx, 0x2fa84309
and ecx, 0xd057bcf6
or ecx, ebx
xor ecx, ebp
not edx
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0xd298592f
and edx, 0x2d67a6d0
or edx, ecx
xor edx, 0x2d67a6d0
sete r9b
setne bl
cmp r8d, 0xa
setl al
cmp r8d, 9
setg cl
mov edx, ecx
xor dl, bl
and bl, al
or al, r9b
xor al, 1
or al, dl
and cl, r9b
or cl, bl
xor cl, 1
mov edx, eax
or dl, cl
xor cl, al
mov eax, edx
xor al, cl
xor cl, 1
xor al, 1
or cl, dl
xor cl, 1
or cl, al
mov byte [rsp + 7], cl
mov ecx, dword [0x180026a7c]
mov eax, dword [0x180026a80]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
mov ebp, ecx
and ebp, 0x21af2d75
and ecx, edx
and edx, 0xde50d28a
or edx, ebp
xor edx, 0xde50d28a
mov ebp, edx
and ebp, ecx
xor edx, ecx
or edx, ebp
mov ecx, edx
xor ecx, 1
and ecx, edx
mov ebp, edx
not ebp
and ebp, 0x8e9846b6
and edx, 0x7167b949
or edx, ebp
xor edx, 0x7167b948
mov ebp, ecx
and ebp, edx
xor edx, ecx
or edx, ebp
mov ecx, edx
not ecx
and edx, ecx
mov ebp, ecx
and ebp, edx
xor edx, ecx
or edx, ebp
mov ecx, edx
not ecx
and edx, 0x8da284ed
and ecx, 0x725d7b12
or ecx, edx
xor ecx, 0x8da284ed
cmp ecx, 0xffffffff
sete r8b
setne dl
cmp eax, 0xa
setl bl
cmp eax, 9
setg al
mov ecx, edx
and cl, al
or dl, bl
and bl, r8b
or bl, cl
mov ecx, ebx
xor cl, al
and cl, bl
xor dl, 1
or al, r8b
xor al, 1
mov ebx, edx
and bl, al
xor al, dl
or al, bl
mov ebx, ecx
xor bl, 1
mov edx, eax
xor dl, 1
and al, bl
and cl, dl
or cl, al
mov eax, ebx
and al, dl
xor dl, bl
or dl, al
xor cl, 1
mov eax, ecx
xor al, dl
or cl, dl
xor cl, 1
or cl, al
mov byte [rsp + 6], cl
mov eax, dword [0x180026a9c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0x50b89c63
and eax, ecx
not ecx
and ecx, 0x50b89c63
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
not ecx
and ecx, 0xaf47639c
and eax, 0x50b89c63
or eax, ecx
mov ebx, eax
mov ecx, eax
xor ecx, 0xd7f3fa25
and ecx, eax
not eax
and eax, 0x778aebf5
and ebx, 0x8875140a
or ebx, eax
mov eax, ebx
xor eax, 0x8875140a
mov edx, ebx
xor edx, 0xa07911d0
and edx, eax
mov ebp, edx
not ebp
mov edi, ebp
and edi, 0x6a2dd8b8
and edx, 0x95d22747
or edx, edi
mov edi, ecx
not edi
or ebp, edi
and edi, 0x6a2dd8b8
and ecx, 0x95d22747
or ecx, edi
xor ecx, edx
movabs rsi, 0x36241a2c8a0da689
not ebp
or ebp, ecx
mov ecx, ebp
not ecx
and ecx, 0x4b3b3a96
and ebp, 0xb4c4c569
or ebp, ecx
xor ebp, 0x63373f4d
and eax, 1
xor ebx, 0x8875140b
or ebx, eax
mov eax, ebx
not eax
and eax, 0x96355e43
and ebx, 0x69caa1bc
or ebx, eax
xor ebx, 0x69caa1bc
mov eax, ebp
and eax, ebx
xor ebx, ebp
or ebx, eax
mov eax, ebx
not eax
and eax, 0x67863a12
and ebx, 0x9879c5ed
or ebx, eax
mov eax, ebx
xor eax, 0x62020a00
xor ebx, 0x9041814c
and ebx, 0x95c5b15e
and eax, 0x6a3a4ea1
or eax, ebx
xor eax, 0x6a3a4ea1
sete r9b
setne al
cmp dword [0x180026aa0], 0xa
setl dl
mov ebx, eax
or bl, dl
xor al, dl
not al
and al, dl
xor al, 1
mov ecx, ebx
xor cl, al
or al, bl
xor al, 1
or al, cl
mov r8d, edx
xor r8b, r9b
and dl, r9b
or dl, r8b
mov ecx, edx
xor cl, r8b
xor r8b, 1
xor cl, 1
or r8b, dl
xor r8b, 1
or r8b, cl
mov ecx, r8d
xor cl, 1
mov edx, eax
xor dl, r8b
and dl, al
and r8b, al
xor al, 1
and al, cl
or r8b, al
mov eax, edx
and al, r8b
xor r8b, dl
or r8b, al
movabs r11, 0xa108907a4421a26
mov r12, r10
lea rax, [r10 - 1]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], r14
mov qword [rsp + 8], r14
test byte [rsp + 7], 1
je 0x180008ec0
mov rax, qword [rsp + 8]
mov rax, qword [rax]
mov qword [rsp + 8], rax
cmp rax, qword [rsp + 0x18]
je 0x180008ee2
mov r10, qword [rsp + 0x10]
test byte [rsp + 6], 1
je 0x180008ed0
nop dword [rax]
cmp byte [r10 + 1], 0
lea r10, [r10 + 1]
jne 0x180008ce0
test r8b, 1
je 0x180008ee0
movabs rcx, 0x6f3657966644ca1f
movabs rax, 0x28eee83b54b8a7d8
mov rdx, rax
add rax, rcx
sub rcx, rax
movabs rax, 0x30f9f43ea8621678
sub rcx, rax
sub rcx, r12
add rcx, rax
movabs rax, 0x7abccb930028b7ca
sub rcx, rax
add rcx, rdx
add rcx, rax
movabs rax, 0x45e34bcf232da2fb
mov rdx, rax
sub r10, rax
movabs rax, 0x3052f25407837ba3
sub r10, rax
add r10, rcx
add r10, rax
movabs rax, 0xb3e883df626b9fd5
sub r10, rax
add r10, rdx
add r10, rax
je 0x180008e99
mov rax, qword [rsp + 8]
mov r13, qword [rax + 0x60]
xor r9d, r9d
mov rbp, r10
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, word [r13 + r9*2]
movsx edx, byte [r12 + r9]
mov r14d, ebx
cmp ebx, 0x41
jb 0x180008daf
lea r14d, [rbx + 0x20]
cmp bx, 0x5b
cmovae r14d, ebx
lea ecx, [rdx - 0x41]
lea edi, [rdx + 0x20]
cmp cl, 0x1a
cmovae edi, edx
sub r14d, edi
setne dil
sete dl
test bx, bx
sete bl
setne r15b
mov ecx, edx
and cl, r15b
or dl, bl
and bl, dil
or bl, cl
mov ecx, ebx
xor cl, r15b
and cl, bl
xor dl, 1
or r15b, dil
xor r15b, 1
mov ebx, edx
and bl, r15b
xor r15b, dl
or r15b, bl
mov ebx, r15d
mov eax, r15d
mov edx, ecx
or r15b, cl
xor cl, 1
xor bl, 1
and al, cl
and dl, bl
or dl, al
xor bl, cl
xor r15b, 1
or r15b, bl
xor r15b, 1
mov eax, edx
and al, r15b
test al, 1
jne 0x180008e90
xor dl, r15b
test dl, 1
jne 0x180008e90
mov rax, rsi
sub rax, rbp
movabs rcx, 0xf82aad4d2d0be61e
mov rdi, rcx
add rax, rcx
movabs rbx, 0x38941e58d7dd6d03
mov rcx, rbx
sub rcx, r11
mov rdx, rsi
sub rdx, rax
add rdx, rdi
add rdx, rcx
add rdx, r11
movabs rax, 0x416198252bf5958e
sub rdx, rax
sub rdx, rbx
lea rbp, [rdx + rax]
add rbp, 0xffffffffffffffff
add r9, 1
cmp r10, r9
jne 0x180008d90
jmp 0x180008e99
test r14d, r14d
jne 0x180008ca9
mov rax, qword [rsp + 8]
mov rax, qword [rax + 0x30]
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x180008ec0
jmp 0x180008ed0
jmp 0x180008ee0
xor eax, eax
jmp 0x180008ea2