Function at 0x10053640
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018adc5
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x102a67c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0x2a8]
mov dword [eax + 0x50], 0
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov eax, dword [eax + 0x2ac]
mov dword [eax + 0x50], 0
cmp byte [ebx + 1], 0
je 0x100537f0
mov byte [ebx + 1], 0
mov ecx, 0x10293690
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov edi, dword [eax + 0xec]
lea eax, [ebp - 0x28]
push eax
call fcn.1002f1a0
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 0
push edi
lea esi, [ebp - 0x28]
mov dword [ebp - 0x48], 0x10
cmova esi, dword [ebp - 0x28]
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, edi
mov eax, dword [eax]
push esi
call eax
mov esi, eax
mov dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
push esi
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, esi
mov eax, dword [eax]
push 0
call eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x10053748
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
mov dword [ebp - 0x44], 0x10
xor eax, 0x5b1c6e88
mov esi, dword [eax + 0x2ac]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
push esi
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, esi
mov eax, dword [eax]
push 1
call eax
mov eax, dword [0x102a7958]
mov ecx, 0x102936a8
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov edi, dword [eax + 0x2a8]
lea eax, [ebp - 0x28]
push eax
call fcn.100535b0
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 1
push edi
lea esi, [ebp - 0x28]
mov dword [ebp - 0x44], 0xe
cmova esi, dword [ebp - 0x28]
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, edi
mov eax, dword [eax]
push esi
call eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x100537f0
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
cmp byte [0x10c024f4], 0
je 0x10053806
cmp byte [0x10c024f5], 0
je 0x10053806
mov al, 1
jmp 0x10053808
xor al, al
cmp byte [ebx], al
je 0x100539df
mov byte [ebx], al
test al, al
mov eax, dword [0x102a7958]
jne 0x10053882
add eax, 0xabc5fa12
mov ecx, 0x102936b8
xor eax, 0x5b1c6e88
mov edi, dword [eax + 0x2a8]
lea eax, [ebp - 0x28]
push eax
call fcn.100535b0
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 4], 2
push edi
lea esi, [ebp - 0x28]
mov dword [ebp - 0x44], 0xe
cmova esi, dword [ebp - 0x28]
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, edi
mov eax, dword [eax]
push esi
call eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x100539df
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
jmp 0x100539d6
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
cmp byte [0x102936c8], 0
mov eax, dword [eax + 0x2a8]
mov dword [ebp - 0x44], eax
je 0x1005391d
cmp byte [0x102936c9], 0
jne 0x1005397d
xor esi, esi
mov byte [0x102936c9], 1
mov dword [ebp - 0x48], esi
nop word [eax + eax]
xor esi, dword [0x10293700]
xor edi, edi
xor edi, dword [0x10293704]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x48]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102936ca]
xor cl, bl
mov byte [esi + 0x102936ca], cl
inc esi
mov dword [ebp - 0x48], esi
cmp esi, 0x32
jb 0x100538c0
jmp 0x1005397d
xor esi, esi
mov dword [ebp - 0x48], esi
xor esi, dword [0x10293700]
xor edi, edi
xor edi, dword [0x10293704]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x48]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x102936ca]
xor cl, bl
mov byte [esi + 0x102936ca], cl
inc esi
mov dword [ebp - 0x48], esi
cmp esi, 0x32
jb 0x10053922
lea eax, [ebp - 0x49]
push eax
push 0x102936fb
push 0x102936ca
lea ecx, [ebp - 0x40]
call fcn.10027a10
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x48]
mov edi, dword [ebp - 0x44]
lea esi, [ebp - 0x40]
cmova esi, dword [ebp - 0x40]
push eax
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 3
push edi
push eax
mov dword [ebp - 0x48], 0xe
call fcn.100ee230
add esp, 0xc
mov ecx, edi
mov eax, dword [eax]
push esi
call eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
jbe 0x100539df
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.100163b0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10184b39
mov esp, ebp
pop ebp
ret