Function at 0x469f50
Capabilities:
Encode data using xor
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x79b73b
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x831184]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
push esi
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x1b8], 0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
test eax, eax
jle 0x469fc2
lea ecx, [esi + eax*2]
movzx edx, word [ecx]
cmp edx, 0x2f
je 0x469fbf
cmp edx, 0x5c
je 0x469fbf
dec eax
sub ecx, 2
test eax, eax
jg 0x469fa8
jmp 0x469fc2
lea esi, [ecx + 2]
push 0xb0
lea eax, [ebp - 0x1b4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1b4], 0x7d6f90
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x1a4], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
push 0
lea eax, [ebp - 0x19c]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x1b8], 1
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t____]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x1b4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x1b4], 0x7c81a4
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1b8], eax
lea ecx, [ebp - 0x19c]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 0x19c], 0x7c8164
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
lea eax, [ebp - 0x1a4]
mov dword [ebp - 4], 2
push 0x7d9b70
push eax
call fcn.00404740
push 0
mov dword [ebp - 0x1b8], eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 0xc
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x100], edx
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
add esp, 4
mov dword [ebp - 0x1ec], 0x11
mov edx, eax
mov dword [ebp - 0x1e8], 0xf3008c
mov dword [ebp - 0x1e4], 0x890086
xor ecx, ecx
mov dword [ebp - 0x1e0], 0x8300c0
mov dword [ebp - 0x1dc], 0xd4008a
mov dword [ebp - 0x1d8], 0x970091
mov dword [ebp - 0x1d4], 0x8e00fb
mov dword [ebp - 0x1d0], 0xfb0090
mov dword [ebp - 0x1cc], 0x9d008d
mov dword [ebp - 0x1c8], 0xba00ea
nop dword [eax]
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x1e8], ax
inc ecx
mov eax, dword [ebp - 0x1ec]
cmp ecx, eax
jb 0x46a130
xor ecx, ecx
mov word [ebp + eax*2 - 0x1e8], cx
lea eax, [ebp - 0x1e8]
push edx
push eax
lea eax, [ebp - 0xdc]
push 0xc8
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_wcsftime]
add esp, 0x10
mov dword [ebp - 0xe8], 0
xor eax, eax
mov dword [ebp - 0xe4], 7
lea ecx, [ebp - 0xdc]
mov word [ebp - 0xf8], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46a196
sub ecx, edx
lea eax, [ebp - 0xdc]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xf8]
call fcn.004044f0
mov byte [ebp - 4], 3
lea eax, [ebp - 0xf8]
cmp dword [ebp - 0xe4], 8
push dword [ebp - 0xe8]
cmovae eax, dword [ebp - 0xf8]
push eax
push dword [ebp - 0x1b8]
call fcn.00404c80
add esp, 0xc
push 0x7d9b68
push eax
call fcn.00404740
mov ecx, dword [ebp + 8]
add esp, 8
sub ecx, 0
je 0x46a21a
sub ecx, 1
je 0x46a213
sub ecx, 3
je 0x46a20c
mov edx, 0x3f
jmp 0x46a21f
mov edx, 0x44
jmp 0x46a21f
mov edx, 0x4d
jmp 0x46a21f
mov edx, 0x45
push 0x7d77cc
push ecx
push esi
push ecx
push 0x7d75dc
push ecx
mov ecx, eax
call fcn.0046afb0
add esp, 4
push eax
call fcn.00404740
add esp, 0xc
push eax
call fcn.00404740
add esp, 0xc
push eax
call fcn.00404740
add esp, 8
mov ecx, eax
push 0x7d9b60
push ebx
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___int_]
push eax
call fcn.00404740
mov ecx, dword [ebp - 0xe0]
add esp, 8
mov esi, eax
lea eax, [ebp - 0x204]
push eax
call fcn.00406c80
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x46a28c
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00404c80
mov ecx, 2
mov dword [ebp - 0x1c0], 0xa000a4
add esp, 0xc
mov dword [ebp - 0x1c4], ecx
mov edx, eax
mov dword [ebp - 0x1bc], 0xab
xor eax, eax
nop word [eax + eax]
lea ecx, [eax + 0xa9]
xor word [ebp + eax*2 - 0x1c0], cx
inc eax
mov ecx, dword [ebp - 0x1c4]
cmp eax, ecx
jb 0x46a2c0
xor eax, eax
mov word [ebp + ecx*2 - 0x1c0], ax
lea eax, [ebp - 0x1c0]
push eax
push edx
call fcn.00404740
add esp, 8
lea ecx, [ebp - 0x204]
call fcn.00404490
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 2
call fcn.00404490
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00406c80
cmp dword [eax + 0x14], 8
jb 0x46a327
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x204]
call fcn.00404490
cmp dword [edi + 0x18], 0
je 0x46a3c7
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x1b4]
call fcn.00406c80
push eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 5
push eax
call fcn.00405850
add esp, 8
lea ecx, [ebp - 0x204]
call fcn.00404490
cmp dword [ebp - 0xe4], 0x10
lea ecx, [ebp - 0xe0]
push 0
push ecx
push dword [ebp - 0xe8]
lea eax, [ebp - 0xf8]
cmovae eax, dword [ebp - 0xf8]
push eax
push dword [edi + 0x18]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x46a3aa
call fcn.00415b30
push dword [edi + 0x18]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x46a3bc
call fcn.00415b30
lea ecx, [ebp - 0xf8]
call fcn.00407a10
mov eax, dword [ebp - 0x1b4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x1b4], 0x7c81a4
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1b8], eax
lea ecx, [ebp - 0x19c]
call fcn.004073e0
lea ecx, [ebp - 0x194]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x14c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret 0x14