Function at 0x42131f
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x47b2b6
call fcn.0047abb4
sub esp, 0x170
push ebx
push esi
push edi
push 0x5eb7e0
mov ecx, 0x5ea214
xor ebx, ebx
call fcn.0042c332
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.00428f39
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 0x42139a
push dword [ebp - 0x18]
mov dword [ebp - 4], ebx
push ecx
lea ecx, [ebp - 0x3e]
call fcn.00429f51
push ecx
push 0x10
lea ecx, [ebp - 0x5c]
mov edi, eax
call fcn.00428f39
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 0x4213db
push 0x5eb7e0
mov ecx, 0x5ea214
mov byte [ebp - 4], 1
call fcn.0042c332
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.00428f39
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 0x421462
push dword [ebp - 0x18]
mov byte [ebp - 4], 2
push ecx
lea ecx, [ebp - 0x29]
call fcn.00429fd8
push ecx
push edi
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.00428f39
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 0x42149f
sub esp, 0xc
mov byte [ebp - 4], 3
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0x17c]
push eax
call fcn.00428c25
push dword [ebp - 0x18]
mov byte [ebp - 4], 4
cmp dword [ebp - 0x12c], 0
push ecx
je 0x421684
lea ecx, [ebp - 0x23]
call fcn.0042a05c
push ecx
push 9
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.00428f39
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 0x4214fc
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x17c]
call fcn.00429a5b
mov ecx, eax
call fcn.0042a0c0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.00428ee0
cmp dword [ebp - 0x48], edi
lea edx, [ebp - 0x5c]
push dword [ebp - 0x4c]
cmova edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x17c]
call fcn.0042ca70
pop ecx
mov edx, 0x5e9b60
mov ecx, eax
call fcn.00429a5b
mov ecx, eax
call fcn.0042a0c0
cmp dword [ebp - 0x48], edi
lea edx, [ebp - 0x5c]
push dword [ebp - 0x4c]
cmova edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x17c]
call fcn.0042ca70
pop ecx
push dword [ebp - 0x18]
mov edi, eax
push ecx
lea ecx, [ebp - 0x23]
call fcn.0042a244
push ecx
push 9
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.00428f39
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 0x42159c
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 6
mov ecx, edi
call fcn.00429a5b
mov ecx, eax
call fcn.0042a0c0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.00428ee0
cmp dword [ebp - 0x78], 0xf
lea edx, [ebp - 0x8c]
push dword [ebp - 0x7c]
cmova edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x17c]
call fcn.0042ca70
pop ecx
mov edx, 0x5e9b60
mov ecx, eax
call fcn.00429a5b
mov edx, 0x47ff94
mov ecx, eax
call fcn.0042a2b0
mov ecx, eax
call fcn.0042a0c0
cmp dword [ebp - 0x60], 0xf
lea edx, [ebp - 0x74]
push dword [ebp - 0x64]
cmova edx, dword [ebp - 0x74]
lea ecx, [ebp - 0x17c]
call fcn.0042ca70
pop ecx
mov ecx, eax
call fcn.0042a0c0
lea ecx, [ebp - 0x17c]
call fcn.00428bd4
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.0042a451
push ecx
push 0x1f
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.00428f39
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 0x421664
mov byte [ebp - 4], 7
jmp 0x4216c0
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.0042a524
push ecx
push 0x1b
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.00428f39
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 0x4216a2
mov byte [ebp - 4], 8
lea edx, [ebp - 0x44]
mov ecx, edi
call fcn.00429a5b
push 0x429a70
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.00428ee0
lea ecx, [ebp - 0x114]
call fcn.00428bf5
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.00428ee0
lea ecx, [ebp - 0x8c]
call fcn.00428ee0
lea ecx, [ebp - 0x5c]
call fcn.00428ee0
lea ecx, [ebp - 0xa4]
call fcn.00428ee0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret