Function at 0x600000
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x64
call fcn.0042e3a0
mov eax, dword [0x71906c]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x70]
push esi
mov esi, dword [esp + 0x90]
push edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
dec edi
mov eax, dword [esp + 0x88]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x60000e
call fcn.005af480
mov ecx, eax
mov dword [esp + 0x18], eax
test esi, esi
push ecx
cmove esi, ecx
mov dword [esp + 0x2c], esi
call fcn.005c7040
mov esi, eax
mov ecx, edi
add esp, 4
lea eax, [esi + esi]
sub ecx, eax
mov dword [esp + 0x24], ecx
dec ecx
cmp ebx, ecx
jle 0x60005f
push 0x3c
push 0x6d4088
push 0x6e
push 0x9a
push 4
call fcn.005b5d50
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d065
add esp, 0x64
ret
inc eax
cmp edi, eax
jge 0x600091
push 0x42
push 0x6d4088
push 0x78
push 0x9a
push 4
call fcn.005b5d50
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d065
add esp, 0x64
ret
push 0
push dword [esp + 0x1c]
mov byte [ebp], 0
lea ebx, [ebp + 1]
inc ebp
mov dword [esp + 0x28], ebx
push 0
add ebp, esi
push ebp
push dword [esp + 0x9c]
mov dword [esp + 0x30], ebp
push dword [esp + 0x40]
call fcn.005aec30
add esp, 0x18
test eax, eax
je 0x600319
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x14]
dec eax
push eax
lea eax, [esi + ebp]
push 0
push eax
call fcn.00507100
mov ecx, dword [esp + 0x20]
mov eax, ebp
sub eax, ecx
sub eax, esi
push ecx
push dword [esp + 0x20]
add eax, edi
push eax
mov byte [eax - 1], 1
call fcn.00507350
push esi
push ebx
call fcn.005b3d20
add esp, 0x20
test eax, eax
jle 0x600319
push 0x57
sub edi, esi
push 0x6d4088
push edi
call fcn.005a8780
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x600152
push 0x59
push 0x6d4088
push 0x41
push 0x9a
push 4
call fcn.005b5d50
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d065
add esp, 0x64
ret
push dword [esp + 0x28]
push esi
push ebx
push edi
push ebp
call fcn.005ffe20
add esp, 0x14
test eax, eax
js 0x600309
xor edx, edx
test edi, edi
jle 0x600226
mov ecx, dword [esp + 0x1c]
cmp edi, 0x20
jb 0x6001f6
lea eax, [ebp - 1]
add eax, edi
cmp ecx, eax
ja 0x60018f
lea eax, [ecx - 1]
add eax, edi
cmp eax, ebp
jae 0x6001f6
mov eax, edi
and eax, 0x8000001f
jns 0x60019d
dec eax
or eax, 0xffffffe0
inc eax
mov dword [esp + 0x14], edi
mov ebx, ebp
sub dword [esp + 0x14], eax
sub ebx, ecx
mov dword [esp + 0x10], ebx
mov eax, ecx
lea ebx, [ebp + 0x10]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmm1, xmmword [eax + ebp - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
movups xmm1, xmmword [ecx + edx]
add edx, 0x20
movups xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movups xmmword [eax - 0x10], xmm1
cmp edx, dword [esp + 0x14]
jl 0x6001c2
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp edx, edi
jge 0x600226
mov dword [esp + 0x10], ebp
mov ebx, edi
sub ebp, dword [esp + 0x1c]
add ecx, edx
sub ebx, edx
nop dword [eax + eax]
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub ebx, 1
jne 0x600210
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
push dword [esp + 0x28]
lea eax, [esp + 0x34]
push edi
push dword [esp + 0x24]
push esi
push eax
call fcn.005ffe20
add esp, 0x14
test eax, eax
js 0x600309
xor edx, edx
test esi, esi
jle 0x6002e1
cmp esi, 0x20
jb 0x6002c4
lea ecx, [ebx - 1]
lea eax, [esp + esi + 0x2f]
add ecx, esi
cmp ebx, eax
ja 0x600269
lea eax, [esp + 0x30]
cmp ecx, eax
jae 0x6002c4
mov eax, esi
and eax, 0x8000001f
jns 0x600277
dec eax
or eax, 0xffffffe0
inc eax
mov ecx, esi
lea edi, [esp + 0x30]
sub ecx, eax
lea ebp, [esp + 0x40]
sub edi, ebx
mov eax, ebx
sub ebp, ebx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
movups xmm0, xmmword [eax]
add edx, 0x20
lea eax, [eax + 0x20]
movups xmm1, xmmword [edi + eax - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
movups xmm0, xmmword [eax - 0x10]
movups xmm1, xmmword [ebx + eax - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x10], xmm1
cmp edx, ecx
jl 0x600295
mov ebx, dword [esp + 0x20]
cmp edx, esi
jge 0x6002e1
lea edi, [esp + 0x30]
sub edi, ebx
lea ecx, [edx + ebx]
sub esi, edx
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub esi, 1
jne 0x6002d3
push 0x67
push 0x6d4088
push ebp
call fcn.005a87b0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d065
add esp, 0x64
ret
push 0x6b
push 0x6d4088
push ebp
call fcn.005a87b0
add esp, 0xc
mov ecx, dword [esp + 0x70]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042d065
add esp, 0x64
ret