Function at 0x180004c50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x88], rdx
mov dword [rsp + 0x5c], r8d
mov qword [rsp + 0x70], r9
mov dword [rsp + 0x6c], 8
cmp qword [0x180008750], 0
sete al
test al, 1
jne 0x180004c8d
jmp 0x180004e07
mov ecx, 0x2a
call fcn.180004f10
mov ecx, 0xff80c38
xor edx, edx
div rcx
shl rax, 5
mov dword [rsp + 0x3c], eax
mov ecx, dword [rsp + 0x3c]
call sub.msvcrt.dll_malloc
mov qword [0x180008750], rax
mov rcx, qword [0x180008750]
mov r8d, dword [rsp + 0x3c]
xor edx, edx
call sub.msvcrt.dll_memset
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x11
call sub.msvcrt.dll_memset
mov byte [rsp + 0x46], 0x70
mov byte [rsp + 0x47], 0x75
mov byte [rsp + 0x48], 0x74
mov byte [rsp + 0x42], 0x74
mov byte [rsp + 0x4f], 0x41
mov byte [rsp + 0x49], 0x65
mov byte [rsp + 0x40], 0x47
mov byte [rsp + 0x4b], 0x4e
mov byte [rsp + 0x4c], 0x61
mov byte [rsp + 0x43], 0x43
mov byte [rsp + 0x44], 0x6f
mov byte [rsp + 0x4e], 0x65
mov byte [rsp + 0x4d], 0x6d
mov byte [rsp + 0x41], 0x65
mov byte [rsp + 0x45], 0x6d
mov byte [rsp + 0x4a], 0x72
mov byte [rsp + 0x50], 0
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [0x180008750]
lea rdx, [rsp + 0x3c]
call rax
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
cmp eax, ecx
jb 0x180004d89
jmp 0x180004e07
mov rax, qword [0x180008750]
mov ecx, dword [rsp + 0x30]
movsxd rcx, ecx
movsx eax, byte [rax + rcx]
cmp eax, 0x41
jl 0x180004dcc
mov rax, qword [0x180008750]
movsxd rcx, dword [rsp + 0x30]
add rax, rcx
movsx eax, byte [rax]
cmp eax, 0x5a
jg 0x180004dcc
mov rax, qword [0x180008750]
movsxd rcx, dword [rsp + 0x30]
movsx eax, byte [rax + rcx]
add eax, 0x20
jmp 0x180004de0
mov rax, qword [0x180008750]
movsxd rcx, dword [rsp + 0x30]
mov al, byte [rax + rcx]
movsx eax, al
jmp 0x180004de0
mov rcx, qword [0x180008750]
movsxd rdx, dword [rsp + 0x30]
mov byte [rcx + rdx], al
jmp 0x180004df1
mov eax, dword [rsp + 0x30]
add eax, 1
jmp 0x180004dfa
mov dword [rsp + 0x30], eax
jmp 0x180004e00
jmp 0x180004e02
jmp 0x180004d7b
mov rax, qword [rsp + 0x70]
cmp rax, 0
seta al
test al, 1
jne 0x180004e19
jmp 0x180004e25
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
jmp 0x180004e38
mov eax, dword [rsp + 0x5c]
movsxd rcx, eax
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x60], rax
jmp 0x180004e38
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x5c]
cmp eax, ecx
jl 0x180004e59
jmp 0x180004efa
mov rax, qword [0x180008750]
movsxd rcx, dword [rsp + 0x38]
mov al, byte [rax + rcx]
mov byte [rsp + 0x2f], al
mov eax, dword [rsp + 0x34]
mov ecx, 8
cdq
idiv ecx
mov dword [rsp + 0x58], edx
mov rax, qword [rsp + 0x90]
movsxd rcx, dword [rsp + 0x34]
movzx eax, byte [rax + rcx]
movzx edx, byte [rsp + 0x2f]
mov ecx, dword [rsp + 0x58]
shl edx, cl
movzx r8d, byte [rsp + 0x2f]
mov ecx, 8
sub ecx, dword [rsp + 0x58]
shr r8d, cl
or edx, r8d
xor eax, edx
mov rcx, qword [rsp + 0x88]
movsx ecx, byte [rcx]
xor eax, ecx
mov rcx, qword [rsp + 0x60]
movsxd rdx, dword [rsp + 0x34]
mov byte [rcx + rdx], al
mov eax, dword [rsp + 0x38]
add eax, 1
mov dword [rsp + 0x38], eax
cmp eax, dword [rsp + 0x6c]
jl 0x180004ee8
mov dword [rsp + 0x38], 0
jmp 0x180004ee4
jmp 0x180004ee6
jmp 0x180004ee8
jmp 0x180004eea
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x180004e48
mov rax, qword [rsp + 0x60]
add rsp, 0x98
ret