Function at 0x42a400
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.0040cc40
add esp, 4
mov dword [esi + 0x10], eax
mov dword [esi + 0x704], 0x5186b09e
mov dword [esi + 0x708], 0x977a6f43
mov word [esi + 0x70c], 0xdfbc
mov dword [esi + 0x70e], 0
mov eax, 0xd9
mov ecx, 6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 0x19
mov edx, eax
and edx, 0xa6
or edx, edi
xor dl, byte [esi + eax + 0x62b]
xor dl, 0x59
add dl, 0xc3
mov byte [esi + eax + 0x62b], dl
inc eax
dec ecx
cmp eax, 0xe7
jne 0x42a460
mov eax, dword [str.5c9b8674a630d9101b46733aa37f15ec]
mov dword [esi], eax
mov dword [esi + 0x404], 0x80e2ecca
mov dword [esi + 0x408], 0xaea0abab
mov dword [esi + 0x40c], 0xaa585caf
mov dword [esi + 0x410], 0xa1a1a458
mov word [esi + 0x414], 0xd1aa
mov byte [esi + 0x416], 0xf2
mov word [esi + 0x417], 0
mov byte [esi + 0x419], 0
xor ecx, ecx
nop
nop
nop
movzx edx, byte [esi + ecx + 0x404]
mov eax, 0x2f
sub eax, ecx
and eax, 0x32
mov edi, ecx
and edi, 0xd
or edi, eax
lea ebx, [ecx + 0x50]
xor edi, 0x32
or edi, ebx
and edi, edx
or ebx, edx
xor ebx, edi
add bl, 0x70
mov byte [esi + ecx + 0x404], bl
mov eax, ecx
not eax
or eax, 1
lea edx, [ecx + eax]
inc edx
mov ebx, edx
and ebx, 2
mov edi, edx
or edx, 2
imul edx, ebx
xor ebx, 2
and edi, 0xfffffffd
imul edi, ebx
xor ecx, 1
add ecx, edx
add ecx, edi
cmp ecx, 0x16
jb 0x42a4e0
mov ecx, dword [str.tLYMe5__2]
mov dword [esi + 0xac], 0xea182927
mov dword [esi + 0xb0], 0xe0e035ed
mov dword [esi + 0xb4], 0x33e17eb
mov dword [esi + 0xb8], 0xef1a3d17
mov dword [esi + 0xbc], 0x613ece5
mov dword [esi + 0xc0], 0x10191616
mov dword [esi + 0xc4], 0xc0b8161e
mov dword [esi + 0xc8], 0x1217e3cc
mov dword [esi + 0xcc], 0x31bf6c2
mov dword [esi + 0xd0], 0x6d500
mov dword [esi + 0xd4], 0xdff80e1b
mov dword [esi + 0xd8], 0x51b08fc
mov dword [esi + 0xdc], 0x333a140f
mov dword [esi + 0xe0], 0x22373039
mov dword [esi + 0xe4], 0x9932322e
mov dword [esi + 0xe8], 0x36deedf9
mov dword [esi + 0xec], 0xd8373c3d
mov dword [esi + 0xf0], 0x2edcf5ea
mov dword [esi + 0xf4], 0xd9322539
mov dword [esi + 0xf8], 0x2129cffc
mov dword [esi + 0xfc], 0x8797f9f8
mov dword [esi + 0x100], 0x9f9c959a
mov dword [esi + 0x104], 0xbb8e94f6
mov dword [esi + 0x108], 0x8baca1a5
mov byte [esi + 0x10c], 0xe8
mov byte [esi + 0x111], 0
mov dword [esi + 0x10d], 0
xor edx, edx
nop
nop
mov edi, edx
and edi, 0x6c
mov ebx, edx
and ebx, 2
mov eax, ebx
xor eax, 2
imul eax, edi
or edi, 2
imul edi, ebx
mov ebx, edx
xor ebx, 0xee
add ebx, eax
add ebx, edi
xor bl, byte [esi + edx + 0xac]
add bl, 0x5a
mov byte [esi + edx + 0xac], bl
inc edx
cmp edx, 0x66
jne 0x42a650
movzx edx, byte [esi + 0xac]
mov edi, dword [esi + 0x10]
test dl, dl
je 0x42a6bb
lea ebx, [esi + 0xad]
mov edi, dword [esi + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x42a6b0
mov byte [edi], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42a6dd
inc ecx
mov eax, dword [esi]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42a6d0
jmp 0x42a6df
mov eax, dword [esi]
mov byte [edi], 0
movzx ecx, byte [esi + 0x404]
test cl, cl
je 0x42a70b
lea edx, [esi + 0x405]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42a700
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42a72b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42a720
mov byte [edi], 0
movzx eax, byte [esi + 0x704]
test al, al
je 0x42a74b
lea ecx, [esi + 0x705]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42a740
mov byte [edi], 0
push 0
call fcn.0043f9d0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x4487b4]
mov ecx, 0x41d96666
xor ecx, dword [0x4487bc]
add ecx, edx
inc ecx
mov edx, edi
jmp ecx