Function at 0x42c250
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 4], 0xf3b3f19d
mov dword [esp + 8], 0xff4efd4c
mov dword [esp + 0xc], 0xfb5bf9b4
mov dword [esp + 0x10], 0xc767c578
mov dword [esp + 0x14], 0xc3c2c1ad
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x54
xor cl, byte [esp + eax + 4]
add cl, 0x5c
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 0x14
jne 0x42c290
lea esi, [esp + 0xae]
lea eax, [esp + 4]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc2]
lea eax, [esp + 0x18]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x5c]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x44fbb0]
mov ebx, dword [esp + 0x5c]
test ebx, ebx
jns 0x42c2f1
mov eax, 0xffffffff
jmp 0x42c2f4
lea eax, [ebx + ebx]
push eax
call fcn.0040cda0
add esp, 4
push edi
push ebx
mov dword [esp + 0x50], eax
push eax
push 9
push esi
push 0
call dword [0x44fbb0]
mov dword [esp + 4], 0x9fd0bd0
mov dword [esp + 8], 0x5fb0785
mov dword [esp + 0xc], 0x18c03f5
mov dword [esp + 0x10], 0x1d1e1ffc
mov eax, 0xc3
mov ecx, 0x3c
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xbf]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x31
mov byte [esp + eax - 0xbf], dl
inc eax
dec ecx
cmp eax, 0xd3
jne 0x42c340
lea ebp, [esp + 0x9e]
lea eax, [esp + 4]
mov edi, ebp
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xae]
lea eax, [esp + 0x14]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 4], 0x16d0748
mov dword [esp + 8], 0xd6f037d
mov dword [esp + 0xc], 0x97c0f7d
mov dword [esp + 0x10], 0x15470b64
mov dword [esp + 0x14], 0x11601777
mov dword [esp + 0x18], 0x1d601373
mov dword [esp + 0x1c], 0x191e1f67
mov ecx, 0xfc77e681
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x3881983]
mov edx, eax
and edx, ecx
add dl, dl
sub al, dl
movzx eax, al
add eax, ecx
add al, 0x7b
mov byte [esp + ecx + 0x3881983], al
inc ecx
cmp ecx, 0xfc77e69d
jne 0x42c3d0
lea edx, [esp + 0xd8]
lea eax, [esp + 4]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf4]
lea eax, [esp + 0x20]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 4], 0x59a55b80
mov dword [esp + 8], 0x5dbb5fad
mov dword [esp + 0xc], 0x51a453ad
mov dword [esp + 0x10], 0x558657b4
mov dword [esp + 0x14], 0x69ac6b80
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0x6f68
mov dword [esp + 0x1a], 0
mov ecx, 0xacfb5e8f
nop
movzx eax, byte [esp + ecx + 0x5304a175]
xor eax, ecx
mov esi, eax
and esi, 1
or eax, 1
add eax, esi
add al, 0x34
mov byte [esp + ecx + 0x5304a175], al
inc ecx
cmp ecx, 0xacfb5ea9
jne 0x42c460
lea esi, [esp + 0xc2]
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 + 0xd6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
mov ebp, dword [esp + 0x48]
mov eax, ebp
add eax, 2
mov dword [esp + 0x68], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x60], 0
cmp ecx, 0xc
setne al
xor esi, esi
jmp dword [eax*4 + 0x44bde8]