Function at 0x42c210
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xec
mov dword [esp], 0x93d391ad
mov dword [esp + 4], 0xafdeaddc
mov dword [esp + 8], 0xabcba9f4
mov dword [esp + 0xc], 0xa7c7a528
mov dword [esp + 0x10], 0xa3a2a19d
mov eax, 0xf964a11c
mov ecx, 0x29b5ee3
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x69b5ee4]
mov esi, ecx
and esi, 0x2805455
mov edi, eax
and edi, 0xc800a02a
or edi, esi
mov esi, edi
xor esi, 0xc41b2aaa
xor edi, 0x292087b
and edi, esi
mov esi, eax
and esi, 0x19448111
or esi, edi
mov edi, edx
xor edi, 0xe020742e
xor edx, 0x1fcd83d1
or edi, esi
not esi
or esi, edx
and esi, edi
lea edi, [esi + 0x2108da73]
mov edx, edi
and edx, 1
mov ebp, 0xdef7258c
sub ebp, esi
mov ebx, ebp
not ebx
and ebp, 0x69
and edi, 0x96
or edi, ebp
and ebx, 1
or ebx, edi
xor ebx, 0x68
add ebx, edx
mov byte [esp + eax + 0x69b5ee4], bl
inc eax
dec ecx
cmp eax, 0xf964a130
jne 0x42c250
lea esi, [esp + 0xc2]
mov eax, esp
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xd6]
lea eax, [esp + 0x14]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x58]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x450e98]
mov ebx, dword [esp + 0x58]
test ebx, ebx
jns 0x42c322
mov eax, 0xffffffff
jmp 0x42c325
lea eax, [ebx + ebx]
push eax
call fcn.0040c820
add esp, 4
mov ebp, eax
push edi
push ebx
push eax
push 9
push esi
push 0
call dword [0x450e98]
mov dword [esp], 0x239b2164
mov dword [esp + 4], 0x27852597
mov dword [esp + 8], 0x3b883987
mov dword [esp + 0xc], 0x3f3e3d98
mov word [esp + 0x10], 0
mov eax, 8
mov ecx, 0xf7
nop
nop
movzx esi, byte [esp + eax - 8]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xd8
mov byte [esp + eax - 8], dl
inc eax
dec ecx
cmp eax, 0x1a
jne 0x42c370
mov dword [esp + 0x34], ebp
lea edi, [esp + 0x96]
mov eax, esp
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xa6]
lea eax, [esp + 0x10]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp], 0x11851f58
mov dword [esp + 4], 0x15771385
mov dword [esp + 8], 0x9841785
mov dword [esp + 0xc], 0xd4f0b6c
mov dword [esp + 0x10], 0x1900f6f
mov dword [esp + 0x14], 0x5900363
mov dword [esp + 0x18], 0x3906078f
lea esi, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov ecx, 5
mov edx, 0xfa
movzx eax, byte [esp + ecx - 5]
mov edi, eax
not edi
or edi, ecx
or eax, edx
not eax
lea ebx, [edi + edi]
not ebx
add ebx, edi
or ebx, eax
add bl, 0xe7
mov byte [esp + ecx - 5], bl
inc ecx
dec edx
cmp ecx, 0x25
jne 0x42c400
lea edi, [esp + 0xa6]
mov eax, esp
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc2]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp], 0x936b914c
mov dword [esp + 4], 0xaf4dad5f
mov dword [esp + 8], 0xab58a95f
mov dword [esp + 0xc], 0xa776a558
mov dword [esp + 0x10], 0xa360a14c
lea ebx, [esp + 0x14]
mov dword [esp + 0x14], 0xbdbc
mov byte [esp + 0x18], 0
mov ecx, 0xdefd635c
mov esi, 0x21029ca3
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x21029ca4]
mov edi, eax
and edi, ecx
mov edx, edi
and edx, 0x7d
mov ebp, edi
and ebp, 2
or edi, 2
imul edi, ebp
xor ebp, 2
imul ebp, edx
add edi, ebp
mov edx, edi
xor edx, ecx
and edi, esi
add edi, edi
sub edx, edi
add dl, al
add dl, 0x34
mov byte [esp + ecx + 0x21029ca4], dl
inc ecx
dec esi
cmp ecx, 0xdefd6375
jne 0x42c490
lea esi, [esp + 0xd6]
mov eax, esp
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xea]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x96]
mov dword [esp + 0x88], eax
lea eax, [esp + 0xa6]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], esi
mov ebp, dword [esp + 0x34]
mov eax, ebp
add eax, 2
mov dword [esp + 0x68], eax
mov dword [esp + 0x48], 0
mov eax, dword [case.0x42bd2e.45]
xor ecx, ecx
nop
nop
nop
nop
nop
nop