Function at 0x43255e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0xc], 0
jne 0x43256f
xor eax, eax
jmp 0x432785
xor eax, eax
inc eax
je 0x4325b1
mov dword [ebp - 4], 1
movzx eax, byte [ebp - 4]
test eax, eax
je 0x43259b
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00432d29
add esp, 0xc
jmp 0x432785
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00432789
add esp, 0xc
jmp 0x432785
mov eax, dword [ebp + 8]
xor eax, 0xffffffff
mov dword [ebp + 8], eax
cmp dword [ebp + 0x10], 8
jb 0x432742
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
sub eax, 8
mov dword [ebp + 0x10], eax
jmp 0x4325ba
cmp dword [ebp + 0x10], 0
je 0x43277f
mov eax, 0x400
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx]
xor ecx, dword [ebp + 8]
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
xor edx, dword [eax + ecx*4 + 0x45f848]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
dec eax
mov dword [ebp + 0x10], eax
jne 0x432748
mov eax, dword [ebp + 8]
xor eax, 0xffffffff
mov esp, ebp
pop ebp
ret