Function at 0x600000
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x64
call fcn.0042ea90
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 0x5ffd4e
call fcn.005af1b0
mov ecx, eax
mov dword [esp + 0x18], eax
test esi, esi
push ecx
cmove esi, ecx
mov dword [esp + 0x2c], esi
call fcn.005c6d70
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 0x5ffd9f
push 0x3c
push 0x6d3ff8
push 0x6e
push 0x9a
push 4
call fcn.005b5a80
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d755
add esp, 0x64
ret
inc eax
cmp edi, eax
jge 0x5ffdd1
push 0x42
push 0x6d3ff8
push 0x78
push 0x9a
push 4
call fcn.005b5a80
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d755
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.005ae960
add esp, 0x18
test eax, eax
je 0x600059
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x14]
dec eax
push eax
lea eax, [esi + ebp]
push 0
push eax
call fcn.00506fc0
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.00507210
push esi
push ebx
call fcn.005b3a50
add esp, 0x20
test eax, eax
jle 0x600059
push 0x57
sub edi, esi
push 0x6d3ff8
push edi
call fcn.005a84b0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x18], ebp
test ebp, ebp
jne 0x5ffe92
push 0x59
push 0x6d3ff8
push 0x41
push 0x9a
push 4
call fcn.005b5a80
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d755
add esp, 0x64
ret
push dword [esp + 0x28]
push esi
push ebx
push edi
push ebp
call fcn.005ffb60
add esp, 0x14
test eax, eax
js 0x600049
xor edx, edx
test edi, edi
jle 0x5fff66
mov ecx, dword [esp + 0x1c]
cmp edi, 0x20
jb 0x5fff36
lea eax, [ebp - 1]
add eax, edi
cmp ecx, eax
ja 0x5ffecf
lea eax, [ecx - 1]
add eax, edi
cmp eax, ebp
jae 0x5fff36
mov eax, edi
and eax, 0x8000001f
jns 0x5ffedd
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 0x5fff02
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp edx, edi
jge 0x5fff66
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 0x5fff50
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.005ffb60
add esp, 0x14
test eax, eax
js 0x600049
xor edx, edx
test esi, esi
jle 0x600021
cmp esi, 0x20
jb 0x600004
lea ecx, [ebx - 1]
lea eax, [esp + esi + 0x2f]
add ecx, esi
cmp ebx, eax
ja 0x5fffa9
lea eax, [esp + 0x30]
cmp ecx, eax
jae 0x600004
mov eax, esi
and eax, 0x8000001f
jns 0x5fffb7
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 0x5fffd5
mov ebx, dword [esp + 0x20]
cmp edx, esi
jge 0x600021
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 0x600013
push 0x67
push 0x6d3ff8
push ebp
call fcn.005a84e0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042d755
add esp, 0x64
ret
push 0x6b
push 0x6d3ff8
push ebp
call fcn.005a84e0
add esp, 0xc
mov ecx, dword [esp + 0x70]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042d755
add esp, 0x64
ret