Function at 0x2fc4cd420
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x94], 0x60
mov eax, dword [rsp + 0x94]
mov ecx, eax
mov rcx, qword gs:[rcx]
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0x18]
add rcx, 0x10
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x68]
je 0x2fc4cdfbd
xor eax, eax
mov ecx, dword [0x2fc4f7174]
mov edx, dword [0x2fc4f7180]
sub eax, 0xcef4f02c
mov r8d, ecx
add r8d, eax
sub r8d, 0x69494198
sub r8d, 1
add r8d, 0x69494198
add r8d, 0x8441b47a
add r8d, 0xcef4f02c
sub r8d, 0x8441b47a
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
xor r11b, 0xff
mov bl, r10b
xor bl, 0xff
mov sil, 1
xor sil, 1
or r11b, bl
or sil, 1
xor r11b, 0xff
and r11b, sil
mov bl, r9b
xor bl, 0xff
mov sil, r10b
and sil, bl
xor r10b, 0xff
and r9b, r10b
or sil, r9b
mov r9b, r11b
and r9b, sil
xor r11b, sil
or r9b, r11b
test r9b, 1
jne 0x2fc4cd53f
jmp 0x2fc4ce187
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rcx
mov rcx, rax
mov qword [rsp + 0x48], rdx
call sym.StrLen
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r8, rax
call sym.W2Anicmp
xor r9d, r9d
cmp eax, 0
sete r10b
mov eax, dword [0x2fc4f7174]
mov r11d, dword [0x2fc4f7180]
sub r9d, 0xfcfc37f9
mov esi, eax
sub esi, r9d
sub esi, 0x519d8df4
sub esi, 1
add esi, 0x519d8df4
add esi, 0xd3603767
sub esi, 0xfcfc37f9
sub esi, 0xd3603767
imul eax, esi
and eax, 1
cmp eax, 0
sete bl
cmp r11d, 0xa
setl dil
mov bpl, bl
xor bpl, 0xff
and bpl, 1
mov r14b, 1
mov r15b, r14b
xor r15b, 1
mov r12b, bl
and r12b, r15b
mov r13b, r14b
xor r13b, 1
and r13b, 0xff
and r15b, 1
or bpl, r12b
or r13b, r15b
xor bpl, r13b
mov r15b, dil
xor r15b, 0xff
and r15b, 1
mov r12b, r14b
xor r12b, 1
mov r13b, dil
and r13b, r12b
mov al, r14b
xor al, 1
and al, 0xff
and r12b, 1
or r15b, r13b
or al, r12b
xor r15b, al
mov al, r14b
xor al, 1
and al, 1
mov r12b, r14b
xor r12b, 1
and r12b, 1
or al, r12b
mov r12b, bpl
xor r12b, 0xff
mov r13b, r14b
xor r13b, 1
mov cl, r14b
xor cl, 0
or r12b, r13b
or cl, 0
xor r12b, 0xff
and r12b, cl
mov cl, al
xor cl, 0xff
mov r13b, bl
xor r13b, cl
and r13b, bl
mov cl, r14b
xor cl, 1
mov bl, r15b
xor bl, cl
and bl, r15b
xor dil, 0xff
mov cl, al
xor cl, 0xff
mov dl, r14b
xor dl, 1
or dil, cl
or dl, 1
xor dil, 0xff
and dil, dl
mov cl, r12b
and cl, r13b
xor r12b, r13b
or cl, r12b
mov dl, bl
and dl, dil
xor bl, dil
or dl, bl
mov bl, cl
xor bl, 0xff
mov dil, dl
and dil, bl
xor dl, 0xff
and cl, dl
or dil, cl
mov cl, bpl
xor cl, 0xff
mov dl, r15b
xor dl, 0xff
mov bl, r14b
xor bl, 1
mov r12b, cl
and r12b, 0xff
and bpl, bl
mov r13b, dl
and r13b, 0xff
and r15b, bl
or r12b, bpl
or r13b, r15b
xor r12b, r13b
or cl, dl
xor cl, 0xff
or bl, 1
and cl, bl
or r12b, cl
mov cl, r12b
xor cl, 0xff
and cl, 1
mov dl, r14b
xor dl, 1
and r12b, dl
mov bl, r14b
xor bl, 1
and bl, 0xff
and dl, 1
or cl, r12b
or bl, dl
xor cl, bl
mov dl, r14b
xor dl, 1
mov bl, al
xor bl, 0xff
mov bpl, r14b
xor bpl, 1
mov r15b, dl
and r15b, 0xff
mov r12b, bpl
and r12b, 1
mov r13b, bl
and r13b, 0xff
and al, bpl
or r15b, r12b
or r13b, al
xor r15b, r13b
or dl, bl
xor dl, 0xff
or bpl, 1
and dl, bpl
or r15b, dl
xor r15b, 0xff
mov al, cl
xor al, r15b
and al, cl
mov cl, dil
xor cl, 0xff
mov dl, al
xor dl, 0xff
xor r14b, 0
mov bl, cl
and bl, 0
and dil, r14b
mov bpl, dl
and bpl, 0
and al, r14b
or bl, dil
or bpl, al
xor bl, bpl
or cl, dl
xor cl, 0xff
or r14b, 0
and cl, r14b
or bl, cl
test bl, 1
mov byte [rsp + 0x47], r10b
jne 0x2fc4cd7c7
jmp 0x2fc4ce187
mov al, byte [rsp + 0x47]
test al, 1
jne 0x2fc4cd7d8
jmp 0x2fc4cdfab
xor eax, eax
mov ecx, dword [0x2fc4f7174]
mov edx, dword [0x2fc4f7180]
mov r8d, eax
sub r8d, 0xb2ac7ca2
mov r9d, ecx
sub r9d, r8d
sub eax, 1
add r9d, eax
sub r9d, 0xccedd093
sub r9d, 0xb2ac7ca2
add r9d, 0xccedd093
imul ecx, r9d
and ecx, 1
cmp ecx, 0
sete r10b
cmp edx, 0xa
setl r11b
mov bl, r10b
xor bl, 0xff
and bl, 1
mov sil, 1
mov dil, sil
xor dil, 1
mov bpl, r10b
and bpl, dil
mov r14b, sil
xor r14b, 1
and r14b, 0xff
and dil, 1
or bl, bpl
or r14b, dil
xor bl, r14b
mov dil, r11b
xor dil, 0xff
and dil, 0
mov bpl, sil
xor bpl, 0
mov r14b, r11b
and r14b, bpl
mov r15b, sil
xor r15b, 1
and r15b, 0
and bpl, 1
or dil, r14b
or r15b, bpl
xor dil, r15b
mov bpl, sil
xor bpl, 1
and bpl, 1
mov r14b, sil
xor r14b, 1
and r14b, 1
or bpl, r14b
mov r14b, bl
xor r14b, 0xff
mov r15b, sil
xor r15b, 1
mov r12b, sil
xor r12b, 0
or r14b, r15b
or r12b, 0
xor r14b, 0xff
and r14b, r12b
mov r15b, bpl
xor r15b, 0xff
mov r12b, r10b
xor r12b, r15b
and r12b, r10b
mov r10b, sil
xor r10b, 1
mov r15b, dil
xor r15b, r10b
and r15b, dil
xor r11b, 0xff
mov r10b, bpl
xor r10b, 0xff
mov r13b, sil
xor r13b, 1
or r11b, r10b
or r13b, 1
xor r11b, 0xff
and r11b, r13b
mov r10b, r14b
xor r10b, 0xff
mov r13b, r12b
xor r13b, 0xff
mov al, sil
xor al, 1
mov cl, r10b
and cl, 0xff
and r14b, al
mov dl, r13b
and dl, 0xff
and r12b, al
or cl, r14b
or dl, r12b
xor cl, dl
or r10b, r13b
xor r10b, 0xff
or al, 1
and r10b, al
or cl, r10b
mov al, r15b
xor al, 0xff
mov dl, r11b
xor dl, 0xff
mov r10b, sil
xor r10b, 0
mov r14b, al
and r14b, 0
and r15b, r10b
mov r12b, dl
and r12b, 0
and r11b, r10b
or r14b, r15b
or r12b, r11b
xor r14b, r12b
or al, dl
xor al, 0xff
or r10b, 0
and al, r10b
or r14b, al
mov al, cl
xor al, 0xff
mov dl, r14b
and dl, al
xor r14b, 0xff
and cl, r14b
or dl, cl
mov al, bl
xor al, 0xff
mov cl, dil
xor cl, 0xff
mov r10b, sil
xor r10b, 0
mov r11b, al
and r11b, 0
and bl, r10b
mov r14b, cl
and r14b, 0
and dil, r10b
or r11b, bl
or r14b, dil
xor r11b, r14b
or al, cl
xor al, 0xff
or r10b, 0
and al, r10b
or r11b, al
mov al, r11b
xor al, 0xff
and al, 0
mov cl, sil
xor cl, 0
and r11b, cl
mov r10b, sil
xor r10b, 1
and r10b, 0
and cl, 1
or al, r11b
or r10b, cl
xor al, r10b
mov cl, bpl
and cl, 1
xor bpl, 1
or cl, bpl
xor al, 0xff
xor cl, 0xff
xor sil, 0
or al, cl
or sil, 0
xor al, 0xff
and al, sil
mov cl, dl
and cl, al
xor dl, al
or cl, dl
test cl, 1
jne 0x2fc4cda28
jmp 0x2fc4ce1cd
xor eax, eax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x80], rcx
mov edx, dword [0x2fc4f7174]
mov r8d, dword [0x2fc4f7180]
mov r9d, eax
sub r9d, 0x15b4864d
mov r10d, edx
sub r10d, r9d
sub eax, 1
add r10d, eax
add r10d, 0xcf331345
sub r10d, 0x15b4864d
sub r10d, 0xcf331345
imul edx, r10d
and edx, 1
cmp edx, 0
sete r11b
cmp r8d, 0xa
setl bl
mov sil, r11b
xor sil, 0xff
and sil, 1
mov dil, 1
mov bpl, dil
xor bpl, 1
mov r14b, r11b
and r14b, bpl
or sil, r14b
mov bpl, bl
xor bpl, 0xff
and bpl, 1
mov r14b, dil
xor r14b, 1
mov r15b, bl
and r15b, r14b
or bpl, r15b
mov r14b, dil
xor r14b, 1
and r14b, 1
mov r15b, dil
xor r15b, 1
and r15b, 1
or r14b, r15b
mov r15b, sil
xor r15b, 0xff
mov r12b, dil
xor r12b, 1
mov r13b, dil
xor r13b, 1
or r15b, r12b
or r13b, 1
xor r15b, 0xff
and r15b, r13b
xor r11b, 0xff
mov r12b, r14b
xor r12b, 0xff
mov r13b, dil
xor r13b, 1
or r11b, r12b
or r13b, 1
xor r11b, 0xff
and r11b, r13b
mov r12b, dil
xor r12b, 1
mov r13b, bpl
xor r13b, r12b
and r13b, bpl
xor bl, 0xff
mov r12b, r14b
xor r12b, 0xff
mov al, dil
xor al, 1
or bl, r12b
or al, 1
xor bl, 0xff
and bl, al
mov al, r15b
and al, r11b
xor r15b, r11b
or al, r15b
mov r11b, r13b
xor r11b, 0xff
mov r15b, bl
xor r15b, 0xff
mov r12b, dil
xor r12b, 0
mov cl, r11b
and cl, 0
and r13b, r12b
mov dl, r15b
and dl, 0
and bl, r12b
or cl, r13b
or dl, bl
xor cl, dl
or r11b, r15b
xor r11b, 0xff
or r12b, 0
and r11b, r12b
or cl, r11b
mov dl, al
xor dl, 0xff
and dl, 1
mov r11b, dil
xor r11b, 1
and al, r11b
mov bl, cl
xor bl, 0xff
and bl, 0xff
and cl, r11b
or dl, al
or bl, cl
xor dl, bl
mov al, sil
xor al, 0xff
mov cl, bpl
xor cl, 0xff
mov r11b, dil
xor r11b, 1
mov bl, al
and bl, 0xff
and sil, r11b
mov r15b, cl
and r15b, 0xff
and bpl, r11b
or bl, sil
or r15b, bpl
xor bl, r15b
or al, cl
xor al, 0xff
or r11b, 1
and al, r11b
or bl, al
mov al, bl
xor al, 0xff
and al, 1
mov cl, dil
xor cl, 1
and bl, cl
or al, bl
mov cl, dil
xor cl, 1
mov r11b, r14b
xor r11b, 0xff
mov bl, dil
xor bl, 0
mov sil, cl
and sil, 0
mov bpl, bl
and bpl, 1
mov r15b, r11b
and r15b, 0
and r14b, bl
or sil, bpl
or r15b, r14b
xor sil, r15b
or cl, r11b
xor cl, 0xff
or bl, 0
and cl, bl
or sil, cl
xor al, 0xff
xor sil, 0xff
mov cl, dil
xor cl, 0
or al, sil
or cl, 0
xor al, 0xff
and al, cl
mov cl, dl
xor cl, 0xff
mov r11b, al
xor r11b, 0xff
xor dil, 0
mov bl, cl
and bl, 0
and dl, dil
mov sil, r11b
and sil, 0
and al, dil
or bl, dl
or sil, al
xor bl, sil
or cl, r11b
xor cl, 0xff
or dil, 0
and cl, dil
or bl, cl
test bl, 1
jne 0x2fc4cdc9d
jmp 0x2fc4ce1cd
xor eax, eax
mov ecx, dword [0x2fc4f7174]
mov edx, dword [0x2fc4f7180]
mov r8d, ecx
add r8d, 0xc04254c5
sub r8d, 0x8684d03c
sub r8d, 0xc04254c5
sub eax, 1
add r8d, eax
sub r8d, 0xd68d36bf
add r8d, 0x8684d03c
add r8d, 0xd68d36bf
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r10b
xor r11b, 0xff
mov bl, r9b
xor bl, r11b
and bl, r9b
mov r11b, r9b
xor r11b, 0xff
and r11b, 1
mov sil, 1
xor sil, 1
and r9b, sil
mov dil, r10b
xor dil, 0xff
and dil, 0xff
and r10b, sil
or r11b, r9b
or dil, r10b
xor r11b, dil
mov r9b, bl
and r9b, r11b
xor bl, r11b
or r9b, bl
test r9b, 1
jne 0x2fc4cdd4a
jmp 0x2fc4ce1e3
mov eax, dword [0x2fc4f7174]
mov ecx, dword [0x2fc4f7180]
mov edx, eax
add edx, 0x166c2ffa
add edx, 0x906e73d0
sub edx, 0x166c2ffa
sub edx, 0xeb856833
sub edx, 1
add edx, 0xeb856833
sub edx, 0x59ab8dca
sub edx, 0x906e73d0
add edx, 0x59ab8dca
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
and r10b, 0
mov r11b, 1
mov bl, r11b
xor bl, 0
mov sil, r8b
and sil, bl
mov dil, r11b
xor dil, 1
and dil, 0
and bl, 1
or r10b, sil
or dil, bl
xor r10b, dil
mov bl, r9b
xor bl, 0xff
and bl, 0
mov sil, r11b
xor sil, 0
mov dil, r9b
and dil, sil
mov bpl, r11b
xor bpl, 1
and bpl, 0
and sil, 1
or bl, dil
or bpl, sil
xor bl, bpl
mov sil, r11b
xor sil, 0
and sil, 1
mov dil, r11b
xor dil, 1
and dil, 0
or sil, dil
mov dil, r11b
xor dil, 0
mov bpl, r10b
xor bpl, dil
and bpl, r10b
xor r8b, 0xff
mov dil, sil
xor dil, 0xff
mov r14b, r11b
xor r14b, 0
or r8b, dil
or r14b, 0
xor r8b, 0xff
and r8b, r14b
mov dil, bl
xor dil, 0xff
mov r14b, r11b
xor r14b, 0
mov r15b, r11b
xor r15b, 0
or dil, r14b
or r15b, 0
xor dil, 0xff
and dil, r15b
xor r9b, 0xff
mov r14b, sil
xor r14b, 0xff
mov r15b, r11b
xor r15b, 0
or r9b, r14b
or r15b, 0
xor r9b, 0xff
and r9b, r15b
mov r14b, bpl
and r14b, r8b
xor bpl, r8b
or r14b, bpl
mov r8b, dil
and r8b, r9b
xor dil, r9b
or r8b, dil
mov r9b, r14b
xor r9b, 0xff
and r9b, 1
mov dil, r11b
xor dil, 1
and r14b, dil
mov bpl, r8b
xor bpl, 0xff
and bpl, 0xff
and r8b, dil
or r9b, r14b
or bpl, r8b
xor r9b, bpl
mov r8b, r10b
xor r8b, 0xff
mov dil, bl
xor dil, 0xff
mov bpl, r11b
xor bpl, 1
mov r14b, r8b
and r14b, 0xff
and r10b, bpl
mov r15b, dil
and r15b, 0xff
and bl, bpl
or r14b, r10b
or r15b, bl
xor r14b, r15b
or r8b, dil
xor r8b, 0xff
or bpl, 1
and r8b, bpl
or r14b, r8b
mov r8b, r14b
xor r8b, 0xff
and r8b, 0
mov r10b, r11b
xor r10b, 0
and r14b, r10b
mov bl, r11b
xor bl, 1
and bl, 0
and r10b, 1
or r8b, r14b
or bl, r10b
xor r8b, bl
mov r10b, sil
and r10b, 0
xor sil, 0
or r10b, sil
xor r10b, 0xff
mov bl, r8b
xor bl, r10b
and bl, r8b
mov r8b, r9b
xor r8b, 0xff
mov r10b, bl
xor r10b, 0xff
xor r11b, 1
mov sil, r8b
and sil, 0xff
and r9b, r11b
mov dil, r10b
and dil, 0xff
and bl, r11b
or sil, r9b
or dil, bl
xor sil, dil
or r8b, r10b
xor r8b, 0xff
or r11b, 1
and r8b, r11b
or sil, r8b
test sil, 1
jne 0x2fc4cdfa6
jmp 0x2fc4ce1e3
jmp 0x2fc4cdfc9
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
jmp 0x2fc4cd487
mov qword [rsp + 0x80], 0
xor eax, eax
mov ecx, dword [0x2fc4f7174]
mov edx, dword [0x2fc4f7180]
mov r8d, eax
sub r8d, 0xae64574f
mov r9d, ecx
sub r9d, r8d
add r9d, 0x3ee91bd
sub r9d, 1
sub r9d, 0x3ee91bd
sub eax, 0xae64574f
add r9d, eax
imul ecx, r9d
and ecx, 1
cmp ecx, 0
sete r10b
cmp edx, 0xa
setl r11b
mov bl, r11b
xor bl, 0xff
mov sil, r10b
xor sil, bl
and sil, r10b
mov bl, r10b
xor bl, 0xff
and bl, 1
mov dil, 1
xor dil, 1
and r10b, dil
mov bpl, r11b
xor bpl, 0xff
and bpl, 0xff
and r11b, dil
or bl, r10b
or bpl, r11b
xor bl, bpl
mov r10b, sil
and r10b, bl
xor sil, bl
or r10b, sil
test r10b, 1
jne 0x2fc4ce06a
jmp 0x2fc4ce1e8
xor eax, eax
mov rcx, qword [rsp + 0x80]
mov edx, dword [0x2fc4f7174]
mov r8d, dword [0x2fc4f7180]
mov r9d, edx
sub r9d, 0xa465acfc
sub r9d, 0x8fc7d7d1
add r9d, 0xa465acfc
sub eax, 1
add r9d, eax
add r9d, 0x16b7f2f3
add r9d, 0x8fc7d7d1
sub r9d, 0x16b7f2f3
imul edx, r9d
and edx, 1
cmp edx, 0
sete r10b
cmp r8d, 0xa
setl r11b
mov bl, r10b
xor bl, 0xff
mov sil, r11b
xor sil, 0xff
mov dil, 1
mov bpl, dil
xor bpl, 0
or bl, sil
or bpl, 0
xor bl, 0xff
and bl, bpl
mov sil, r10b
xor sil, 0xff
and sil, 0
mov bpl, dil
xor bpl, 0
and r10b, bpl
mov r14b, r11b
xor r14b, 0xff
and r14b, 0
and r11b, bpl
or sil, r10b
or r14b, r11b
xor sil, r14b
mov r10b, bl
xor r10b, 0xff
mov r11b, sil
xor r11b, 0xff
xor dil, 0
mov bpl, r10b
and bpl, 0
and bl, dil
mov r14b, r11b
and r14b, 0
and sil, dil
or bpl, bl
or r14b, sil
xor bpl, r14b
or r10b, r11b
xor r10b, 0xff
or dil, 0
and r10b, dil
or bpl, r10b
test bpl, 1
mov qword [rsp + 0x38], rcx
jne 0x2fc4ce16e
jmp 0x2fc4ce1e8
mov rax, qword [rsp + 0x38]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x30], rcx
mov rcx, rax
mov qword [rsp + 0x28], rdx
call sym.StrLen
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov r8, rax
call sym.W2Anicmp
jmp 0x2fc4cd53f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x80], rax
jmp 0x2fc4cda28
jmp 0x2fc4cdd4a
jmp 0x2fc4ce06a