Function at 0x424ad0
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], 0x448ebc
mov eax, dword [ebx + 0x94]
mov dword [ebx + 0xa0], 0x44922c
mov dword [ebx + 4], 0x4547e8
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], 0x454838
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0x9c], vtable.Exec.1.0
mov eax, dword [eax + 4]
mov dword [eax + ebx + 0xa0], vtable.Exec.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.00413128
lea ecx, [esp + 0x1c]
call fcn.00401cfa
add bh, bl
inc edi
mov bl, byte [edi]
xor bl, bh
mov byte [esp + 0x14], bl
jne 0x424bf1
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x1c]
call fcn.00413128
lea ecx, [esp + 0x10]
call fcn.00401cfa
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 0x424c64
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 0x424c89
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 0x424c9e
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.00401cfa
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 0x424cd4
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 0x424cf9
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.00413128
lea ecx, [esp + 0x20]
call fcn.00401cfa
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 0x424d57
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.0042a818
pop ecx
push edi
call fcn.00417c46
pop ecx
jmp 0x424d6c
push eax
push ecx
push 0x130
push 0x44d740
call fcn.00424eb5
test al, al
je 0x424da3
lea eax, [ebx + 0x38]
push eax
push ecx
push 0x12f
push 0x44d610
call fcn.00424eb5
test al, al
je 0x424da3
lea eax, [ebx + 0x5c]
push eax
push ecx
push 0x131
push 0x44d870
call fcn.00424eb5
test al, al
je 0x424da3
mov byte [ebx + 0x80], 1
test esi, esi
je 0x424db7
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.00401cfa
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0xc