Function at 0x10001a60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, ecx
mov esi, 5
call fcn.100019f0
call fcn.100013a0
mov ecx, dword [0x1000fdc4]
sub ecx, eax
mov dword [0x1000fddc], ecx
call fcn.10001d90
or eax, 0xf06fb7
dec esi
mov dword [0x1000fdb8], eax
jne 0x10001a70
mov edx, dword [0x1000fdec]
sub edx, dword [0x1000fdd8]
cmp dword [0x1000fdd0], 0xb2d21d
mov dword [0x1000fe08], edx
mov dword [0x1000fdc8], 0xdfaebe
mov dword [0x1000fe00], 0xe144de
jge 0x10001b22
call fcn.10001740
mov esi, eax
call fcn.10001620
cmp esi, eax
jge 0x10001af2
call fcn.10001320
mov edx, eax
call fcn.10001df0
sub edx, eax
mov dword [0x1000fdbc], edx
jmp 0x10001b2c
mov eax, dword [0x1000fe0c]
cmp eax, dword [0x1000fdc4]
jge 0x10001b2c
call fcn.10002130
mov ecx, dword [0x1000fddc]
and eax, 0x370173
xor ecx, 0x8677b0
mov dword [0x1000fdcc], eax
mov dword [0x1000fdfc], ecx
jmp 0x10001b2c
mov dword [0x1000fdc0], 0xdf6025
push 0x5c
push edi
call fcn.10004410
mov edx, dword [0x1000fdc8]
imul edx, edx, 0xc25a4e
add esp, 8
mov esi, 0xdf1ba5
mov dword [0x1000fdc4], 0xed455d
mov dword [0x1000fdf0], esi
mov dword [0x1000fe00], edx
test eax, eax
jne 0x10001c8c
call fcn.10001960
cmp eax, 0x18bc96
jg 0x10001be7
cmp dword [0x1000fde0], 0x3f9881
jl 0x10001bc2
call fcn.100013a0
imul eax, dword [0x1000fdf8]
mov dword [0x1000fdb8], eax
mov dword [0x1000fdf8], 0x381b6a
call fcn.10001df0
add eax, dword [0x1000fdf4]
mov dword [0x1000fdd0], eax
call fcn.10001960
mov esi, eax
call fcn.10001740
or esi, eax
mov dword [0x1000fe0c], esi
jmp 0x10001c65
call fcn.10002100
sub eax, 0x49e2d9
mov dword [0x1000fde8], eax
call fcn.10001d90
xor eax, 0x2c5de7
mov dword [0x1000fdcc], eax
call fcn.10001320
jmp 0x10001c65
cmp dword [0x1000fdd8], esi
jle 0x10001c13
call fcn.100013a0
cmp dword [0x1000fdd0], eax
jge 0x10001c65
call fcn.10001320
call fcn.100019f0
or eax, dword [0x1000fde8]
mov dword [0x1000fe08], eax
jmp 0x10001c65
mov esi, 2
jmp 0x10001c20
mov eax, dword [0x1000fdc0]
or eax, 0x7f004e
mov dword [0x1000fe00], eax
call fcn.100013a0
xor eax, 0xa0f63b
mov dword [0x1000fddc], eax
call fcn.10001320
mov ecx, dword [0x1000fdfc]
mov edx, 0x6ceb40
sub edx, dword [0x1000fe00]
sub ecx, eax
dec esi
mov dword [0x1000fde4], ecx
mov dword [0x1000fdfc], edx
jne 0x10001c20
mov eax, dword [0x1000fdec]
mov ecx, dword [0x1000fdd8]
imul eax, eax, 0x8a1a47
and ecx, 0x593e62
mov dword [ebp - 8], edi
mov dword [0x1000fdc8], eax
mov dword [0x1000fdfc], ecx
jmp 0x10001d02
mov edi, dword [0x1000fdd4]
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 4
mov ebx, 0x99b1c9
call fcn.10001d90
cmp eax, 0xa2bd37
jle 0x10001cd8
mov esi, 4
call fcn.10001740
xor eax, 0x48c8b9
mov dword [0x1000fdf0], eax
call fcn.10001d90
sub eax, edi
mov dword [0x1000fe04], eax
call fcn.10001960
dec esi
jne 0x10001cb3
jmp 0x10001cf8
mov dword [0x1000fde0], 0x34323382
mov dword [0x1000fdf4], ebx
call fcn.10001ee0
sub eax, dword [0x1000fdd8]
mov dword [0x1000fdd0], eax
dec dword [ebp - 4]
jne 0x10001ca2
mov eax, dword [0x1000fdc8]
mov edx, dword [0x1000fde0]
add edx, 0xa1cfda
mov esi, 0xbe68a2
sub esi, eax
mov dword [0x1000fdc0], edx
call fcn.10001e50
add eax, dword [0x1000fdcc]
mov edi, dword [0x1000fdb8]
mov dword [0x1000fdd0], eax
and edi, 0x399d9f
mov ebx, 2
jmp 0x10001d46
mov esi, dword [0x1000fdc4]
call fcn.10002100
sub esi, eax
mov dword [0x1000fe00], esi
mov dword [0x1000fdc4], edi
call fcn.10001740
xor eax, 0x8ef70f
mov dword [0x1000fe04], eax
mov eax, dword [0x1000fe00]
imul eax, eax, 0xcdb3b1
dec ebx
mov dword [0x1000fdd0], eax
mov dword [0x1000fdcc], 0x2148570c
jne 0x10001d40
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret