Function at 0x42c090
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.004082d0
add esp, 4
mov dword [esi + 0x18], eax
mov dword [esi + 0x734], 0xb3626c4a
mov dword [esi + 0x738], 0x9daed1a5
mov word [esi + 0x73c], 0x4968
mov dword [esi + 0x73e], 0
lea eax, [esi + 0x734]
mov ecx, 0x5a0c34ef
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
mov edi, ecx
or edi, edx
lea ebx, [ecx - 0x5a0c3400]
and ebx, edx
not edi
add edi, ebx
mov edx, edi
xor edx, 0x3dc2f750
or edi, 0xc23d08af
and edx, edi
add edx, edi
mov edi, edx
xor edi, 0xfe
mov ebx, edx
or ebx, 1
and ebx, edi
not edx
or edx, 1
sub ebx, edx
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0x5a0c34e1
jne 0x42c0f0
mov eax, dword [0x4446b4]
mov dword [esi + 4], eax
mov dword [esi + 0x410], 0x88ee94f6
mov dword [esi + 0x414], 0x5a585f5f
mov dword [esi + 0x418], 0xa650545b
mov dword [esi + 0x41c], 0x69695c50
mov word [esi + 0x420], 0xd9b6
mov byte [esi + 0x422], 0xfe
mov dword [esi + 0x423], 0
mov ecx, 0xa7ffa352
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + ecx + 0x580060be]
mov edx, ecx
and edx, edi
mov eax, edx
or eax, 0xfffffffd
inc eax
mov ebx, edx
and ebx, 0x7d
imul ebx, eax
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
add ebx, edi
sub ebx, edx
add ebx, ecx
mov eax, ebx
and eax, 0x65
xor ebx, 0x65
lea eax, [ebx + eax*2]
inc al
mov byte [esi + ecx + 0x580060be], al
inc ecx
cmp ecx, 0xa7ffa369
jne 0x42c190
mov ecx, dword [str.MeHdy4__pl8vs06]
mov dword [esi + 0x9c], 0xb2ec0b01
mov dword [esi + 0xa0], 0xbcbc0fb7
mov dword [esi + 0xa4], 0x25f20db5
mov dword [esi + 0xa8], 0x3916f719
mov dword [esi + 0xac], 0x3e49484f
mov dword [esi + 0xb0], 0x4c474e4a
mov dword [esi + 0xb4], 0xe4cc2e4a
mov dword [esi + 0xb8], 0x5a5d01e0
mov dword [esi + 0xbc], 0x25213eee
mov dword [esi + 0xc0], 0x5c22ef24
mov dword [esi + 0xc4], 0xd12c6625
mov dword [esi + 0xc8], 0x666d1b30
mov dword [esi + 0xcc], 0x1e691c67
mov dword [esi + 0xd0], 0x6915126e
mov dword [esi + 0xd4], 0x4050f6c
mov dword [esi + 0xd8], 0x7400060b
mov dword [esi + 0xdc], 0xc939e570
mov dword [esi + 0xe0], 0x7e7d7424
mov dword [esi + 0xe4], 0xb144560b
mov dword [esi + 0xe8], 0x79790c56
mov dword [esi + 0xec], 0x6bba4570
mov dword [esi + 0xf0], 0x4bbe0509
mov dword [esi + 0xf4], 0x5154a34b
mov dword [esi + 0xf8], 0x56885356
mov dword [esi + 0xfc], 0x4d4547a4
mov word [esi + 0x100], 0xaf56
mov byte [esi + 0x102], 0x8e
mov byte [esi + 0x107], 0
mov dword [esi + 0x103], 0
xor edx, edx
nop
nop
nop
nop
nop
mov eax, edx
add al, 0x77
xor al, byte [esi + edx + 0x9c]
add al, 0xad
mov byte [esi + edx + 0x9c], al
inc edx
cmp edx, 0x6c
jne 0x42c300
movzx edx, byte [esi + 0x9c]
mov eax, dword [esi + 0x18]
mov ebx, eax
test dl, dl
je 0x42c34b
lea edi, [esi + 0x9d]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42c340
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42c36d
inc ecx
mov eax, dword [esi + 4]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42c360
jmp 0x42c370
mov eax, dword [esi + 4]
mov byte [ebx], 0
movzx ecx, byte [esi + 0x410]
test cl, cl
je 0x42c39b
lea edx, [esi + 0x411]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42c390
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42c3bb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c3b0
mov byte [ebx], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42c3db
lea ecx, [esi + 0x735]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42c3d0
mov byte [ebx], 0
push 0
call fcn.0043e490
add esp, 4
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
mov eax, dword [eax*4 + 0x4477dc]
mov edx, 0x75e3ab6a
xor edx, dword [0x4477e4]
add eax, edx
inc eax
jmp eax