Function at 0x6d7c5d60
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x84], 0x60
mov eax, dword [rsp + 0x84]
mov ecx, eax
mov rcx, qword gs:[rcx]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x18]
add rcx, 0x10
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsp + 0x58]
je 0x6d7c63f5
xor eax, eax
mov ecx, dword [sym.out.dll_x.7]
mov edx, dword [sym.out.dll_y.8]
mov r8d, eax
sub r8d, ecx
mov r9d, eax
sub r9d, 0x34d64689
add r8d, r9d
mov r9d, eax
sub r9d, r8d
mov r8d, eax
sub r8d, 1
add r9d, r8d
sub eax, 0x34d64689
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, 0
mov dil, 1
xor dil, 0
and r10b, dil
mov bpl, r11b
xor bpl, 0xff
and bpl, 0
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 0x6d7c5e73
jmp 0x6d7c6417
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rcx
mov rcx, rax
mov qword [rsp + 0x38], rdx
call sym.out.dll_StrLen
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
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, r9d
sub esi, 0xd9194407
sub esi, 1
add esi, 0xd9194407
sub r9d, esi
mov esi, eax
sub esi, r9d
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, 1
or r12b, r13b
or cl, 1
xor r12b, 0xff
and r12b, cl
xor bl, 0xff
mov cl, al
xor cl, 0xff
mov r13b, r14b
xor r13b, 0
or bl, cl
or r13b, 0
xor bl, 0xff
and bl, r13b
mov cl, r14b
xor cl, 1
mov r13b, r15b
xor r13b, cl
and r13b, 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, bl
xor r12b, bl
or cl, r12b
mov dl, r13b
xor dl, 0xff
mov bl, dil
xor bl, 0xff
mov r12b, r14b
xor r12b, 1
mov r8b, dl
and r8b, 0xff
and r13b, r12b
mov r9b, bl
and r9b, 0xff
and dil, r12b
or r8b, r13b
or r9b, dil
xor r8b, r9b
or dl, bl
xor dl, 0xff
or r12b, 1
and dl, r12b
or r8b, dl
mov dl, cl
xor dl, 0xff
and dl, 0
mov r9b, r14b
xor r9b, 0
and cl, r9b
mov bl, r8b
xor bl, 0xff
and bl, 0
and r8b, r9b
or dl, cl
or bl, r8b
xor dl, bl
mov cl, bpl
and cl, r15b
xor bpl, r15b
or cl, bpl
mov r8b, cl
xor r8b, 0xff
and r8b, 0
mov r9b, r14b
xor r9b, 0
and cl, r9b
mov bl, r14b
xor bl, 1
and bl, 0
and r9b, 1
or r8b, cl
or bl, r9b
xor r8b, bl
mov cl, r14b
xor cl, 1
mov r9b, al
xor r9b, 0xff
xor r14b, 1
mov bl, cl
and bl, 0xff
mov dil, r14b
and dil, 1
mov bpl, r9b
and bpl, 0xff
and al, r14b
or bl, dil
or bpl, al
xor bl, bpl
or cl, r9b
xor cl, 0xff
or r14b, 1
and cl, r14b
or bl, cl
xor bl, 0xff
mov al, r8b
xor al, bl
and al, r8b
mov cl, dl
and cl, al
xor dl, al
or cl, dl
test cl, 1
mov byte [rsp + 0x37], r10b
jne 0x6d7c60df
jmp 0x6d7c6417
mov al, byte [rsp + 0x37]
test al, 1
jne 0x6d7c60f0
jmp 0x6d7c6103
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x70], rax
jmp 0x6d7c63fe
xor eax, eax
mov ecx, dword [sym.out.dll_x.7]
mov edx, dword [sym.out.dll_y.8]
mov r8d, ecx
add r8d, 0x40c55e49
sub r8d, 0x122202c7
sub r8d, 0x40c55e49
sub eax, 1
add r8d, eax
sub r8d, 0xca6856c2
add r8d, 0x122202c7
add r8d, 0xca6856c2
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
xor r11b, 0xff
and r11b, 1
mov bl, 1
mov sil, bl
xor sil, 1
mov dil, r9b
and dil, sil
mov bpl, bl
xor bpl, 1
and bpl, 0xff
and sil, 1
or r11b, dil
or bpl, sil
xor r11b, bpl
mov sil, r10b
xor sil, 0xff
and sil, 1
mov dil, bl
xor dil, 1
mov bpl, r10b
and bpl, dil
mov r14b, bl
xor r14b, 1
and r14b, 0xff
and dil, 1
or sil, bpl
or r14b, dil
xor sil, r14b
mov dil, bl
xor dil, 1
and dil, 1
mov bpl, bl
xor bpl, 1
and bpl, 1
or dil, bpl
mov bpl, r11b
xor bpl, 0xff
mov r14b, bl
xor r14b, 1
mov r15b, bl
xor r15b, 0
or bpl, r14b
or r15b, 0
xor bpl, 0xff
and bpl, r15b
mov r14b, dil
xor r14b, 0xff
mov r15b, r9b
xor r15b, r14b
and r15b, r9b
mov r9b, sil
xor r9b, 0xff
mov r14b, bl
xor r14b, 1
mov r12b, bl
xor r12b, 1
or r9b, r14b
or r12b, 1
xor r9b, 0xff
and r9b, r12b
mov r14b, dil
xor r14b, 0xff
mov r12b, r10b
xor r12b, r14b
and r12b, r10b
mov r10b, bpl
and r10b, r15b
xor bpl, r15b
or r10b, bpl
mov bpl, r9b
and bpl, r12b
xor r9b, r12b
or bpl, r9b
mov r9b, r10b
xor r9b, 0xff
and r9b, 0
mov r14b, bl
xor r14b, 0
and r10b, r14b
mov r15b, bpl
xor r15b, 0xff
and r15b, 0
and bpl, r14b
or r9b, r10b
or r15b, bpl
xor r9b, r15b
mov r10b, r11b
and r10b, sil
xor r11b, sil
or r10b, r11b
mov r11b, r10b
xor r11b, 0xff
and r11b, 1
mov sil, bl
xor sil, 1
and r10b, sil
or r11b, r10b
mov r10b, bl
xor r10b, 1
mov sil, dil
xor sil, 0xff
mov bpl, bl
xor bpl, 0
mov r14b, r10b
and r14b, 0
mov r15b, bpl
and r15b, 1
mov r12b, sil
and r12b, 0
and dil, bpl
or r14b, r15b
or r12b, dil
xor r14b, r12b
or r10b, sil
xor r10b, 0xff
or bpl, 0
and r10b, bpl
or r14b, r10b
xor r11b, 0xff
xor r14b, 0xff
xor bl, 1
or r11b, r14b
or bl, 1
xor r11b, 0xff
and r11b, bl
mov r10b, r9b
and r10b, r11b
xor r9b, r11b
or r10b, r9b
test r10b, 1
jne 0x6d7c631c
jmp 0x6d7c645d
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov ecx, dword [sym.out.dll_x.7]
mov edx, dword [sym.out.dll_y.8]
mov r8d, ecx
add r8d, 0x2fac4f44
sub r8d, 0xe62af41f
sub r8d, 0x2fac4f44
sub r8d, 0x2e8bca40
sub r8d, 1
add r8d, 0x2e8bca40
add r8d, 0xe638eb2b
add r8d, 0xe62af41f
sub r8d, 0xe638eb2b
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
mov dil, sil
xor dil, 1
or r11b, bl
or dil, 1
xor r11b, 0xff
and r11b, dil
mov bl, r9b
xor bl, 0xff
and bl, 0
xor sil, 0
and r9b, sil
mov dil, r10b
xor dil, 0xff
and dil, 0
and r10b, sil
or bl, r9b
or dil, r10b
xor bl, dil
mov r9b, r11b
and r9b, bl
xor r11b, bl
or r9b, r11b
test r9b, 1
jne 0x6d7c63f0
jmp 0x6d7c645d
jmp 0x6d7c5dc1
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x68]
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 0x6d7c5e73
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
jmp 0x6d7c631c