Function at 0x1006fc30
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x5c
call fcn.10071fa0
mov eax, dword [0x100f51d4]
xor eax, esp
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
push ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], eax
dec ebx
mov eax, dword [esp + 0x6c]
push ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
push esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x14], esi
push edi
test ebp, ebp
jne 0x1006fc8b
call fcn.1006e620
mov ebp, eax
test esi, esi
jne 0x1006fc93
mov dword [esp + 0x18], ebp
push ebp
call fcn.10061c60
mov edi, eax
mov ecx, ebx
add esp, 4
lea eax, [edi + edi]
sub ecx, eax
mov dword [esp + 0x24], ecx
dec ecx
push 0
cmp dword [esp + 0x18], ecx
jle 0x1006fcda
push 0
push 0x6e
push 0xa0
push 4
call fcn.1005ece0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.10071699
add esp, 0x5c
ret
inc eax
cmp ebx, eax
jge 0x1006fd07
push 0
push 0x78
push 0xa0
push 4
call fcn.1005ece0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.10071699
add esp, 0x5c
ret
mov eax, dword [esp + 0x14]
push ebp
push 0
mov byte [eax], 0
lea esi, [eax + 1]
inc eax
add eax, edi
push eax
push dword [esp + 0x94]
push dword [esp + 0x34]
call fcn.10063820
add esp, 0x18
test eax, eax
je 0x1006fe68
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
inc ebp
sub eax, dword [esp + 0x14]
add ebp, edi
dec eax
push eax
push 0
lea eax, [edi + ebp]
push eax
call fcn.10097030
mov ecx, dword [esp + 0x20]
mov eax, ebp
sub eax, ecx
sub eax, edi
push ecx
push dword [esp + 0x2c]
add eax, ebx
push eax
mov byte [eax - 1], 1
call fcn.10096ab0
push edi
push esi
call fcn.1005ae00
add esp, 0x20
test eax, eax
jle 0x1006fe68
push 0x55
sub ebx, edi
push 0x100e48d0
push ebx
call fcn.1005dfe0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x1c], ebp
test ebp, ebp
jne 0x1006fdc0
push eax
push eax
push 0x41
push 0xa0
push 4
call fcn.1005ece0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.10071699
add esp, 0x5c
ret
push dword [esp + 0x18]
push edi
push esi
push ebx
push ebp
call fcn.1006fa80
add esp, 0x14
test eax, eax
js 0x1006fe5f
test ebx, ebx
jle 0x1006fe02
mov eax, dword [esp + 0x10]
mov edx, ebx
inc eax
add eax, edi
mov ecx, eax
sub ebp, eax
lea esp, [esp]
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub edx, 1
jne 0x1006fdf0
mov ebp, dword [esp + 0x1c]
push dword [esp + 0x18]
mov eax, dword [esp + 0x14]
inc eax
push ebx
add eax, edi
push eax
lea eax, [esp + 0x34]
push edi
push eax
call fcn.1006fa80
add esp, 0x14
test eax, eax
js 0x1006fe5f
test edi, edi
jle 0x1006fe3e
lea ecx, [esp + 0x28]
sub ecx, esi
jmp 0x1006fe30
mov al, byte [ecx + esi]
lea esi, [esi + 1]
xor byte [esi - 1], al
sub edi, 1
jne 0x1006fe30
push ebp
call fcn.1005df60
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.10071699
add esp, 0x5c
ret
push ebp
call fcn.1005df60
add esp, 4
mov ecx, dword [esp + 0x68]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10071699
add esp, 0x5c
ret