Function at 0x42cde0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf8
mov dword [esp + 4], 0x4f8f496d
mov dword [esp + 8], 0x43d24ddc
mov dword [esp + 0xc], 0x47a74184
mov dword [esp + 0x10], 0x7b9b45d0
mov dword [esp + 0x14], 0x7f7e795d
lea eax, [esp + 0x18]
mov dword [esp + 0x40], eax
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
lea ecx, [esp + 4]
xor edx, edx
xor eax, eax
nop
nop
movzx ebx, byte [ecx]
mov edi, edx
and edi, 0x6bfd6ddc
mov esi, eax
xor esi, 0xca014911
sub esi, edi
lea ebp, [esi + 1]
lea edi, [esi*2 + 2]
not edi
add edi, esi
inc edi
mov esi, ebp
not esi
and edi, esi
mov esi, edi
or esi, ebx
xor edi, ebx
add edi, ebx
or ebp, ebx
not edi
add edi, esi
and edi, ebp
lea esi, [edi + 0xdf992a5]
mov ebx, esi
or edi, 0xfe
or esi, 1
and esi, edi
and ebx, 1
lea ebx, [esi + ebx*2]
mov byte [ecx], bl
inc ecx
dec eax
add edx, 0xfffffffe
cmp eax, 0xffffffe9
jne 0x42ce30
lea esi, [esp + 0xb2]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc6]
xor ebx, ebx
xor ecx, ecx
mov eax, dword [esp + 0x40]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x60]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x45070c]
mov ebp, dword [esp + 0x60]
test ebp, ebp
jns 0x42cedc
mov eax, 0xffffffff
jmp 0x42cee3
lea eax, [ebp*2]
push eax
call fcn.0040cd40
add esp, 4
push edi
push ebp
mov dword [esp + 0x50], eax
push eax
push 9
push esi
push 0
call dword [0x45070c]
mov dword [esp + 4], 0x933b91dc
mov dword [esp + 8], 0x9f3d9d0f
mov dword [esp + 0xc], 0x9b08990f
mov dword [esp + 0x10], 0x87868528
lea edx, [esp + 0x14]
mov word [esp + 0x14], 0
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0xa4
xor al, byte [esp + ebx + 4]
add al, 0xcc
mov byte [esp + ebx + 4], al
inc ebx
cmp ebx, 0x12
jne 0x42cf30
lea eax, [esp + 0xa2]
lea esi, [esp + 4]
mov edi, eax
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xb2]
xor ebx, ebx
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 4], 0xc36bc104
mov dword [esp + 8], 0xc765c557
mov dword [esp + 0xc], 0xcb58c967
mov dword [esp + 0x10], 0xcf0dcd68
mov dword [esp + 0x14], 0xb31cb111
mov dword [esp + 0x18], 0xb724b515
mov dword [esp + 0x1c], 0xbbbab921
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
add cl, 0xb0
xor cl, byte [esp + ebx + 4]
add cl, 0x90
mov byte [esp + ebx + 4], cl
inc ebx
cmp ebx, 0x1c
jne 0x42cfb0
lea edx, [esp + 0xdc]
lea esi, [esp + 4]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xf8]
lea esi, [esp + 0x20]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x33db31fc
mov dword [esp + 8], 0x3fdd3dcf
mov dword [esp + 0xc], 0x3bc839cf
mov dword [esp + 0x10], 0xc716c528
mov dword [esp + 0x14], 0xc300c11c
lea esi, [esp + 0x18]
mov dword [esp + 0x18], 0xcdcc
mov byte [esp + 0x1c], 0
mov ecx, 0xb7270974
movzx edi, byte [esp + ecx + 0x48d8f690]
xor edi, ecx
add edi, 0x6c3cd0bb
mov ebx, edi
xor ebx, 0xfe
or edi, 1
and ebx, edi
add ebx, edi
mov byte [esp + ecx + 0x48d8f690], bl
inc ecx
cmp ecx, 0xb727098d
jne 0x42d030
lea ebx, [esp + 0xc6]
lea ebp, [esp + 4]
mov edi, ebx
mov ecx, 5
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
lea edi, [esp + 0xda]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ebx
mov eax, dword [esp + 0x48]
add eax, 2
mov dword [esp + 0x6c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x64], 0
cmp ecx, 0xc
setne al
mov dword [esp + 0x58], 0
jmp dword [eax*4 + 0x44ca50]