Function at 0x401691
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x5f8
lea rbp, [rsp + 0x80]
call fcn.00403f22
mov qword [rbp + 0x460], 0
mov qword [rbp + 0x468], 0
mov qword [rbp + 0x470], 0
mov qword [rbp + 0x478], 0
mov qword [rbp + 0x480], 0
mov qword [rbp + 0x488], 0
mov qword [rbp + 0x430], 0
mov qword [rbp + 0x438], 0
mov qword [rbp + 0x440], 0
mov qword [rbp + 0x448], 0
mov qword [rbp + 0x450], 0
mov qword [rbp + 0x458], 0
mov qword [rbp + 0x400], 0
mov qword [rbp + 0x408], 0
mov qword [rbp + 0x410], 0
mov qword [rbp + 0x418], 0
mov qword [rbp + 0x420], 0
mov qword [rbp + 0x428], 0
mov word [rbp + 0x3e0], 0x6c
mov word [rbp + 0x3e2], 0x6c
mov word [rbp + 0x3e4], 0x64
mov word [rbp + 0x3e6], 0x2e
mov word [rbp + 0x3e8], 0x33
mov word [rbp + 0x3ea], 0x32
mov word [rbp + 0x3ec], 0x65
mov word [rbp + 0x3ee], 0x73
mov word [rbp + 0x3f0], 0x55
mov word [rbp + 0x3f2], 0
mov word [rbp + 0x3c0], 0x6c
mov word [rbp + 0x3c2], 0x6c
mov word [rbp + 0x3c4], 0x64
mov word [rbp + 0x3c6], 0x2e
mov word [rbp + 0x3c8], 0x32
mov word [rbp + 0x3ca], 0x33
mov word [rbp + 0x3cc], 0x6c
mov word [rbp + 0x3ce], 0x65
mov word [rbp + 0x3d0], 0x6e
mov word [rbp + 0x3d2], 0x72
mov word [rbp + 0x3d4], 0x65
mov word [rbp + 0x3d6], 0x4b
mov word [rbp + 0x3d8], 0
mov word [rbp + 0x3a0], 0x6c
mov word [rbp + 0x3a2], 0x6c
mov word [rbp + 0x3a4], 0x64
mov word [rbp + 0x3a6], 0x2e
mov word [rbp + 0x3a8], 0x6c
mov word [rbp + 0x3aa], 0x6c
mov word [rbp + 0x3ac], 0x64
mov word [rbp + 0x3ae], 0x74
mov word [rbp + 0x3b0], 0x6e
mov word [rbp + 0x3b2], 0
lea rax, [rbp + 0x3e0]
mov rcx, rax
call fcn.00401600
lea rax, [rbp + 0x3c0]
mov rcx, rax
call fcn.00401600
lea rax, [rbp + 0x3a0]
mov rcx, rax
call fcn.00401600
movabs rax, 0x724c6f6164446c6c
mov qword [rbp + 0x395], rax
mov word [rbp + 0x39d], 0x4c64
mov byte [rbp + 0x39f], 0
movabs rax, 0x74646c6c2e646c6c
mov qword [rbp + 0x38b], rax
mov word [rbp + 0x393], 0x6e
movabs rax, 0x656c33322e646c6c
mov qword [rbp + 0x37e], rax
mov dword [rbp + 0x386], 0x4b65726e
mov byte [rbp + 0x38a], 0
lea rax, [rbp + 0x395]
mov rcx, rax
call fcn.0040157f
lea rax, [rbp + 0x38b]
mov rcx, rax
call fcn.0040157f
lea rax, [rbp + 0x37e]
mov rcx, rax
call fcn.0040157f
lea rdx, [rbp + 0x3e0]
lea rax, [rbp + 0x4b0]
mov rcx, rax
call fcn.004014b6
lea rdx, [rbp + 0x3c0]
lea rax, [rbp + 0x4a0]
mov rcx, rax
call fcn.004014b6
lea rdx, [rbp + 0x3a0]
lea rax, [rbp + 0x490]
mov rcx, rax
call fcn.004014b6
mov dword [rbp + 0x460], 0x30
mov qword [rbp + 0x468], 0
mov dword [rbp + 0x478], 0x40
lea rax, [rbp + 0x4b0]
mov qword [rbp + 0x470], rax
mov qword [rbp + 0x480], 0
mov qword [rbp + 0x488], 0
mov dword [rbp + 0x430], 0x30
mov qword [rbp + 0x438], 0
mov dword [rbp + 0x448], 0x40
lea rax, [rbp + 0x4a0]
mov qword [rbp + 0x440], rax
mov qword [rbp + 0x450], 0
mov qword [rbp + 0x458], 0
mov dword [rbp + 0x400], 0x30
mov qword [rbp + 0x408], 0
mov dword [rbp + 0x418], 0x40
lea rax, [rbp + 0x490]
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x420], 0
mov qword [rbp + 0x428], 0
movabs rax, 0x6548616e646c6541
movabs rdx, 0x4765744d6f64756c
mov qword [rbp + 0x360], rax
mov qword [rbp + 0x368], rdx
mov byte [rbp + 0x370], 0
lea rax, [rbp + 0x360]
mov rcx, rax
call fcn.0040157f
lea rax, [rbp + 0x37e]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, [rbp + 0x360]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x560], rax
movabs rax, 0x6341646472657373
mov qword [rbp + 0x351], rax
mov dword [rbp + 0x359], 0x7450726f
mov word [rbp + 0x35d], 0x4765
mov byte [rbp + 0x35f], 0
lea rax, [rbp + 0x351]
mov rcx, rax
call fcn.0040157f
lea rax, [rbp + 0x37e]
mov rdx, qword [rbp + 0x560]
mov rcx, rax
call rdx
mov rcx, rax
lea rax, [rbp + 0x351]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x558], rax
movabs rax, 0x75616c416c6c6f63
mov qword [rbp + 0x344], rax
mov dword [rbp + 0x34c], 0x56697274
mov byte [rbp + 0x350], 0
lea rax, [rbp + 0x344]
mov rcx, rax
call fcn.0040157f
lea rax, [rbp + 0x37e]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, [rbp + 0x344]
mov r8, qword [rbp + 0x558]
mov rdx, rax
call r8
mov qword [rbp + 0x550], rax
movabs rax, 0x6c50726f74656374
mov qword [rbp + 0x335], rax
mov dword [rbp + 0x33d], 0x72747561
mov word [rbp + 0x341], 0x5669
mov byte [rbp + 0x343], 0
lea rax, [rbp + 0x335]
mov rcx, rax
call fcn.0040157f
lea rax, [rbp + 0x37e]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, [rbp + 0x335]
mov r8, qword [rbp + 0x558]
mov rdx, rax
call r8
mov qword [rbp + 0x548], rax
lea rax, [rbp + 0x38b]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov rcx, rax
lea rax, [rbp + 0x395]
mov r8, qword [rbp + 0x558]
mov rdx, rax
call r8
mov qword [rbp + 0x540], rax
mov word [rbp + 0x333], 0xbb49
movabs rax, 0xefbeaddeefbeadde
mov qword [rbp + 0x32b], rax
mov dword [rbp + 0x327], 0xc3e3ff41
mov rax, qword [rbp + 0x540]
add rax, 5
mov qword [rbp + 0x538], rax
lea rax, [rbp + 0x32b]
mov rdx, qword [rbp + 0x538]
mov qword [rax], rdx
mov rax, qword [rbp + 0x550]
mov r9d, 4
mov r8d, 0x3000
mov edx, 0x13
mov ecx, 0
call rax
mov qword [rbp + 0x530], rax
mov rax, qword [rbp + 0x530]
mov r8d, 5
lea rdx, [0x004079ad]
mov rcx, rax
call fcn.00401420
mov rax, qword [rbp + 0x530]
lea rcx, [rax + 5]
lea rax, [rbp + 0x333]
mov r8d, 2
mov rdx, rax
call fcn.00401420
mov rax, qword [rbp + 0x530]
lea rcx, [rax + 7]
lea rax, [rbp + 0x32b]
mov r8d, 8
mov rdx, rax
call fcn.00401420
mov rax, qword [rbp + 0x530]
lea rcx, [rax + 0xf]
lea rax, [rbp + 0x327]
mov r8d, 4
mov rdx, rax
call fcn.00401420
mov dword [rbp + 0x320], 0
lea rdx, [rbp + 0x320]
mov rax, qword [rbp + 0x530]
mov r10, qword [rbp + 0x548]
mov r9, rdx
mov r8d, 0x20
mov edx, 0x1e
mov rcx, rax
call r10
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x528], rax
mov qword [rbp + 0x318], 0
lea rcx, [rbp + 0x318]
lea rdx, [rbp + 0x4b0]
mov rax, qword [rbp + 0x528]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov ecx, 0
call rax
mov qword [rbp + 0x310], 0
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x4a0]
mov rax, qword [rbp + 0x528]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov ecx, 0
call rax
mov qword [rbp + 0x308], 0
lea rcx, [rbp + 0x308]
lea rdx, [rbp + 0x490]
mov rax, qword [rbp + 0x528]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov ecx, 0
call rax
mov rax, qword [rbp + 0x310]
lea rdx, [rbp + 0x351]
mov r8, qword [rbp + 0x558]
mov rcx, rax
call r8
mov qword [rbp + 0x520], rax
mov rax, qword [rbp + 0x310]
lea rdx, [rbp + 0x344]
mov r8, qword [rbp + 0x520]
mov rcx, rax
call r8
mov qword [rbp + 0x518], rax
mov rax, qword [rbp + 0x310]
lea rdx, [rbp + 0x335]
mov r8, qword [rbp + 0x520]
mov rcx, rax
call r8
mov qword [rbp + 0x510], rax
movabs rax, 0x73734d656d6f7279
movabs rdx, 0x69746550726f6365
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x2f8], rdx
mov word [rbp + 0x300], 0x5772
mov byte [rbp + 0x302], 0
lea rax, [rbp + 0x2f0]
mov rcx, rax
call fcn.0040157f
mov rax, qword [rbp + 0x310]
lea rdx, [rbp + 0x2f0]
mov r8, qword [rbp + 0x520]
mov rcx, rax
call r8
mov qword [rbp + 0x508], rax
movabs rax, 0x7450726f63657373
movabs rdx, 0x657443757272656e
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0x2d8], rdx
mov word [rbp + 0x2e0], 0x47
lea rax, [rbp + 0x2d0]
mov rcx, rax
call fcn.0040157f
mov rax, qword [rbp + 0x310]
lea rdx, [rbp + 0x2d0]
mov r8, qword [rbp + 0x520]
mov rcx, rax
call r8
mov qword [rbp + 0x500], rax
lea rax, [rbp + 0xe0]
lea rdx, str.25ef20fd_558a_23f2_f43e_caeb30c8ad18
mov ecx, 0x3e
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
mov dword [rbp + 0x4fc], 0x3e
mov eax, dword [rbp + 0x4fc]
cdqe
shl rax, 4
mov rcx, rax
call sub.msvcrt.dll_malloc
mov qword [rbp + 0x4f0], rax
cmp qword [rbp + 0x4f0], 0
jne 0x401f64
mov eax, 0xffffffff
jmp 0x4021f2
mov dword [rbp + 0x56c], 0
jmp 0x401fd4
mov eax, dword [rbp + 0x56c]
cdqe
shl rax, 4
mov rdx, rax
mov rax, qword [rbp + 0x4f0]
add rdx, rax
mov eax, dword [rbp + 0x56c]
cdqe
mov rax, qword [rbp + rax*8 + 0xe0]
mov rcx, rax
mov rax, qword [sym.imp.RPCRT4.dll_UuidFromStringA]
call rax
mov dword [rbp + 0x4cc], eax
cmp dword [rbp + 0x4cc], 0
je 0x401fcd
mov rax, qword [rbp + 0x4f0]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, 0xffffffff
jmp 0x4021f2
add dword [rbp + 0x56c], 1
mov eax, dword [rbp + 0x56c]
cmp eax, dword [rbp + 0x4fc]
jl 0x401f70
mov eax, dword [rbp + 0x4fc]
cdqe
shl eax, 4
mov dword [rbp + 0x4ec], eax
movabs rax, 0x30504a3442795831
movabs rdx, 0x4835514349716f4c
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rdx
mov byte [rbp + 0xd0], 0
movabs rax, 0x6c4c727251613065
movabs rdx, 0x36713339744e4e35
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdx
mov byte [rbp + 0xb0], 0
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0xc0]
lea rax, [rbp - 0x20]
mov r8, rcx
mov rcx, rax
call fcn.00402d28
mov ecx, dword [rbp + 0x4ec]
mov rdx, qword [rbp + 0x4f0]
lea rax, [rbp - 0x20]
mov r8, rcx
mov rcx, rax
call fcn.00403cfc
mov eax, dword [rbp + 0x4ec]
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x4d8], 0
movabs rax, 0x646172496e666f41
movabs rdx, 0x6e756d43616c656e
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
mov word [rbp - 0x30], 0x45
lea rax, [rbp - 0x40]
mov rcx, rax
call fcn.0040157f
mov rax, qword [rbp + 0x310]
lea rdx, [rbp - 0x40]
mov r8, qword [rbp + 0x520]
mov rcx, rax
call r8
mov qword [rbp + 0x4d0], rax
mov rax, qword [rbp + 0x4e0]
mov r10, qword [rbp + 0x518]
mov r9d, 4
mov r8d, 0x3000
mov rdx, rax
mov ecx, 0
call r10
mov qword [rbp + 0x4d8], rax
movabs rcx, 0xde0b6b3a7640859
call fcn.00401524
lea rcx, [rbp - 0x44]
mov rdx, qword [rbp + 0x4e0]
mov rax, qword [rbp + 0x4d8]
mov r10, qword [rbp + 0x510]
mov r9, rcx
mov r8d, 0x20
mov rcx, rax
call r10
movabs rcx, 0xde0b6b3a7640801
call fcn.00401524
lea rcx, [rbp - 0x44]
mov rdx, qword [rbp + 0x4e0]
mov rax, qword [rbp + 0x4d8]
mov r10, qword [rbp + 0x510]
mov r9, rcx
mov r8d, 0x40
mov rcx, rax
call r10
movabs rcx, 0xde0b6b3a76409b1
call fcn.00401524
mov ebx, dword [rbp + 0x4ec]
mov rax, qword [rbp + 0x500]
call rax
mov rcx, rax
mov rdx, qword [rbp + 0x4f0]
mov rax, qword [rbp + 0x4d8]
mov qword [rsp + 0x20], 0
mov r10, qword [rbp + 0x508]
mov r9, rbx
mov r8, rdx
mov rdx, rax
call r10
mov rax, qword [rbp + 0x4d8]
mov r10, qword [rbp + 0x4d0]
mov r9d, 0x15
mov r8d, 0xffffffff
mov edx, 0x400
mov rcx, rax
call r10
mov eax, 0
add rsp, 0x5f8
pop rbx
pop rsi
pop rdi
pop rbp
ret