Function at 0x499417
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x500e36
call fcn.00500754
sub esp, 0x170
push ebx
push esi
push edi
push 0x65b940
mov ecx, 0x659578
xor ebx, ebx
call fcn.004a64ab
push 0x7e
pop ecx
xor edx, edx
mov byte [ebp - 0x19], bl
div ecx
lea ecx, [edx + 1]
mov al, cl
mov byte [ebp - 0x11], cl
xor al, 0x64
mov byte [ebp - 0x21], cl
mov byte [ebp - 0x20], al
mov al, cl
xor al, 0x65
mov byte [ebp - 0x1f], al
mov al, cl
xor al, 0x6c
mov byte [ebp - 0x1e], al
mov al, cl
xor al, 0x2e
mov byte [ebp - 0x1d], al
mov al, cl
xor al, 0x62
mov byte [ebp - 0x1c], al
mov al, cl
xor al, 0x61
mov byte [ebp - 0x1b], al
mov al, cl
push ecx
xor al, 0x74
lea ecx, [ebp - 0xa4]
push 7
mov byte [ebp - 0x1a], al
call fcn.004a28e9
mov dl, byte [ebp - 0x11]
mov esi, ebx
mov cl, byte [ebp + esi - 0x20]
lea eax, [ebp - 0xa4]
xor cl, dl
cmp dword [ebp - 0x90], 0xf
cmova eax, dword [ebp - 0xa4]
mov byte [eax + esi], cl
inc esi
cmp esi, 7
jb 0x499492
push dword [ebp - 0x18]
mov dword [ebp - 4], ebx
push ecx
lea ecx, [ebp - 0x3e]
call fcn.004a37c5
push ecx
push 0x10
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.004a28e9
mov esi, ebx
mov dl, byte [edi + esi + 1]
lea eax, [ebp - 0x5c]
xor dl, byte [edi]
cmp dword [ebp - 0x48], 0xf
cmova eax, dword [ebp - 0x5c]
mov byte [eax + esi], dl
inc esi
cmp esi, 0x10
jb 0x4994d3
push 0x65b940
mov ecx, 0x659578
mov byte [ebp - 4], 1
call fcn.004a64ab
push 0x7e
pop ecx
xor edx, edx
mov byte [ebp - 0x19], bl
div ecx
lea ecx, [edx + 1]
mov al, cl
mov byte [ebp - 0x11], cl
xor al, 0x64
mov byte [ebp - 0x21], cl
mov byte [ebp - 0x20], al
mov al, cl
xor al, 0x65
mov byte [ebp - 0x1f], al
mov al, cl
xor al, 0x6c
mov byte [ebp - 0x1e], al
mov al, cl
xor al, 0x20
mov byte [ebp - 0x1d], al
mov al, cl
xor al, 0x22
mov byte [ebp - 0x1c], al
mov al, cl
xor al, 0x2e
mov byte [ebp - 0x1b], al
mov al, cl
push ecx
xor al, 0x5c
lea ecx, [ebp - 0x8c]
push 7
mov byte [ebp - 0x1a], al
call fcn.004a28e9
mov dl, byte [ebp - 0x11]
mov esi, ebx
push 0xf
pop edi
mov cl, byte [ebp + esi - 0x20]
lea eax, [ebp - 0x8c]
xor cl, dl
cmp dword [ebp - 0x78], edi
cmova eax, dword [ebp - 0x8c]
mov byte [eax + esi], cl
inc esi
cmp esi, 7
jb 0x49955a
push dword [ebp - 0x18]
mov byte [ebp - 4], 2
push ecx
lea ecx, [ebp - 0x29]
call fcn.004a384c
push ecx
push edi
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.004a28e9
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x74]
xor cl, byte [esi]
cmp dword [ebp - 0x60], edi
cmova eax, dword [ebp - 0x74]
mov byte [eax + edx], cl
inc edx
cmp edx, edi
jb 0x499597
sub esp, 0xc
mov byte [ebp - 4], 3
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0x17c]
push eax
call fcn.004a25e5
push dword [ebp - 0x18]
mov byte [ebp - 4], 4
cmp dword [ebp - 0x12c], 0
push ecx
je 0x49977c
lea ecx, [ebp - 0x23]
call fcn.004a38d0
push ecx
push 9
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.004a28e9
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x44]
xor cl, byte [esi]
cmp dword [ebp - 0x30], edi
cmova eax, dword [ebp - 0x44]
mov byte [eax + edx], cl
inc edx
cmp edx, 9
jb 0x4995f4
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x17c]
call fcn.004a34d6
mov ecx, eax
call fcn.004a3930
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.004a2890
cmp dword [ebp - 0x48], edi
lea edx, [ebp - 0x5c]
push dword [ebp - 0x4c]
cmova edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x17c]
call fcn.004a6be0
pop ecx
mov edx, 0x658fc4
mov ecx, eax
call fcn.004a34d6
mov ecx, eax
call fcn.004a3930
cmp dword [ebp - 0x48], edi
lea edx, [ebp - 0x5c]
push dword [ebp - 0x4c]
cmova edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x17c]
call fcn.004a6be0
pop ecx
push dword [ebp - 0x18]
mov edi, eax
push ecx
lea ecx, [ebp - 0x23]
call fcn.004a3478
push ecx
push 9
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.004a28e9
mov edx, ebx
mov cl, byte [esi + edx + 1]
lea eax, [ebp - 0x44]
xor cl, byte [esi]
cmp dword [ebp - 0x30], 0xf
cmova eax, dword [ebp - 0x44]
mov byte [eax + edx], cl
inc edx
cmp edx, 9
jb 0x499694
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 6
mov ecx, edi
call fcn.004a34d6
mov ecx, eax
call fcn.004a3930
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.004a2890
cmp dword [ebp - 0x78], 0xf
lea edx, [ebp - 0x8c]
push dword [ebp - 0x7c]
cmova edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x17c]
call fcn.004a6be0
pop ecx
mov edx, 0x658fc4
mov ecx, eax
call fcn.004a34d6
mov edx, 0x504d9c
mov ecx, eax
call fcn.004a3ac0
mov ecx, eax
call fcn.004a3930
cmp dword [ebp - 0x60], 0xf
lea edx, [ebp - 0x74]
push dword [ebp - 0x64]
cmova edx, dword [ebp - 0x74]
lea ecx, [ebp - 0x17c]
call fcn.004a6be0
pop ecx
mov ecx, eax
call fcn.004a3930
lea ecx, [ebp - 0x17c]
call fcn.004a2594
push dword [ebp - 0x18]
mov edi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
lea ecx, [ebp - 0xc5]
call fcn.004a3c61
push ecx
push 0x1f
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.004a28e9
mov dl, byte [esi + ebx + 1]
lea eax, [ebp - 0x44]
xor dl, byte [esi]
cmp dword [ebp - 0x30], 0xf
cmova eax, dword [ebp - 0x44]
mov byte [eax + ebx], dl
inc ebx
cmp ebx, 0x1f
jb 0x49975c
mov byte [ebp - 4], 7
jmp 0x4997b8
mov edi, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea ecx, [ebp - 0xc1]
call fcn.004a3d34
push ecx
push 0x1b
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.004a28e9
mov dl, byte [esi + ebx + 1]
lea eax, [ebp - 0x44]
xor dl, byte [esi]
cmp dword [ebp - 0x30], 0xf
cmova eax, dword [ebp - 0x44]
mov byte [eax + ebx], dl
inc ebx
cmp ebx, 0x1b
jb 0x49979a
mov byte [ebp - 4], 8
lea edx, [ebp - 0x44]
mov ecx, edi
call fcn.004a34d6
push 0x4a34f0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x44]
call fcn.004a2890
lea ecx, [ebp - 0x114]
call fcn.004a25b5
lea ecx, [ebp - 0x114]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x74]
call fcn.004a2890
lea ecx, [ebp - 0x8c]
call fcn.004a2890
lea ecx, [ebp - 0x5c]
call fcn.004a2890
lea ecx, [ebp - 0xa4]
call fcn.004a2890
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret