Function at 0x40fa20
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x578
mov qword [rsp + 0x508], 0xfffffffffffffffe
mov rax, qword [0x004160d0]
xor rax, rsp
mov qword [rsp + 0x560], rax
mov byte [rsp + 0x3b0], 0x45
mov byte [rsp + 0x3b1], 0x70
mov byte [rsp + 0x3b2], 0x6d
mov byte [rsp + 0x3b3], 0x56
mov byte [rsp + 0x3b4], 0x66
mov byte [rsp + 0x3b5], 0x73
mov byte [rsp + 0x3b6], 0x78
mov byte [rsp + 0x3b7], 0x55
mov byte [rsp + 0x3b8], 0x6d
mov byte [rsp + 0x3b9], 0x75
mov byte [rsp + 0x3ba], 0x63
mov byte [rsp + 0x3bb], 0x46
mov byte [rsp + 0x3bc], 0x71
mov byte [rsp + 0x3bd], 0x70
mov byte [rsp + 0x3be], 0x63
mov byte [rsp + 0x3bf], 0x67
mov byte [rsp + 0x3c0], 0x61
mov byte [rsp + 0x3c1], 0x61
mov byte [rsp + 0x3c2], 0
mov byte [rsp + 0x3d8], 0x49
mov byte [rsp + 0x3d9], 0x48
mov byte [rsp + 0x3da], 0x5a
mov byte [rsp + 0x3db], 0x6f
mov byte [rsp + 0x3dc], 0x6d
mov byte [rsp + 0x3dd], 0x5a
mov byte [rsp + 0x3de], 0x49
mov byte [rsp + 0x3df], 0x43
mov byte [rsp + 0x3e0], 0
lea rax, [rsp + 0x3e8]
mov qword [rsp + 0x410], rax
lea rax, [rsp + 0x418]
mov qword [rsp + 0x440], rax
lea rdx, [rsp + 0x3d8]
mov rcx, qword [rsp + 0x410]
call fcn.004013c0
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x510]
mov qword [rsp + 0x518], rax
lea rdx, [rsp + 0x3b0]
mov rcx, qword [rsp + 0x440]
call fcn.004013c0
mov qword [rsp + 0x520], rax
mov r8, qword [rsp + 0x518]
mov rdx, qword [rsp + 0x520]
mov rcx, qword [rsp + 0x580]
call fcn.0040ec10
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x588]
call rax
test eax, eax
jne 0x40fbf1
xor eax, eax
jmp 0x40ff43
mov byte [rsp + 0x50], 0x4e
mov byte [rsp + 0x51], 0x6e
mov byte [rsp + 0x52], 0x68
mov byte [rsp + 0x53], 0x46
mov byte [rsp + 0x54], 0x73
mov byte [rsp + 0x55], 0x7a
mov byte [rsp + 0x56], 0x63
mov byte [rsp + 0x57], 0x47
mov byte [rsp + 0x58], 0x76
mov byte [rsp + 0x59], 0x68
mov byte [rsp + 0x5a], 0x79
mov byte [rsp + 0x5b], 0x67
mov byte [rsp + 0x5c], 0x75
mov byte [rsp + 0x5d], 0x6b
mov byte [rsp + 0x5e], 0x45
mov byte [rsp + 0x5f], 0x74
mov byte [rsp + 0x60], 0x6a
mov byte [rsp + 0x61], 0x75
mov byte [rsp + 0x62], 0x69
mov byte [rsp + 0x63], 0x6c
mov byte [rsp + 0x64], 0x72
mov byte [rsp + 0x65], 0x6b
mov byte [rsp + 0x66], 0
mov byte [rsp + 0x390], 0x52
mov byte [rsp + 0x391], 0x66
mov byte [rsp + 0x392], 0x75
mov byte [rsp + 0x393], 0x79
mov byte [rsp + 0x394], 0x7a
mov byte [rsp + 0x395], 0x67
mov byte [rsp + 0x396], 0x6e
mov byte [rsp + 0x397], 0x50
mov byte [rsp + 0x398], 0
lea rax, [rsp + 0x448]
mov qword [rsp + 0x470], rax
lea rax, [rsp + 0x478]
mov qword [rsp + 0x4a0], rax
lea rdx, [rsp + 0x390]
mov rcx, qword [rsp + 0x470]
call fcn.004013c0
mov qword [rsp + 0x528], rax
mov rax, qword [rsp + 0x528]
mov qword [rsp + 0x530], rax
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x4a0]
call fcn.004013c0
mov qword [rsp + 0x538], rax
mov r8, qword [rsp + 0x530]
mov rdx, qword [rsp + 0x538]
mov rcx, qword [rsp + 0x580]
call fcn.0040ec10
xor edx, edx
mov rcx, qword [rsp + 0x588]
call rax
test eax, eax
jne 0x40fd47
xor eax, eax
jmp 0x40ff43
mov ecx, 0x5dc
call fcn.00405a40
mov rcx, qword [rsp + 0x590]
mov qword [rcx], rax
mov byte [rsp + 0x3c8], 0x41
mov byte [rsp + 0x3c9], 0x6e
mov byte [rsp + 0x3ca], 0x69
mov byte [rsp + 0x3cb], 0x50
mov byte [rsp + 0x3cc], 0x78
mov byte [rsp + 0x3cd], 0x79
mov byte [rsp + 0x3ce], 0x6b
mov byte [rsp + 0x3cf], 0x5a
mov byte [rsp + 0x3d0], 0x69
mov byte [rsp + 0x3d1], 0x66
mov byte [rsp + 0x3d2], 0x79
mov byte [rsp + 0x3d3], 0x4c
mov byte [rsp + 0x3d4], 0x65
mov byte [rsp + 0x3d5], 0x79
mov byte [rsp + 0x3d6], 0x76
mov byte [rsp + 0x3d7], 0
mov byte [rsp + 0x3a0], 0x45
mov byte [rsp + 0x3a1], 0x46
mov byte [rsp + 0x3a2], 0x56
mov byte [rsp + 0x3a3], 0x49
mov byte [rsp + 0x3a4], 0
mov qword [rsp + 0x3a8], 0
mov dword [rsp + 0x40], 0
lea rax, [rsp + 0x4a8]
mov qword [rsp + 0x4d0], rax
lea rax, [rsp + 0x4d8]
mov qword [rsp + 0x500], rax
lea rdx, [rsp + 0x3a0]
mov rcx, qword [rsp + 0x4d0]
call fcn.004013c0
mov qword [rsp + 0x540], rax
mov rax, qword [rsp + 0x540]
mov qword [rsp + 0x548], rax
lea rdx, [rsp + 0x3c8]
mov rcx, qword [rsp + 0x500]
call fcn.004013c0
mov qword [rsp + 0x550], rax
mov r8, qword [rsp + 0x548]
mov rdx, qword [rsp + 0x550]
mov rcx, qword [rsp + 0x580]
call fcn.0040ec10
mov qword [rsp + 0x3a8], rax
lea r9, [rsp + 0x40]
mov r8d, 0x320
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x588]
call qword [rsp + 0x3a8]
test eax, eax
je 0x40ff16
cmp dword [rsp + 0x40], 0
jne 0x40fed3
jmp 0x40ff16
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x590]
mov ecx, dword [rcx + 8]
mov rdx, qword [rsp + 0x590]
add rcx, qword [rdx]
mov r8, rax
lea rdx, [rsp + 0x70]
call fcn.00405b20
mov rax, qword [rsp + 0x590]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x590]
mov dword [rcx + 8], eax
jmp 0x40fea7
mov rax, qword [rsp + 0x590]
cmp dword [rax + 8], 0
je 0x40ff31
mov dword [rsp + 0x558], 1
jmp 0x40ff3c
mov dword [rsp + 0x558], 0
mov eax, dword [rsp + 0x558]
mov rcx, qword [rsp + 0x560]
xor rcx, rsp
call fcn.00404930
add rsp, 0x578
ret