Function at 0x47bc90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x79d723
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x831184]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0xc]
xor esi, esi
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a8], edx
cmp byte [ecx + 8], 0
je 0x47c97d
cmp dword [ecx + 0xc], esi
jne 0x47bcf5
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0xc8], ecx
mov byte [ebp - 0xc4], 0
jmp 0x47bcff
mov eax, dword [ecx + 0x18]
mov byte [ebp - 0xc4], 1
cmp byte [ebp + 0x10], 0
mov dword [ebp - 0xcc], eax
movq xmm0, qword [ebp - 0xcc]
mov eax, dword [ebp - 0xc4]
movq qword [ebp - 0xe8], xmm0
mov dword [ebp - 0xe0], eax
mov byte [ebp - 0xdc], 1
je 0x47bd41
lea eax, [ebp - 0xe8]
mov ecx, edx
push eax
call fcn.00479c20
jmp 0x47c367
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xc0], 0x7d6f90
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xb0], 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 - 0xa8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x1a4], 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 - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
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 - 0xa8], 0x7c8164
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0x220]
mov dword [ebp - 4], 2
push eax
call fcn.0047cb70
mov ecx, eax
call fcn.00403e20
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00404740
add esp, 8
mov ecx, eax
push dword [ebp + 0x14]
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___bool_]
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0x24c]
push eax
call fcn.0047cc50
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x314]
push eax
call fcn.0047a700
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0xc0]
push ecx
push esi
push 0xf8
push eax
push 1
mov ecx, edi
call fcn.00469f50
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
call fcn.004073e0
lea ecx, [ebp - 0xa0]
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 - 0x58]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xc0], 0x7d6f90
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xb0], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov eax, 3
mov dword [ebp - 4], 3
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0xc0]
push 0
lea eax, [ebp - 0xa8]
push eax
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], 4
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
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 - 0xa8], 0x7c8164
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 4], 5
mov eax, 0x24
mov dword [ebp - 0x200], eax
xor ecx, ecx
mov dword [ebp - 0x1fc], 0xd900f2
mov dword [ebp - 0x1f8], 0xcd00df
mov dword [ebp - 0x1f4], 0xda00df
mov dword [ebp - 0x1f0], 0xd300fc
mov dword [ebp - 0x1ec], 0xdc00d0
mov dword [ebp - 0x1e8], 0xd700e0
mov dword [ebp - 0x1e4], 0xd300dd
mov dword [ebp - 0x1e0], 0xcd00d3
mov dword [ebp - 0x1dc], 0xdf00d5
mov dword [ebp - 0x1d8], 0xe100c9
mov dword [ebp - 0x1d4], 0xd7009d
mov dword [ebp - 0x1d0], 0xe000cc
mov dword [ebp - 0x1cc], 0xa100b2
mov dword [ebp - 0x1c8], 0xaa00a2
mov dword [ebp - 0x1c4], 0xb400e5
mov dword [ebp - 0x1c0], 0xa900a2
mov dword [ebp - 0x1bc], 0xb300ad
mov dword [ebp - 0x1b8], 0xec00f1
mov dword [ebp - 0x1b4], 0xcd
nop dword [eax]
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x1fc], ax
inc ecx
mov eax, dword [ebp - 0x200]
cmp ecx, eax
jb 0x47c040
xor ecx, ecx
mov word [ebp + eax*2 - 0x1fc], cx
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00404740
mov ecx, dword [ebp - 0x1a8]
add esp, 8
mov esi, eax
call fcn.00479bc0
push eax
mov ecx, esi
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___bool_]
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0x24c]
push eax
call fcn.0047cd90
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x314]
push eax
call fcn.0047a700
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0xc0]
push ecx
push esi
push 0xf9
push eax
push 1
mov ecx, edi
call fcn.00469f50
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
call fcn.004073e0
lea ecx, [ebp - 0xa0]
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 - 0x58]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
cmp byte [ebp + 0x14], 0
je 0x47c34f
mov ecx, dword [ebp - 0x1a8]
call fcn.00479bc0
test al, al
je 0x47c34f
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xc0], 0x7d6f90
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xb0], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov eax, 7
mov dword [ebp - 4], 6
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0xc0]
push 0
lea eax, [ebp - 0xa8]
push eax
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], 7
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
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 - 0xa8], 0x7c8164
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x208], 0x29
mov dword [ebp - 0x204], 0xd900f2
mov dword [ebp - 0x200], 0xcd00df
mov dword [ebp - 0x1fc], 0xda00df
mov dword [ebp - 0x1f8], 0xd300fc
mov dword [ebp - 0x1f4], 0xdc00d0
mov dword [ebp - 0x1f0], 0xd700e0
mov dword [ebp - 0x1ec], 0xd300dd
mov dword [ebp - 0x1e8], 0xcd00d3
mov dword [ebp - 0x1e4], 0xdf00d5
mov dword [ebp - 0x1e0], 0xe100c9
mov dword [ebp - 0x1dc], 0xdb009d
mov dword [ebp - 0x1d8], 0xa300cc
mov dword [ebp - 0x1d4], 0xb200a0
mov dword [ebp - 0x1d0], 0xaa00aa
mov dword [ebp - 0x1cc], 0xe600a2
mov dword [ebp - 0x1c8], 0xa700a3
mov dword [ebp - 0x1c4], 0xa800bc
mov dword [ebp - 0x1c0], 0xa900a7
mov dword [ebp - 0x1bc], 0xbd00ed
mov dword [ebp - 0x1b8], 0xb100ac
mov dword [ebp - 0x1b4], 0xd200bf
call fcn.00403e20
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov edi, eax
lea eax, [ebp - 0x24c]
push eax
call fcn.0047ced0
mov ecx, eax
call fcn.00403e20
mov esi, eax
lea eax, [ebp - 0x314]
push eax
call fcn.0047a700
mov ecx, eax
call fcn.00403e20
lea ecx, [ebp - 0xc0]
push ecx
push esi
push 0xfc
push eax
push 1
mov ecx, edi
call fcn.00469f50
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406480
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax]
call fcn.0043a790
mov ecx, dword [ebp - 0x1a8]
lea eax, [ebp - 0xe8]
push eax
call fcn.00479d80
mov esi, dword [ebp - 0x1a4]
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xc0], 0x7d6f90
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xb0], 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 - 0xa8]
mov dword [ebp - 4], 9
or esi, 8
lea ecx, [ebp - 0xc0]
push eax
mov dword [ebp - 0x1a4], esi
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], 0xa
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
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 - 0xa8], 0x7c8164
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 4], 0xb
xor ecx, ecx
mov dword [ebp - 0x210], 0x2d
mov dword [ebp - 0x20c], 0xd900f2
mov dword [ebp - 0x208], 0xcd00df
mov dword [ebp - 0x204], 0xda00df
mov dword [ebp - 0x200], 0xd300fc
mov dword [ebp - 0x1fc], 0xdc00d0
mov dword [ebp - 0x1f8], 0xd700e0
mov dword [ebp - 0x1f4], 0xd300dd
mov dword [ebp - 0x1f0], 0xcd00d3
mov dword [ebp - 0x1ec], 0xdf00d5
mov dword [ebp - 0x1e8], 0xe100c9
mov dword [ebp - 0x1e4], 0xcd009d
mov dword [ebp - 0x1e0], 0xa100dc
mov dword [ebp - 0x1dc], 0x9100af
mov dword [ebp - 0x1d8], 0xac00a0
mov dword [ebp - 0x1d4], 0xa200a0
mov dword [ebp - 0x1d0], 0xa400b2
mov dword [ebp - 0x1cc], 0xb800ac
mov dword [ebp - 0x1c8], 0xa500eb
mov dword [ebp - 0x1c4], 0xee00be
mov dword [ebp - 0x1c0], 0xbe00aa
mov dword [ebp - 0x1bc], 0xb000b0
mov dword [ebp - 0x1b8], 0xb100bf
mov dword [ebp - 0x1b4], 0xd600b1
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x20c], ax
inc ecx
mov eax, dword [ebp - 0x210]
cmp ecx, eax
jb 0x47c510
xor ecx, ecx
mov word [ebp + eax*2 - 0x20c], cx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x24c]
push eax
call fcn.0047d010
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
mov dword [ebp - 0x1ac], edi
test edx, edx
je 0x47c584
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x47c573
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x314]
push eax
call fcn.0047a700
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea eax, [esi + 4]
mov dword [ebp - 0x250], eax
test edx, edx
je 0x47c5cd
mov edi, eax
nop dword [eax + eax]
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x47c5b0
mov edi, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x250]
xor ecx, ecx
mov word [eax + edx*2], cx
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, dword [ebp - 0x1b0]
push edi
push 0x103
push eax
push 1
call fcn.00469f50
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
call fcn.004073e0
lea ecx, [ebp - 0xa0]
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 - 0x58]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void_]
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xc0], 0x7d6f90
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xb0], 0x7d7228
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void_]
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0xc0]
mov eax, dword [ebp - 0x1a4]
or eax, 0x10
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0xa8]
push 0
push eax
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], 0xd
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
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 - 0xa8], 0x7c8164
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 4], 0xe
mov eax, 0x2c
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], 0xd900f2
mov dword [ebp - 0x208], 0xcd00df
mov dword [ebp - 0x204], 0xda00df
mov dword [ebp - 0x200], 0xd300fc
mov dword [ebp - 0x1fc], 0xdc00d0
mov dword [ebp - 0x1f8], 0xd700e0
mov dword [ebp - 0x1f4], 0xd300dd
mov dword [ebp - 0x1f0], 0xcd00d3
mov dword [ebp - 0x1ec], 0xdf00d5
mov dword [ebp - 0x1e8], 0xe100c9
mov dword [ebp - 0x1e4], 0xdd009d
mov dword [ebp - 0x1e0], 0xb200ca
mov dword [ebp - 0x1dc], 0xa700b3
mov dword [ebp - 0x1d8], 0xb000ad
mov dword [ebp - 0x1d4], 0xb500e5
mov dword [ebp - 0x1d0], 0xa900a4
mov dword [ebp - 0x1cc], 0xea00a7
mov dword [ebp - 0x1c8], 0xaf00b8
mov dword [ebp - 0x1c4], 0xab00a5
mov dword [ebp - 0x1c0], 0xa500ab
xor ecx, ecx
mov dword [ebp - 0x1bc], 0xb700bd
mov dword [ebp - 0x1b8], 0xf400e9
mov dword [ebp - 0x1b4], 0xd5
nop word [eax + eax]
lea eax, [ecx + 0xa9]
xor word [ebp + ecx*2 - 0x20c], ax
inc ecx
mov eax, dword [ebp - 0x210]
cmp ecx, eax
jb 0x47c7f0
xor ecx, ecx
mov word [ebp + eax*2 - 0x20c], cx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00404740
mov esi, eax
add esp, 8
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax]
lea eax, [ebp - 0x268]
push eax
movups xmm0, xmmword [ecx + 0x50]
movups xmmword [ebp - 0xf0], xmm0
movq xmm0, qword [ecx + 0x60]
lea ecx, [ebp - 0xf0]
movq qword [ebp - 0xe0], xmm0
call fcn.0043a820
push eax
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0xf
push eax
call fcn.004057b0
add esp, 8
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x47c880
mov eax, dword [eax]
push ecx
push eax
push esi
call fcn.00404c80
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.00404490
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0xe
call fcn.00407a10
call fcn.004345f0
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x24c]
push eax
call fcn.0047d150
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
mov dword [ebp - 0x1b0], edi
test edx, edx
je 0x47c8e1
nop
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x47c8d0
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x314]
push eax
call fcn.0047a700
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
test edx, edx
je 0x47c911
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x47c900
mov ecx, dword [ebp - 0x1ac]
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x1b0]
push 0x104
push edi
push 1
call fcn.00469f50
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], 0x7c81a4
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xa8]
call fcn.004073e0
lea ecx, [ebp - 0xa0]
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 - 0x58]
jmp 0x47cb4d
push 0xb0
lea eax, [ebp - 0x1a0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1a0], 0x7d6f90
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x190], 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 - 0x188]
mov dword [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x1a4], 0x20
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], 0x12
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x1a0], 0x7c81a4
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1a4], eax
lea ecx, [ebp - 0x188]
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 - 0x188], 0x7c8164
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
lea eax, [ebp - 0x214]
mov dword [ebp - 4], 0x13
push eax
call fcn.0047d290
mov edi, eax
xor ecx, ecx
mov edx, dword [edi]
lea esi, [edi + 4]
test edx, edx
je 0x47ca62
lea eax, [ecx + 0xa9]
xor word [esi + ecx*2], ax
inc ecx
mov edx, dword [edi]
cmp ecx, edx
jb 0x47ca51
xor eax, eax
mov word [esi + edx*2], ax
lea eax, [ebp - 0x190]
push esi
push eax
call fcn.00404740
add esp, 8
call fcn.004345f0
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x3b0]
push eax
call fcn.0047d350
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
mov dword [ebp - 0x1b0], edi
test edx, edx
je 0x47cab3
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x47caa2
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x45c]
push eax
call fcn.0047a700
mov esi, eax
xor ecx, ecx
mov edx, dword [esi]
lea edi, [esi + 4]
test edx, edx
je 0x47cae3
lea eax, [ecx + 0xa9]
xor word [edi + ecx*2], ax
inc ecx
mov edx, dword [esi]
cmp ecx, edx
jb 0x47cad2
mov ecx, dword [ebp - 0x1ac]
xor eax, eax
mov word [edi + edx*2], ax
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x1b0]
push 0x108
push edi
push 1
call fcn.00469f50
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x1a0], 0x7c81a4
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1a4], eax
lea ecx, [ebp - 0x188]
call fcn.004073e0
lea ecx, [ebp - 0x180]
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 - 0x138]
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
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret