Function at 0x42e940
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.0040c560
add esp, 4
mov dword [esi + 0x1c], eax
mov dword [esi + 0x734], 0x33c2dcfa
mov dword [esi + 0x738], 0x2d1e1105
mov word [esi + 0x73c], 0xf9d8
mov dword [esi + 0x73e], 0
mov byte [esi + 0x742], 0
mov eax, 0x7438e5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax - 0x7431b1]
lea edi, [eax - 0x7438bd]
and edi, edx
mov ebx, edi
and ebx, 0x3d
mov ecx, edi
or ecx, 0xfffffffd
inc ecx
imul ecx, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
add ecx, edx
sub ecx, edi
add edx, eax
add ecx, eax
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x7a
mov byte [esi + eax - 0x7431b1], cl
inc eax
cmp eax, 0x7438f4
jne 0x42e9a0
mov eax, dword [str.5c9b8674a630d9101b46733aa37f15ec]
mov dword [esi], eax
mov dword [esi + 0x410], 0xe836cc2e
mov dword [esi + 0x414], 0x8a888787
mov dword [esi + 0x418], 0xee809c8b
mov dword [esi + 0x41c], 0x99999480
mov dword [esi + 0x420], 0x629ce
lea ecx, [esi + 0x410]
xor eax, eax
xor edi, edi
nop
nop
mov edx, eax
and edx, 0x74
mov ebx, edi
xor ebx, 0xc5
sub ebx, edx
inc bl
xor bl, byte [ecx]
add bl, 0x22
mov byte [ecx], bl
inc ecx
dec edi
add eax, 0xfffffffe
cmp edi, 0xffffffec
jne 0x42ea30
mov ecx, dword [str.tLYMe5__2]
mov dword [esi + 0x9c], 0xa2745b51
mov dword [esi + 0xa0], 0xb4b447bf
mov dword [esi + 0xa4], 0x9d4265bd
mov dword [esi + 0xa8], 0xb96e4f69
mov dword [esi + 0xac], 0x86b9b8b7
mov dword [esi + 0xb0], 0x848f86ba
mov dword [esi + 0xb4], 0x7c64868a
mov dword [esi + 0xb8], 0x9a855170
mov dword [esi + 0xbc], 0x8db1a676
mov dword [esi + 0xc0], 0x9492678c
mov dword [esi + 0xc4], 0x61449ead
mov dword [esi + 0xc8], 0x9e959b40
mov dword [esi + 0xcc], 0xa699a49f
mov dword [esi + 0xd0], 0xe9dde296
mov dword [esi + 0xd4], 0x7eee2da
mov dword [esi + 0xd8], 0xe6ca1f23
mov dword [esi + 0xdc], 0x34d5e8ef
mov dword [esi + 0xe0], 0xfe280726
mov dword [esi + 0xe4], 0x27cef7f3
mov dword [esi + 0xe8], 0xf1c3de00
mov dword [esi + 0xec], 0x9320b0c
mov dword [esi + 0xf0], 0x9080736
mov dword [esi + 0xf4], 0xe5320022
mov dword [esi + 0xf8], 0x3d1813e7
mov byte [esi + 0xfc], 0x5c
mov byte [esi + 0xff], 0
mov word [esi + 0xfd], 0
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
and eax, 0x16
mov ebx, edi
xor ebx, 0x8b
add ebx, eax
xor bl, byte [esi + edi + 0x9c]
add bl, 0x49
mov byte [esi + edi + 0x9c], bl
inc edi
add edx, 2
cmp edi, 0x64
jne 0x42eb70
movzx edx, byte [esi + 0x9c]
mov eax, dword [esi + 0x1c]
test dl, dl
je 0x42ebbb
lea edi, [esi + 0x9d]
mov eax, dword [esi + 0x1c]
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42ebb0
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42ebdb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42ebd0
mov byte [eax], 0
movzx ecx, byte [esi + 0x410]
test cl, cl
je 0x42ebfb
lea edx, [esi + 0x411]
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42ebf0
mov byte [eax], 0
mov edx, dword [esi]
movzx ecx, byte [edx]
test cl, cl
je 0x42ec1b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42ec10
mov edi, eax
mov byte [eax], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42ec4b
lea ecx, [esi + 0x735]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42ec40
mov byte [edi], 0
push 0
call fcn.00442880
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x18], edi
mov ebx, edi
jmp dword [ecx*4 + 0x44c50c]