Function at 0x6d7c8690
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 0x6d7c8a7a
mov eax, dword [sym.out.dll_x.7]
mov ecx, dword [sym.out.dll_y.8]
mov edx, eax
sub edx, 0xe156e055
add edx, 0xd8de0576
add edx, 0xe156e055
add edx, 0x9649ddf4
sub edx, 1
sub edx, 0x9649ddf4
sub edx, 0x4534cd31
sub edx, 0xd8de0576
add edx, 0x4534cd31
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 0
or r10b, r11b
or bl, 0
xor r10b, 0xff
and r10b, bl
mov r11b, r8b
xor r11b, 0xff
mov bl, r9b
and bl, r11b
xor r9b, 0xff
and r8b, r9b
or bl, r8b
mov r8b, r10b
and r8b, bl
xor r10b, bl
or r8b, r10b
test r8b, 1
jne 0x6d7c87ae
jmp 0x6d7c8aa2
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.out.dll_StrLen
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov r8, rax
call sym.out.dll_W2Anicmp
xor r9d, r9d
cmp eax, 0
sete r10b
mov eax, dword [sym.out.dll_x.7]
mov r11d, dword [sym.out.dll_y.8]
mov esi, eax
add esi, 0xee2b56ab
sub esi, 0x2821d56e
sub esi, 0xee2b56ab
sub esi, 0xc380257a
sub esi, 1
add esi, 0xc380257a
mov edi, r9d
sub edi, esi
mov esi, r9d
sub esi, 0x2821d56e
add edi, esi
sub r9d, edi
imul eax, r9d
and eax, 1
cmp eax, 0
sete bl
cmp r11d, 0xa
setl bpl
mov r14b, bl
xor r14b, 0xff
and r14b, 1
mov r15b, 1
mov r12b, r15b
xor r12b, 1
mov r13b, bl
and r13b, r12b
mov al, r15b
xor al, 1
and al, 0xff
and r12b, 1
or r14b, r13b
or al, r12b
xor r14b, al
mov al, bpl
xor al, 0xff
and al, 0
mov r12b, r15b
xor r12b, 0
mov r13b, bpl
and r13b, r12b
mov cl, r15b
xor cl, 1
and cl, 0
and r12b, 1
or al, r13b
or cl, r12b
xor al, cl
mov cl, r15b
xor cl, 1
and cl, 0
mov r12b, r15b
xor r12b, 0
mov r13b, r12b
and r13b, 1
mov dl, r15b
xor dl, 1
and dl, 0
and r12b, 1
or cl, r13b
or dl, r12b
xor cl, dl
mov dl, r15b
xor dl, 1
mov r12b, r14b
xor r12b, dl
and r12b, r14b
xor bl, 0xff
mov dl, cl
xor dl, 0xff
mov r13b, r15b
xor r13b, 1
or bl, dl
or r13b, 1
xor bl, 0xff
and bl, r13b
mov dl, r15b
xor dl, 1
mov r13b, al
xor r13b, dl
and r13b, al
mov dl, cl
xor dl, 0xff
mov r8b, bpl
xor r8b, dl
and r8b, bpl
mov dl, r12b
and dl, bl
xor r12b, bl
or dl, r12b
mov bl, r13b
xor bl, 0xff
mov bpl, r8b
xor bpl, 0xff
mov r12b, r15b
xor r12b, 1
mov r9b, bl
and r9b, 0xff
and r13b, r12b
mov r11b, bpl
and r11b, 0xff
and r8b, r12b
or r9b, r13b
or r11b, r8b
xor r9b, r11b
or bl, bpl
xor bl, 0xff
or r12b, 1
and bl, r12b
or r9b, bl
mov r8b, dl
xor r8b, 0xff
mov r11b, r9b
and r11b, r8b
xor r9b, 0xff
and dl, r9b
or r11b, dl
mov dl, r14b
xor dl, 0xff
mov r8b, al
xor r8b, 0xff
mov r9b, r15b
xor r9b, 1
mov bl, dl
and bl, 0xff
and r14b, r9b
mov bpl, r8b
and bpl, 0xff
and al, r9b
or bl, r14b
or bpl, al
xor bl, bpl
or dl, r8b
xor dl, 0xff
or r9b, 1
and dl, r9b
or bl, dl
mov al, bl
xor al, 0xff
and al, 0
mov dl, r15b
xor dl, 0
and bl, dl
mov r8b, r15b
xor r8b, 1
and r8b, 0
and dl, 1
or al, bl
or r8b, dl
xor al, r8b
mov dl, cl
and dl, 1
xor cl, 1
or dl, cl
xor dl, 0xff
mov cl, al
xor cl, dl
and cl, al
mov al, r11b
xor al, 0xff
mov dl, cl
xor dl, 0xff
xor r15b, 0
mov r8b, al
and r8b, 0
and r11b, r15b
mov r9b, dl
and r9b, 0
and cl, r15b
or r8b, r11b
or r9b, cl
xor r8b, r9b
or al, dl
xor al, 0xff
or r15b, 0
and al, r15b
or r8b, al
test r8b, 1
mov byte [rsp + 0x47], r10b
jne 0x6d7c8a41
jmp 0x6d7c8aa2
mov al, byte [rsp + 0x47]
test al, 1
jne 0x6d7c8a52
jmp 0x6d7c8a68
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x80], rax
jmp 0x6d7c8a86
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
jmp 0x6d7c86f7
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [sym.out.dll_x.7]
mov ecx, dword [sym.out.dll_y.8]
mov edx, eax
add edx, 0x8c488c8f
add edx, 0xd509f09a
sub edx, 0x8c488c8f
sub edx, 0x9985964b
sub edx, 1
add edx, 0x9985964b
sub edx, 0x547c85b3
sub edx, 0xd509f09a
add edx, 0x547c85b3
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
mov sil, bl
xor sil, 1
or r10b, r11b
or sil, 1
xor r10b, 0xff
and r10b, sil
mov r11b, r8b
xor r11b, 0xff
and r11b, 1
xor bl, 1
and r8b, bl
mov sil, r9b
xor sil, 0xff
and sil, 0xff
and r9b, bl
or r11b, r8b
or sil, r9b
xor r11b, sil
mov r8b, r10b
and r8b, r11b
xor r10b, r11b
or r8b, r10b
test r8b, 1
jne 0x6d7c8b5f
jmp 0x6d7c8dcd
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 + 0x38], rcx
mov rcx, rax
mov qword [rsp + 0x30], rdx
call sym.out.dll_StrLen
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov r8, rax
call sym.out.dll_W2Anicmp
xor r9d, r9d
mov r10d, dword [sym.out.dll_x.7]
mov r11d, dword [sym.out.dll_y.8]
mov esi, r9d
sub esi, 0x1783308d
mov edi, r10d
add edi, esi
sub edi, 0x34aab13
sub edi, 1
add edi, 0x34aab13
sub r9d, 0x1783308d
sub edi, r9d
imul r10d, edi
and r10d, 1
cmp r10d, 0
sete bl
cmp r11d, 0xa
setl bpl
mov r14b, bl
xor r14b, 0xff
and r14b, 1
mov r15b, 1
mov r12b, r15b
xor r12b, 1
mov r13b, bl
and r13b, r12b
or r14b, r13b
mov r12b, bpl
xor r12b, 0xff
and r12b, 1
mov r13b, r15b
xor r13b, 1
mov cl, bpl
and cl, r13b
or r12b, cl
mov cl, r15b
xor cl, 0
and cl, 1
mov r13b, r15b
xor r13b, 1
and r13b, 0
or cl, r13b
mov r13b, r14b
xor r13b, 0xff
mov dl, r15b
xor dl, 0
mov r8b, r15b
xor r8b, 0
or r13b, dl
or r8b, 0
xor r13b, 0xff
and r13b, r8b
mov dl, cl
xor dl, 0xff
mov r8b, bl
xor r8b, dl
and r8b, bl
mov dl, r12b
xor dl, 0xff
mov bl, r15b
xor bl, 0
mov r9b, r15b
xor r9b, 1
or dl, bl
or r9b, 1
xor dl, 0xff
and dl, r9b
xor bpl, 0xff
mov r9b, cl
xor r9b, 0xff
mov bl, r15b
xor bl, 0
or bpl, r9b
or bl, 0
xor bpl, 0xff
and bpl, bl
mov r9b, r13b
and r9b, r8b
xor r13b, r8b
or r9b, r13b
mov r8b, dl
and r8b, bpl
xor dl, bpl
or r8b, dl
mov dl, r9b
xor dl, 0xff
and dl, 0
mov bl, r15b
xor bl, 0
and r9b, bl
mov bpl, r8b
xor bpl, 0xff
and bpl, 0
and r8b, bl
or dl, r9b
or bpl, r8b
xor dl, bpl
mov r8b, r14b
xor r8b, 0xff
mov r9b, r12b
xor r9b, 0xff
mov bl, r15b
xor bl, 1
mov bpl, r8b
and bpl, 0xff
and r14b, bl
mov r13b, r9b
and r13b, 0xff
and r12b, bl
or bpl, r14b
or r13b, r12b
xor bpl, r13b
or r8b, r9b
xor r8b, 0xff
or bl, 1
and r8b, bl
or bpl, r8b
mov r8b, bpl
xor r8b, 0xff
and r8b, 1
mov r9b, r15b
xor r9b, 1
and bpl, r9b
mov bl, r15b
xor bl, 1
and bl, 0xff
and r9b, 1
or r8b, bpl
or bl, r9b
xor r8b, bl
mov r9b, cl
and r9b, 0
xor cl, 0
or r9b, cl
xor r8b, 0xff
xor r9b, 0xff
mov cl, r15b
xor cl, 0
or r8b, r9b
or cl, 0
xor r8b, 0xff
and r8b, cl
mov cl, dl
xor cl, 0xff
mov r9b, r8b
xor r9b, 0xff
xor r15b, 1
mov bl, cl
and bl, 0xff
and dl, r15b
mov bpl, r9b
and bpl, 0xff
and r8b, r15b
or bl, dl
or bpl, r8b
xor bl, bpl
or cl, r9b
xor cl, 0xff
or r15b, 1
and cl, r15b
or bl, cl
test bl, 1
jne 0x6d7c8dc8
jmp 0x6d7c8dcd
jmp 0x6d7c87ae
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 + 0x28], rcx
mov rcx, rax
mov qword [rsp + 0x20], rdx
call sym.out.dll_StrLen
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov r8, rax
call sym.out.dll_W2Anicmp
jmp 0x6d7c8b5f