Function at 0x42cb40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xf8
push eax
push eax
mov dword [ebp - 0x94], esp
sub esp, 8
mov dword [ebp - 0x50], esp
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x60], eax
sub esp, 0x30
mov eax, esp
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x4c], eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x98], eax
sub esp, 8
mov dword [ebp - 0x8c], esp
mov dword [ebp - 0x38], 0x69ad6b8f
mov dword [ebp - 0x34], 0x6dfe6ff8
mov dword [ebp - 0x30], 0x51f553a8
mov dword [ebp - 0x2c], 0x55f157c4
mov dword [ebp - 0x28], 0x595a5bbf
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov ecx, 0x97
mov edx, 0x68
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0xcf]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0xd
mov byte [ebp + ecx - 0xcf], bl
inc ecx
dec edx
cmp ecx, 0xaf
jne 0x42cbd0
lea esi, [ebp - 0xd0]
lea edx, [ebp - 0x38]
mov edi, esi
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xbc]
xor ebx, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [ebp - 0x80]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x452160]
mov esi, dword [ebp - 0x80]
test esi, esi
jns 0x42cc3a
mov eax, 0xffffffff
jmp 0x42cc3d
lea eax, [esi + esi]
push eax
call fcn.0040cb10
add esp, 4
mov dword [ebp - 0x68], eax
push edi
push esi
mov dword [ebp - 0x58], eax
push eax
push 9
lea eax, [ebp - 0xd0]
push eax
push 0
call dword [0x452160]
mov dword [ebp - 0x38], 0xf74ff9a4
mov dword [ebp - 0x34], 0xf34df57b
mov dword [ebp - 0x30], 0xcf40f143
mov dword [ebp - 0x2c], 0xcbcacd70
lea edx, [ebp - 0x28]
mov word [ebp - 0x28], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
and eax, 0x14
mov ecx, ebx
and ecx, 2
mov esi, ecx
xor esi, 2
imul esi, eax
or eax, 2
imul eax, ecx
mov ecx, ebx
xor ecx, 0xd6
add ecx, esi
add ecx, eax
xor cl, byte [ebp + ebx - 0x38]
add cl, 0xd2
mov byte [ebp + ebx - 0x38], cl
inc ebx
cmp ebx, 0x12
jne 0x42cc90
lea edi, [ebp - 0xbc]
lea eax, [ebp - 0x38]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [ebp - 0xac]
xor eax, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [ebp - 0x38], 0x77df0944
mov dword [ebp - 0x34], 0x73dd75eb
mov dword [ebp - 0x30], 0x7fe071e3
mov dword [ebp - 0x2c], 0x7b357dd0
mov dword [ebp - 0x28], 0x67f479d9
mov dword [ebp - 0x24], 0x63fc65c5
mov dword [ebp - 0x20], 0x6f6e61f9
lea ebx, [ebp - 0x1c]
mov word [ebp - 0x1c], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x3e
xor cl, byte [ebp + eax - 0x38]
add cl, 0xca
mov byte [ebp + eax - 0x38], cl
inc eax
cmp eax, 0x1e
jne 0x42cd30
lea edi, [ebp - 0xec]
lea eax, [ebp - 0x38]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [ebp - 0xd0]
xor edx, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [ebp - 0x38], 0x71c57fb8
mov dword [ebp - 0x34], 0x75d773c5
mov dword [ebp - 0x30], 0x49c477c5
mov dword [ebp - 0x2c], 0x4d9a4bec
mov dword [ebp - 0x28], 0x418c4f98
lea eax, [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0x4340
mov byte [ebp - 0x20], 0
xor ecx, ecx
nop
movzx edi, byte [ebp + ecx - 0x38]
mov esi, edx
and esi, 0x2a
mov eax, ecx
xor eax, 0x3201d515
add eax, esi
mov esi, edi
mov ebx, eax
xor ebx, 0xa
xor edi, 0x714d10f5
and edi, ebx
xor esi, 0x200c50a
xor eax, 0xf14d10f5
and eax, esi
or eax, edi
mov esi, eax
and esi, 1
or eax, 1
add eax, esi
add al, 0x96
mov byte [ebp + ecx - 0x38], al
inc ecx
add edx, 2
cmp ecx, 0x19
jne case.default.0x42ce63
lea esi, [ebp - 0x102]
lea eax, [ebp - 0x38]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [ebp - 0xee]
mov ecx, 1
mov eax, dword [ebp - 0x10]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xec]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], esi
mov eax, dword [ebp - 0x54]
lea ecx, [eax + 0x12]
mov dword [ebp - 0x9c], ecx
add dword [ebp - 0x58], 2
add dword [ebp - 0x84], 2
add dword [ebp - 0x64], 2
add eax, 2
mov dword [ebp - 0x54], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x5c], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44e050]
into
inc edx
add byte [eax + 0x700042ce], bh
into
inc edx
add byte [edx - 0x69ffbd32], al
xlatb
inc edx
add byte [ecx - 0x30], dl
inc edx
add byte [eax - 0x30], dh
inc edx
add byte [edi - 0x30], dl
inc edx
add byte [edi + 0x700042d0], al
rol byte [edx], 1
rcl dh, 1
inc edx
add byte [ebp - 0x19ffbd30], dl
rol byte [edx], 1
ret