Function at 0x18000f590
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov qword [rsp + 0x18], rcx
mov rax, qword gs:[0x60]
mov r12, qword [rax + 0x18]
mov rax, qword [r12 + 0x10]
add r12, 0x10
cmp rax, r12
je 0x18000f7f2
mov qword [rsp + 8], rax
mov ecx, dword [0x18002da7c]
mov r8d, dword [0x18002da80]
lea edi, [rcx - 1]
imul edi, ecx
mov ecx, edi
not ecx
mov ebx, ecx
and ebx, 0xa562471e
mov edx, edi
and edx, 0x5a9db8e0
or edx, ebx
mov ebx, edx
xor ebx, 0x481838a0
xor edx, 0xa562471f
mov ebp, edi
xor ebp, 0xfffffffe
and ebp, edi
mov esi, ebp
not esi
mov eax, edx
and eax, 0x32a7c454
and ebx, 0xcd583baa
or ebx, eax
or edx, esi
and esi, 0x32a7c454
and ebp, 0xcd583bab
or ebp, esi
xor ebp, ebx
not edx
or edx, ebp
mov ebp, edx
not ebp
mov eax, ebp
and eax, 0x23c46f74
and edx, 0xdc3b908b
or edx, eax
and edi, 0x23c46f74
and ecx, 0xdc3b908b
or ecx, edi
xor ecx, edx
not ecx
or ecx, ebp
cmp ecx, 0xffffffff
setne r9b
sete bl
cmp r8d, 0xa
setl cl
cmp r8d, 9
setg al
or bl, al
or cl, r9b
mov edx, ecx
xor dl, bl
or cl, bl
xor cl, 1
or cl, dl
mov edx, r9d
xor dl, al
mov ebx, edx
xor bl, 1
or al, r9b
xor al, 1
or al, dl
xor dl, al
xor dl, 1
or al, bl
xor al, 1
or al, dl
mov ebx, eax
xor bl, 1
mov edx, ebx
and dl, al
xor bl, dl
xor dl, 1
or dl, al
xor dl, 1
or dl, bl
mov r14d, edx
xor r14b, 1
mov eax, ecx
xor al, 1
and dl, al
or al, r14b
xor al, 1
and r14b, cl
or r14b, dl
mov r8d, eax
and r8b, r14b
mov edx, dword [0x18002da94]
mov ebx, dword [0x18002da98]
lea ecx, [rdx - 1]
imul ecx, edx
mov esi, ecx
not esi
mov edi, ecx
or edi, 1
mov ebp, edi
not ebp
mov edx, esi
or edx, 0x6e84ad0
and edi, 0x6e84ad1
and ebp, 0xf917b52e
or ebp, edi
and edx, 0x6e84ad1
xor edx, ebp
and esi, 0x6b6fbd71
and ecx, 0x9490428e
or ecx, esi
mov ebp, ecx
xor ebp, 0x9490428e
xor ecx, 0x6b6fbd71
and ecx, edx
not edx
and ebp, edx
or ecx, ebp
xor edx, ecx
test edx, ecx
setne r13b
sete r15b
cmp ebx, 9
setg cl
cmp ebx, 0xa
setl r9b
mov edx, dword [0x18002da9c]
mov r11d, dword [0x18002daa0]
lea esi, [rdx - 1]
imul esi, edx
mov ebx, esi
not ebx
mov ebp, ebx
and ebp, 0x9ccac944
mov edx, esi
and edx, 0x633536bb
or edx, ebp
mov ebp, edx
not ebp
and ebp, 0x5fb04a29
and edx, 0xa04fb5d6
or edx, ebp
mov edi, edx
xor edi, 0xc813083
xor edx, 0xc37a836c
mov ebp, edx
and ebp, 0x7006ce58
and edi, 0x8ff931a7
or edi, ebp
and esi, 0x7006ce58
and ebx, 0x8ff931a7
or ebx, esi
xor ebx, edi
xor edx, ebx
and edx, ebx
mov dword [rsp + 0x10], edx
sete r10b
setne sil
cmp r11d, 0xa
setl bl
mov dword [rsp + 0x14], r11d
cmp r11d, 9
setg r11b
test r8b, 1
jne 0x18000f902
xor al, r14b
test al, 1
jne 0x18000f902
nop word [rax + rax]
jmp 0x18000f7f0
mov eax, dword [0x18002da9c]
mov r14d, dword [0x18002daa0]
lea ebx, [rax - 1]
imul ebx, eax
mov eax, ebx
not eax
mov ebp, eax
and ebp, 0xadba6684
mov edx, ebx
and edx, 0x5245997a
or edx, ebp
mov ebp, edx
xor ebp, 0x2059118
xor edx, 0xadba6685
mov ecx, ebx
xor ecx, 0xfffffffe
and ecx, ebx
mov edi, ecx
not edi
mov esi, edx
and esi, 0x71ea6a63
and ebp, 0x8e15959c
or ebp, esi
or edx, edi
and edi, 0x71ea6a63
and ecx, 0x8e15959c
or ecx, edi
xor ecx, ebp
not edx
or edx, ecx
mov ebp, edx
not ebp
mov ecx, ebp
and ecx, 0x68be0ad5
and edx, 0x9741f52a
or edx, ecx
and ebx, 0x68be0ad5
and eax, 0x9741f52a
or eax, ebx
xor eax, edx
xor ebp, eax
and ebp, eax
test ebp, ebp
sete r9b
cmp r14d, 9
setg cl
cmp r14d, 0xa
setl r8b
mov eax, r9d
xor al, r8b
mov edx, eax
xor dl, 1
mov r10d, edx
xor r10b, cl
and r10b, dl
xor cl, r9b
not cl
and cl, r9b
and al, r8b
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov ecx, r10d
xor cl, 1
mov edx, eax
xor dl, 1
and al, cl
or cl, dl
mov ebx, ecx
not bl
and bl, 1
and dl, r10b
or dl, al
xor eax, eax
cmp bl, dl
jne 0x18000fcef
xor dl, 1
or cl, dl
xor cl, 1
test cl, 1
jne 0x18000fcef
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x18000f900
mov qword [rsp + 0x28], r12
mov eax, r9d
xor al, r15b
or r13b, r9b
or r9b, r15b
xor r9b, 1
or r9b, al
or cl, r15b
mov eax, r13d
xor al, cl
or cl, r13b
xor cl, 1
or cl, al
mov r15d, ecx
xor r15b, 1
mov eax, ecx
and al, r15b
mov edx, eax
xor dl, 1
xor al, cl
or dl, r15b
xor dl, 1
or dl, al
xor dl, r9b
mov eax, r9d
and al, r15b
xor r15b, r9b
or r15b, al
mov eax, edx
xor al, r15b
or r15b, dl
xor r15b, 1
or r15b, al
mov eax, r11d
xor al, bl
and al, r11b
mov ecx, eax
xor cl, 1
and al, cl
xor al, 1
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, 1
and sil, cl
and al, r10b
or al, sil
mov ecx, r11d
xor cl, r10b
and cl, r11b
xor bl, r10b
xor cl, 1
xor bl, 1
mov edx, ecx
xor dl, bl
or bl, cl
xor bl, 1
or bl, dl
mov edx, ebx
xor dl, 1
and dl, bl
xor dl, 1
mov ecx, ebx
xor cl, dl
or dl, bl
xor dl, 1
or dl, cl
mov r8d, edx
xor r8b, 1
mov r10d, eax
xor r10b, 1
mov ebx, r10d
and bl, al
mov ecx, r8d
and cl, dl
mov r9d, r10d
and r9b, bl
xor bl, r10b
or bl, r9b
mov r9d, r8d
and r9b, cl
xor cl, r8b
or cl, r9b
mov r8d, ebx
xor r8b, 1
and r8b, cl
xor cl, 1
and cl, bl
or cl, r8b
mov ebx, eax
xor bl, dl
or dl, al
xor dl, 1
or dl, bl
xor dl, 1
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
mov byte [rsp + 6], dl
movabs r8, 0xb22029d5e9eb4a45
movabs rbp, 0x86bfed8e47232da2
movabs r14, 0x817cc82ecbcbb5f5
movabs r11, 0x549331b9da66517a
movabs rbx, 0x51657b187abc25fd
movabs r9, 0x333dfcd9af7160fa
movabs rdi, 0x2888a09c1ecd4799
movabs rdx, 0x1bf4e75f101be11b
movabs r12, 0x21b2e705579bb9d
mov rax, qword [rsp + 0x18]
lea rsi, [rax - 1]
mov rax, qword [rsp + 8]
mov byte [rsp + 7], r15b
mov qword [rsp + 0x20], rsi
mov rcx, rsi
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x18000fa90
test r15b, 1
je 0x18000fcc0
mov qword [rsp + 8], rax
sub rcx, rdi
add rcx, r9
sub rcx, rbp
add rcx, rdi
add rcx, rbp
add rcx, rdx
mov rdi, r8
sub rdi, rcx
add rdi, qword [rsp + 0x18]
mov rcx, r8
sub rcx, rdi
sub rcx, rbx
sub rcx, rdx
add rcx, rbx
lea rdi, [r11 + r9]
sub r11, rdi
add r11, rcx
je 0x18000fcd2
mov rax, qword [rsp + 8]
mov r9, qword [rax + 0x60]
xor r10d, r10d
mov r8, r11
nop word cs:[rax + rax]
nop
movzx edi, word [r9 + r10*2]
test edi, edi
setne cl
sete sil
mov rax, qword [rsp + 0x18]
movsx ebx, byte [rax + r10]
lea edx, [rdi - 0x41]
lea r15d, [rdi + 0x20]
cmp dx, 0x1a
cmovae r15d, edi
lea edx, [rbx - 0x41]
lea ebp, [rbx + 0x20]
cmp dl, 0x1a
cmovae ebp, ebx
sub r15d, ebp
setne dl
xor sil, dl
mov r13d, esi
xor r13b, 1
mov ebx, ecx
xor bl, dl
and bl, cl
or edi, r15d
sete al
and cl, dl
or cl, al
mov eax, ebx
xor al, 1
xor bl, cl
xor cl, 1
or cl, al
xor cl, 1
or cl, bl
mov eax, ecx
not al
and al, r13b
or r13b, cl
mov edx, r13d
not dl
and dl, 1
and cl, sil
or cl, al
cmp dl, cl
jne 0x18000fc30
xor cl, 1
or r13b, cl
xor r13b, 1
test r13b, 1
jne 0x18000fc30
movabs rax, 0xe29fa0e54e5f4cbc
mov rdx, rax
add rax, r14
mov rcx, r14
sub rcx, rax
movabs rax, 0x73cf226b83a53ad6
sub rcx, rax
sub rcx, r8
add rcx, rax
add rcx, rdx
movabs rax, 0x89e91b211693d604
mov rdx, rax
sub rcx, rax
movabs rax, 0x93a0dca2cced7991
sub rcx, rax
add rcx, rdx
add rcx, rax
movabs rax, 0xfaa04422942556e8
mov rdx, rax
movabs rax, 0xe70fd026821442e9
mov rbp, rax
add rax, rdx
sub rax, rcx
sub rax, rbp
sub rax, r12
sub rax, rdx
lea r8, [rax + r12]
add r8, 0xffffffffffffffff
add r10, 1
cmp r11, r10
jne 0x18000fb00
jmp 0x18000fcd2
test r15d, r15d
je 0x18000fcd2
test byte [rsp + 6], 1
je 0x18000fcd0
mov rax, qword [rsp + 8]
mov rax, qword [rax]
cmp rax, qword [rsp + 0x28]
mov r15b, byte [rsp + 7]
movabs rdx, 0xb22029d5e9eb4a45
mov r8, rdx
movabs rbp, 0x86bfed8e47232da2
movabs r11, 0x549331b9da66517a
movabs rbx, 0x51657b187abc25fd
movabs rsi, 0x333dfcd9af7160fa
mov r9, rsi
movabs rdi, 0x2888a09c1ecd4799
movabs rdx, 0x1bf4e75f101be11b
mov rsi, qword [rsp + 0x20]
jne 0x18000fa8c
mov r14d, dword [rsp + 0x14]
mov ebp, dword [rsp + 0x10]
jmp 0x18000f881
jmp 0x18000fcc0
jmp 0x18000fcd0
test byte [rsp + 6], 1
je 0x18000fdb0
mov rax, qword [rsp + 8]
mov rax, qword [rax + 0x30]
mov r14d, dword [rsp + 0x14]
mov ebp, dword [rsp + 0x10]
test ebp, ebp
sete r10b
setne r11b
cmp r14d, 9
setg cl
cmp r14d, 0xa
setl dl
mov r9d, edx
xor r9b, r11b
mov r8d, r9d
xor r8b, 1
mov ebx, edx
xor dl, r10b
and r10b, cl
and bl, r11b
or bl, r10b
or cl, r11b
xor cl, 1
or cl, dl
xor bl, 1
mov edx, ebx
xor dl, cl
or bl, cl
xor bl, 1
or bl, dl
mov ecx, ebx
xor cl, 1
and bl, cl
mov edx, ecx
and dl, bl
xor bl, cl
or bl, dl
mov r11d, ebx
xor r11b, 1
mov edx, r11d
and dl, bl
mov r10d, r11d
xor r10b, dl
xor dl, 1
or dl, bl
xor dl, 1
or dl, r10b
and r8b, dl
xor dl, 1
and dl, r9b
or dl, r8b
mov ebx, r9d
and bl, r11b
xor r11b, r9b
or r11b, bl
mov ecx, r11d
not cl
and cl, 1
cmp dl, cl
jne 0x18000fdb2
xor dl, 1
or dl, r11b
xor dl, 1
test dl, 1
jne 0x18000fdb2
nop word cs:[rax + rax]
jmp 0x18000fda0
jmp 0x18000fdb0
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret