Function at 0x1002e052
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x270
mov esi, dword [esp + 0x284]
push esi
call fcn.10014eaa
cmp eax, 0xffffffff
jne 0x1002e083
xor eax, eax
push eax
push eax
push esi
call fcn.10014b2c
add esp, 0xc
test eax, eax
jne 0x1002e401
movzx eax, word [0x10042bb2]
lea ebp, [esp + 0x54]
mov word [ebp + 0x10], ax
movups xmm0, xmmword [str.copy__y]
movups xmmword [ebp], xmm0
mov eax, dword [0x10042bbc]
lea ebx, [esp + 0x34]
mov dword [ebx + 8], eax
movsd xmm0, qword [str._dp0]
movsd qword [ebx], xmm0
movups xmm0, xmmword [str._temp__]
lea eax, [esp + 8]
movups xmmword [eax], xmm0
movzx eax, word [0x10042be0]
mov word [esp + 0x50], ax
movups xmm0, xmmword [str.start__b]
movups xmmword [esp + 0x40], xmm0
mov esi, esp
mov ecx, esi
call fcn.10013ddc
mov ecx, esi
push ebp
call fcn.10013e6e
mov ecx, esi
push ebx
call fcn.10014114
mov edi, str.1.exe
mov ecx, esi
push edi
call fcn.10014114
mov ecx, esi
push 0x10042cd0
call fcn.10014114
mov ecx, esi
lea eax, [esp + 8]
push eax
call fcn.10014114
mov ecx, esi
push edi
call fcn.10014114
mov ecx, esi
push 0x10040500
call fcn.10014114
mov ecx, esi
push ebp
call fcn.10014114
mov ecx, esi
push ebx
call fcn.10014114
mov dword [esp + 0x78], 0xefcaef85
mov dword [esp + 0x7c], 0xef8aef81
mov dword [esp + 0x80], 0xefe8ef8b
mov word [esp + 0x9e], 0
movaps xmm0, xmmword [0x100421c0]
movups xmmword [esp + 0x68], xmm0
xor eax, eax
inc eax
lea ecx, [eax - 0x1025]
xor word [esp + eax*2 + 0x68], cx
inc eax
cmp eax, 0x1b
jne 0x1002e171
xor ebx, ebx
lea edi, [esp + 0x68]
mov word [edi + 0x36], bx
mov esi, esp
mov ecx, esi
push edi
call fcn.10014114
mov ecx, esi
push 0x10042cd0
call fcn.10014114
mov ecx, esi
lea eax, [esp + 8]
push eax
call fcn.10014114
mov dword [edi + 0x10], 0xefcaef85
mov dword [edi + 0x14], 0xef8aef81
mov dword [edi + 0x18], 0xefe8ef8b
mov word [edi + 0x36], bx
movaps xmm0, xmmword [0x100421c0]
movups xmmword [edi], xmm0
xor eax, eax
inc eax
lea ecx, [eax - 0x1025]
xor word [esp + eax*2 + 0x68], cx
inc eax
cmp eax, 0x1b
jne 0x1002e1d4
xor ebx, ebx
mov word [esp + 0x9e], bx
mov esi, esp
mov ecx, esi
push edi
call fcn.10014114
mov ecx, esi
push 0x10040500
call fcn.10014114
mov ecx, esi
push ebp
call fcn.10014114
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.10014114
mov dword [esp + 0x6c], 0xefecef81
mov dword [esp + 0x70], 0xefe0ef83
mov word [esp + 0x7e], bx
mov dword [esp + 0x68], 0xeff2002e
xor eax, eax
inc eax
lea ecx, [eax - 0x1025]
xor word [esp + eax*2 + 0x68], cx
inc eax
cmp eax, 0xb
jne 0x1002e239
xor esi, esi
mov word [esp + 0x7e], si
mov ecx, esp
push edi
call fcn.10014114
mov dword [esp + 0x78], 0xef90ef82
mov word [esp + 0x7c], 0xefe5
mov word [esp + 0x92], si
movaps xmm0, xmmword [0x100421d0]
movups xmmword [esp + 0x68], xmm0
xor eax, eax
inc eax
lea ecx, [eax - 0x1025]
xor word [esp + eax*2 + 0x68], cx
inc eax
cmp eax, 0x15
jne 0x1002e27f
xor ebx, ebx
mov word [esp + 0x92], bx
mov esi, esp
mov ecx, esi
push edi
call fcn.10014114
mov ecx, esi
push 0x10042cd0
call fcn.10014114
mov ecx, esi
lea eax, [esp + 8]
push eax
call fcn.10014114
mov dword [esp + 0x78], 0xef90ef82
mov word [esp + 0x7c], 0xefe5
mov word [esp + 0x92], bx
movaps xmm0, xmmword [0x100421d0]
movups xmmword [esp + 0x68], xmm0
xor eax, eax
inc eax
lea ecx, [eax - 0x1025]
xor word [esp + eax*2 + 0x68], cx
inc eax
cmp eax, 0x15
jne 0x1002e2e2
xor ebp, ebp
mov word [esp + 0x92], bp
mov esi, esp
mov ecx, esi
push edi
call fcn.10014114
mov ecx, esi
push 0x10040500
call fcn.10014114
lea eax, [esp + 0x40]
mov ecx, esi
push eax
call fcn.10014114
mov ebx, 0x10042cd0
mov ecx, esi
push ebx
call fcn.10014114
mov ecx, esi
lea eax, [esp + 8]
push eax
call fcn.10014114
mov ecx, esi
push str.1.exe
call fcn.10014114
mov ecx, esi
push ebx
call fcn.10014114
mov ecx, esi
push dword [esp + 0x288]
call fcn.10014114
mov ecx, esi
push ebx
call fcn.10014114
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.10014114
mov ecx, esi
push ebp
call fcn.1001421c
push 0x208
push ebp
push edi
call fcn.10031f20
add esp, 0xc
mov dword [esp + 0x1c], 0xeffbefae
mov dword [esp + 0x20], 0xef93efa8
mov word [esp + 0x24], 0xefe1
mov word [esp + 0x32], bp
mov dword [esp + 0x18], 0xefab0025
xor eax, eax
inc eax
lea ecx, [eax - 0x1025]
xor word [esp + eax*2 + 0x18], cx
inc eax
cmp eax, 0xd
jne 0x1002e3ac
lea eax, [esp + 0x18]
mov word [eax + 0x1a], 0
push str.1.bat
push dword [esp + 0x288]
push eax
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov esi, esp
push dword [esi + 4]
push dword [esi]
push edi
call fcn.10014b2c
add esp, 0xc
push 0x3e8
call fcn.100151f2
mov ecx, esi
call fcn.10013eba
xor eax, eax
add esp, 0x270
pop esi
pop edi
pop ebx
pop ebp
ret