Function at 0x180009870
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 r10, rcx
mov rax, qword gs:[0x60]
mov rsi, qword [rax + 0x18]
add rsi, 0x10
mov ecx, dword [0x180027a9c]
mov eax, dword [0x180027aa0]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0xbc002200
mov ebp, edx
and ebp, 0x3b78c54
or ebp, ecx
xor ebp, 0x3b78c54
and edx, 0x404851ab
or edx, ebp
mov ecx, edx
not ecx
and ecx, 0x355db992
and edx, 0xcaa2466d
or edx, ecx
mov ebp, edx
xor ebp, 0x7515e839
mov ecx, edx
xor ecx, 0x7515e838
and ecx, ebp
xor edx, 0x8aea17c6
and edx, 0xfffffffe
and ebp, 1
or ebp, edx
mov edx, ecx
and edx, ebp
xor ebp, ecx
or ebp, edx
mov ecx, ebp
mov edx, ebp
xor edx, 0x30e7e301
and edx, ebp
not ebp
and ebp, 0x45a001
and ecx, 0x30a24300
or ecx, ebp
xor ecx, 0x30a24300
mov ebp, ecx
and ebp, edx
xor edx, ecx
or edx, ebp
mov ecx, edx
not ecx
and ecx, 0x2bb757a3
and edx, 0xd448a85c
or edx, ecx
mov ecx, edx
xor ecx, 0xe42b0355
xor edx, 0x1a10b480
and ecx, 0xe56b0377
and edx, 0x1a94fc88
or edx, ecx
mov ecx, edx
xor ecx, 0x1420057
xor edx, 0x1200c808
and edx, 0xf629cb28
and ecx, 0x9d634d7
or ecx, edx
xor ecx, 0x9d634d7
sete cl
cmp eax, 0xa
setl bpl
cmp eax, 9
setg al
mov edx, ecx
and dl, al
or al, cl
xor al, 1
mov ebx, edx
and bl, al
xor al, dl
or al, bl
mov edx, ebp
or dl, cl
xor bpl, cl
mov ecx, edx
xor cl, bpl
xor bpl, 1
xor cl, 1
or bpl, dl
xor bpl, 1
or bpl, cl
mov ecx, eax
xor cl, 1
mov edx, eax
and dl, cl
xor cl, bpl
xor bpl, 1
mov ebx, edx
and bl, al
xor dl, al
or dl, bl
xor dl, bpl
or bpl, al
xor bpl, 1
or bpl, cl
xor bpl, 1
mov eax, edx
and al, bpl
xor bpl, dl
or bpl, al
mov byte [rsp + 6], bpl
mov ecx, dword [0x180027a84]
mov eax, dword [0x180027a88]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0x7631922
mov ebp, edx
and ebp, 0x801800c1
or ebp, ecx
xor ebp, 0x801800c1
and edx, 0x7884e61c
or edx, ebp
mov ecx, edx
not ecx
and ecx, 0xb9eedda3
and edx, 0x4611225c
or edx, ecx
mov ecx, edx
xor ecx, 0xc16a3bbf
xor edx, 0x16008400
mov ebp, ecx
and ebp, 0xfffffffe
and edx, 0x9642acaf
and ecx, 0x69bd5350
or ecx, edx
xor ecx, 0x69bd5351
mov edx, ebp
and edx, ecx
xor ecx, ebp
or ecx, edx
mov edx, ecx
not edx
and ecx, 0x181248af
and edx, 0xe7edb750
or edx, ecx
mov ecx, edx
xor ecx, 0x12408f
xor edx, 0xe7edb750
mov ebp, edx
and ebp, 0xdf451c70
and ecx, 0x20bae38f
or ecx, ebp
xor ecx, 0x20bae38f
or ecx, edx
cmp ecx, 0xffffffff
setne r8b
sete dl
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
mov ebx, ecx
or cl, dl
or dl, al
xor dl, 1
or bl, r8b
xor bl, 1
mov r9d, edx
and r9b, bl
xor bl, dl
or bl, r9b
xor cl, 1
xor al, r8b
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov edx, ebx
xor dl, 1
mov ecx, ebx
and cl, dl
mov r8d, ecx
and r8b, bl
xor cl, bl
or cl, r8b
mov ebx, ecx
and cl, al
mov r8d, edx
and r8b, al
xor dl, al
xor al, 1
xor bl, 1
and bl, al
or cl, bl
or dl, r8b
xor dl, 1
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
mov byte [rsp + 7], dl
mov ecx, dword [0x180027aa4]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0x563d9218
and edx, eax
mov edi, ecx
and edi, 0x563d9218
mov ebx, edx
and ebx, edi
xor edi, edx
or edi, ebx
mov edx, edi
not edx
and edx, 0x563d9219
and edi, 0xa9c26de6
or edi, edx
and ecx, 0x1b95ef90
mov edx, eax
and edx, 0xe46a106f
or edx, ecx
xor edx, 0x1b95ef91
and eax, 1
or eax, edx
mov ecx, eax
not ecx
and ecx, 0x3f90c278
and eax, 0xc06f3d87
or eax, ecx
mov ebx, edi
not ebx
mov ecx, ebx
and ecx, 0xa541b455
and edi, 0x5abe4baa
or edi, ecx
mov ecx, eax
xor ecx, 0x402e0982
xor eax, 0x3f90c278
or ebx, eax
and eax, 0xa541b455
and ecx, 0x5abe4baa
or ecx, eax
xor ecx, edi
mov edi, dword [0x180027aa8]
not ebx
or ebx, ecx
mov eax, ebx
not eax
and eax, 0x4946f934
and ebx, 0xb6b906cb
or ebx, eax
mov eax, ebx
not eax
and eax, 0xb6b906cb
and ebx, 0x4946f934
or ebx, eax
mov eax, ebx
not eax
and ebx, 0x41a6bdc8
and eax, 0xbe594237
or eax, ebx
xor eax, 0xbe594237
setne bl
sete al
cmp edi, 0xa
setl dl
cmp edi, 9
setg r8b
mov ecx, r8d
xor cl, al
xor cl, 1
or cl, r8b
or bl, dl
xor al, dl
and al, dl
mov edx, ebx
xor dl, al
xor al, 1
xor dl, 1
or al, bl
xor al, 1
or al, dl
mov r12d, ecx
xor r12b, al
xor al, 1
or al, cl
xor al, 1
xor r12b, 1
mov ecx, eax
and cl, r12b
xor r12b, al
or r12b, cl
mov qword [rsp + 0x10], r10
lea rax, [r10 - 1]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rsi
mov rbx, qword [rsp + 8]
mov rbx, qword [rbx]
cmp rbx, qword [rsp + 0x20]
je 0x180009ec2
test byte [rsp + 6], 1
je 0x180009eb0
mov rax, qword [rsp + 0x18]
test byte [rsp + 7], 1
je 0x180009ec0
nop dword [rax + rax]
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180009c90
movabs rbp, 0x1d28e28179e1df2c
mov rcx, rbp
movabs rdx, 0x1611a69d467df952
sub rcx, rdx
mov r9, qword [rsp + 0x10]
sub rcx, r9
add rcx, rdx
movabs rdx, 0x907c35f0ad70ee8d
sub rcx, rdx
sub rcx, rbp
add rcx, rdx
movabs rdx, 0x15d02ba9bfe31ceb
mov rbp, rdx
sub rax, rdx
movabs rdx, 0x3268dc1b15f8f158
add rax, rdx
add rax, rbp
add rax, rcx
sub rax, rdx
mov qword [rsp + 8], rbx
je 0x180009ed2
mov r15, qword [rbx + 0x60]
nop word [rax + rax]
test r12b, 1
je 0x180009d10
movzx r11d, word [r15]
test r11d, r11d
sete r8b
setne sil
movsx ecx, byte [r9]
lea edx, [r11 - 0x41]
lea r13d, [r11 + 0x20]
cmp dx, 0x1a
cmovae r13d, r11d
lea edx, [rcx - 0x41]
lea edi, [rcx + 0x20]
cmp dl, 0x1a
cmovae edi, ecx
sub r13d, edi
sete cl
setne dil
mov edx, esi
xor dl, r8b
and dl, sil
mov ebp, edx
xor bpl, 1
mov r10d, edx
and r10b, bpl
mov r14d, r10d
and r14b, dl
xor r10b, dl
or r10b, r14b
or bpl, dl
xor r10b, 1
mov edx, r10d
xor dl, bpl
or r10b, bpl
xor r10b, 1
or r10b, dl
mov edx, edi
or dl, r10b
xor r10b, 1
or r10b, cl
xor dl, 1
xor r10b, 1
mov ecx, edx
and cl, r10b
xor r10b, dl
or r10b, cl
and sil, dil
or r11d, r13d
sete cl
or cl, sil
mov edx, r8d
and dl, dil
xor r8b, dil
or r8b, dl
xor r8b, 1
mov edx, ecx
and dl, r8b
xor r8b, cl
or r8b, dl
mov edx, r8d
xor dl, 1
mov ecx, edx
and cl, r8b
xor dl, cl
xor cl, 1
or cl, r8b
xor cl, 1
or cl, dl
xor cl, r10b
mov ebx, ecx
xor bl, 1
and bl, r10b
mov edx, ebx
and dl, cl
test dl, 1
jne 0x180009ea0
xor bl, cl
test bl, 1
jne 0x180009ea0
add r15, 2
add r9, 1
movabs rbp, 0xaa04432f6eac0834
add rax, rbp
movabs rcx, 0xc3bc9a8e26506457
mov rdx, rcx
add rax, rcx
mov rcx, rbp
sub rcx, rax
add rcx, rdx
movabs rax, 0x785dee379e69b351
mov rdx, rax
sub rcx, rax
movabs rax, 0x943778bcd2ddb4ea
add rcx, rax
add rcx, rdx
movabs rbp, 0x688afd948d744e0
mov rdx, rbp
sub rdx, rcx
add rdx, rax
sub rdx, rbp
movabs rax, 0x6bf190b192604686
mov rcx, rax
add rdx, rax
movabs rax, 0x6c02db9bc1d35a9e
add rdx, rax
sub rdx, rcx
not rax
add rax, rdx
jne 0x180009d10
jmp 0x180009ed8
test r13d, r13d
jne 0x180009c5a
jmp 0x180009ed8
jmp 0x180009eb0
jmp 0x180009ec0
test byte [rsp + 6], 1
je 0x180009ed0
xor eax, eax
jmp 0x180009ee8
jmp 0x180009ed0
test r12b, 1
je 0x180009f10
test byte [rsp + 6], 1
je 0x180009f00
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 0x180009f00
jmp 0x180009f10