Function at 0x42d3db
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
mov ebx, ecx
push esi
push edi
push 0
mov dword [ebx + 0x94], 0x450bc0
mov eax, dword [ebx + 0x94]
mov dword [ebx + 0xa0], 0x450f28
mov dword [ebx + 4], 0x45c1c0
mov dword [ebx + 0x88], vtable.RefCount.0
mov dword [ebx + 0x90], vtable.ConMan.0
mov eax, dword [eax + 4]
mov dword [esp + 0x24], ebx
mov dword [eax + ebx + 0x94], 0x45c210
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0x9c], vtable.Exec.0
mov eax, dword [eax + 4]
mov dword [eax + ebx + 0xa0], vtable.Exec.1.0
call dword [sym.imp.system.dll_public:_void___thiscall_Object::constructor_void_]
mov eax, dword [ebx + 4]
lea esi, [ebx + 0x10]
mov dword [ebx], vtable.Libraries::License::Locale::Language.0
lea edi, [esp + 0x24]
mov dword [esp + 0x2a], 0xe863913a
mov dword [esp + 0x26], 0xae1c81f3
mov eax, dword [eax + 4]
mov word [esp + 0x24], 0x4ea3
mov byte [esp + 0x2e], 0xee
mov dword [eax + ebx + 4], vtable.Libraries::License::Locale::Language.3.0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 8]
mov dword [eax + ebx + 4], vtable.Libraries::License::Locale::Language.1.0
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx + 4], vtable.Libraries::License::Locale::Language.2.0
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x84]
mov dword [ecx + ebx], eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 8]
lea eax, [ecx - 0x8c]
mov dword [ecx + ebx], eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0xc]
lea eax, [ecx - 0x98]
mov dword [ecx + ebx], eax
xor eax, eax
mov dword [ebx + 0xc], eax
mov dword [esi], eax
mov word [ebx + 0x80], ax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x44
mov bh, 0xe7
pop ecx
mov byte [esp + 0x14], bl
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push dword [esp + 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [esp + 0x14]
call fcn.00401929
lea ecx, [esp + 0x1c]
call fcn.00401871
add bh, bl
inc edi
mov bl, byte [edi]
xor bl, bh
mov byte [esp + 0x14], bl
jne 0x42d4fc
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x1c]
call fcn.00401929
lea ecx, [esp + 0x10]
call fcn.00401871
mov ecx, esi
call dword [sym.imp.system.dll_public_virtual:_void___thiscall_Object::lockRef_void_]
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
add ecx, dword [eax + 8]
push ecx
mov eax, esp
mov dword [eax], ecx
je 0x42d56f
mov eax, dword [ecx + 4]
add ecx, 4
add ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.system.dll_public:_static_class_Ref_class_Chn____cdecl_Chn::create_class_Ref_class_ConMan__]
mov esi, eax
pop ecx
pop ecx
mov edx, dword [esi]
test edx, edx
je 0x42d594
mov ecx, dword [edx + 4]
add edx, 4
mov ecx, dword [ecx + 4]
add ecx, edx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x42d5a9
mov eax, dword [ecx + 4]
add ecx, 4
add ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esi]
lea ecx, [esp + 0x20]
mov dword [ebx + 0xc], eax
call fcn.00401871
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x18]
push ecx
mov edi, dword [eax + 0xc]
mov eax, esp
add edi, 4
add edi, ebx
mov dword [eax], esi
test esi, esi
je 0x42d5df
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3000
push 0xa000
push 0xffffffffffffffff
push ecx
mov eax, esp
mov dword [eax], edi
test edi, edi
je 0x42d604
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.system.dll_public:_static_class_Ref_class_Thd____cdecl_Thd::create_class_Ref_class_Exec___unsigned_int__unsigned_int__unsigned_int__class_Ref_class_String__]
add esp, 0x18
lea ecx, [ebx + 0x10]
push eax
call fcn.00401929
lea ecx, [esp + 0x20]
call fcn.00401871
lea ecx, [ebx + 0x10]
call dword [sym.imp.system.dll_public_virtual:_void___thiscall_Object::unlockRef_void_]
mov ecx, dword [ebp + 0xc]
lea eax, [ebx + 0x14]
test ecx, ecx
je 0x42d662
mov eax, dword [ecx]
push 0
call dword [eax + 0xd4]
mov ecx, dword [ebp + 0xc]
mov edi, eax
lea eax, [ebx + 0x14]
push eax
mov edx, dword [ecx]
call dword [edx + 0x60]
mov edx, eax
mov ecx, edi
call fcn.0043314f
pop ecx
push edi
call fcn.00416ddd
pop ecx
jmp 0x42d677
push eax
push ecx
push 0x130
push 0x453f30
call fcn.0042d7c0
test al, al
je 0x42d6ae
lea eax, [ebx + 0x38]
push eax
push ecx
push 0x12f
push 0x453e00
call fcn.0042d7c0
test al, al
je 0x42d6ae
lea eax, [ebx + 0x5c]
push eax
push ecx
push 0x131
push 0x453968
call fcn.0042d7c0
test al, al
je 0x42d6ae
mov byte [ebx + 0x80], 1
test esi, esi
je 0x42d6c2
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp + 0xc]
call fcn.00401871
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0xc