Function at 0x1dea50
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov ebx, ecx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x80878685
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x1deaf1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0xfa434561
mov esi, eax
xor esi, 0x5bcba9e
or eax, 0x7a434561
and eax, esi
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
not ecx
and ecx, eax
add ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, eax
xor ecx, 0xe5
and eax, 0x1a
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x1dea90
mov edi, dword [esp + 4]
mov eax, dword [0x1f1ba0]
test eax, eax
je 0x1deb46
xor ecx, ecx
mov edx, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0xcecd21fd
je 0x1deb20
inc ecx
cmp eax, ecx
jne 0x1deb10
jmp 0x1deb46
mov eax, dword [edx + ecx*8 + 4]
cmp eax, edi
je 0x1deb46
lea ecx, [esp + 0xc]
push ecx
push 0
push 0
push 5
push 4
push dword [0x1f1ba8]
push eax
call fcn.001e1c60
add esp, 0x1c
mov edi, eax
cmp edi, 0xc0000004
jne 0x1decb5
mov dword [esp + 0x14], ebx
push dword [esp + 0xc]
call fcn.001de8e0
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], 0x80878685
mov word [esp + 8], 0
mov byte [esp + 0xa], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 6
ja 0x1debf2
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 4]
mov edi, edx
xor edi, 0xfa434561
mov ebx, edx
xor ebx, 0x5bcba9e
or edx, 0x7a434561
and edx, ebx
lea edx, [edi + edx*2]
lea edi, [edx + esi]
and edx, esi
mov esi, edi
not esi
and esi, edx
add esi, edx
not edx
and edx, edi
sub edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
mov esi, edx
xor esi, 0xe5
and edx, 0x1a
add edx, edx
sub edx, esi
mov esi, dword [esp]
mov byte [esp + esi + 4], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 7
jb 0x1deb90
mov edi, dword [esp + 4]
mov edx, dword [0x1f1ba0]
test edx, edx
je 0x1dec46
xor ebx, ebx
mov ebp, dword [0x1f1ba4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0xcecd21fd
je 0x1dec21
inc ebx
cmp edx, ebx
jne 0x1dec10
jmp 0x1dec46
mov edx, dword [ebp + ebx*8 + 4]
cmp edx, edi
je 0x1dec46
push 0
push ecx
push eax
push 5
push 4
push dword [0x1f1ba8]
push edx
mov esi, eax
call fcn.001e1c60
add esp, 0x1c
mov edi, eax
mov eax, esi
test edi, edi
js 0x1decac
mov ecx, dword [esp + 0x2c]
mov ebx, dword [eax]
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [edx + ebx + 0x3c]
add edx, ebx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [edi + ebx]
movzx esi, word [ecx + ebx]
test bp, bp
je 0x1dec85
add ebx, 2
cmp bp, si
je 0x1dec70
cmp bp, si
je 0x1dec97
mov ebx, dword [edx]
test ebx, ebx
jne 0x1dec60
mov edi, 0xc0000225
jmp 0x1decac
mov ecx, dword [edx + 0x44]
mov esi, dword [esp + 0x14]
mov dword [esi + 8], ecx
mov ecx, dword [edx + 0xdc]
mov dword [esi + 0xc], ecx
xor edi, edi
push eax
call fcn.001de970
add esp, 4
mov eax, edi
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 4