Function at 0x4249a0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x6c
mov ecx, dword [esp + 0x74]
push ebx
push esi
lea eax, [esp + 0x54]
push edi
push eax
push ecx
call fcn.00422d30
lea edi, [esp + 0x60]
or ecx, 0xffffffff
xor eax, eax
mov esi, dword [esp + 0x84]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + 0x14]
mov edi, ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x90]
push ecx
push edx
push 0x4d0e
push 0xcef
push esi
push 0x456
push 0x29
call fcn.004277c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
lea ebx, [ecx + eax]
mov eax, dword [esp + 0xac]
add eax, edx
lea ecx, [esp + 0x38]
mov dword [esp + 0xa8], eax
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0xb4]
push eax
push ecx
push 0x4d0e
push 0xcef
push esi
push 0x456
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0xd0]
add esp, 0x50
test eax, eax
jne 0x424c3e
lea edx, [esp + 0x18]
lea eax, [esp + 0xc]
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x88]
push edx
push eax
push 0x4d0e
push 0xcef
push esi
push 0x456
push 0x34
mov byte [esp + 0x3c], 0
mov dword [esp + 0xa4], 0xaa
mov dword [esp + 0x38], edi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
test eax, eax
jne 0x424c3e
lea ecx, [esp + 0xc]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x88]
push eax
push ecx
push 0x4d0e
push 0xcef
push esi
push 0x456
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0xa4]
add esp, 0x24
test eax, eax
jne 0x424c3e
lea edx, [esp + 0x38]
lea eax, [esp + 0xc]
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x88]
push edx
push eax
push 0x4d0e
push 0xcef
push esi
push 0x456
push 0x34
mov byte [esp + 0x5c], 0
mov dword [esp + 0xa4], 0xb6
mov dword [esp + 0x38], edi
call fcn.004277c0
mov eax, dword [esp + 0x34]
add esp, 0x24
test eax, eax
jne 0x424c3e
lea ecx, [esp + 0xc]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x88]
push eax
push ecx
push 0x4d0e
push 0xcef
push esi
push 0x456
push 0x28
call fcn.004277c0
mov eax, dword [esp + 0xa4]
add esp, 0x24
test eax, eax
jne 0x424c3e
xor eax, eax
test edi, edi
jle 0x424ba0
mov cl, byte [esp + eax + 0x18]
xor cl, bl
mov byte [esp + eax + 0x18], cl
inc eax
cmp eax, edi
jl 0x424b91
xor eax, eax
mov byte [esp + edi + 0x18], 0
test edi, edi
jle 0x424bbe
mov dl, byte [esp + 0x7c]
mov bl, byte [esp + eax + 0x38]
xor bl, dl
mov byte [esp + eax + 0x38], bl
inc eax
cmp eax, edi
jl 0x424bab
mov byte [esp + edi + 0x38], 0
lea esi, [esp + 0x58]
lea eax, [esp + 0x18]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x424bf3
test cl, cl
je 0x424bef
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x424bf3
add eax, 2
add esi, 2
test cl, cl
jne 0x424bcb
xor eax, eax
jmp 0x424bf8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x424c3e
lea esi, [esp + 0x58]
lea eax, [esp + 0x38]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x424c2c
test cl, cl
je 0x424c28
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x424c2c
add eax, 2
add esi, 2
test cl, cl
jne 0x424c04
xor eax, eax
jmp 0x424c31
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x424c3e
pop edi
pop esi
mov al, 1
pop ebx
add esp, 0x6c
ret
pop edi
pop esi
xor al, al
pop ebx
add esp, 0x6c
ret