Function at 0x10018f30
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24
mov dword [esp], 0
mov dword [esp + 0x10], 0x1785
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1785
mov dword [esp + 0x14], 0x1785
push ebx
mov dword [esp + 0x10], 0x1fd9
mov eax, dword [esp + 0x18]
push ebp
xor eax, 0x3edb
push esi
push edi
cmp dword [esp + 0x18], eax
je 0x100192a5
mov eax, dword [esp + 0x1c]
xor eax, 0x3b6d
cmp dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
jge 0x10019186
add eax, 0x11d9
cmp dword [esp + 0x14], eax
jge 0x10019123
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
add edi, 0x1336
mov edx, dword [esp + 0x10]
xor esi, 0x3687
mov eax, dword [esp + 0x10]
xor edx, 0x1451
mov ecx, dword [0x1008a74c]
xor eax, 0x2676
push eax
push ecx
push edx
push esi
push edi
call fcn.100185b0
mov edx, dword [0x1008a74c]
add esp, 0x14
mov ecx, dword [0x100a3a78]
mov dword [esp + 0x20], eax
cmp ecx, dword [edx + 0x34]
ja 0x1001900f
nop
mov eax, dword [0x100a3b30]
or dword [edx + 0xc], eax
mov eax, ecx
mov edx, dword [0x1008a74c]
imul eax, ecx
inc ecx
add dword [0x100a3ae0], eax
cmp ecx, dword [edx + 0x34]
jbe 0x10018ff0
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
sub ebx, 0x1c1
mov esi, dword [esp + 0x14]
xor edi, 0xb2c
mov ecx, dword [esp + 0x18]
xor esi, 0x295e
mov eax, dword [esp + 0x1c]
add ecx, 0x166
mov edx, dword [0x1008a74c]
sub eax, 0x330
push eax
push ecx
push edx
push esi
push edi
push ebx
call fcn.10018190
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
add esi, 0x1fd9
mov ecx, dword [esp + 0x34]
sub edx, 0x767
mov eax, dword [esp + 0x34]
add ecx, 0x729
xor eax, 0x60a
push eax
push ecx
push edx
push 0x100a3a48
push esi
call fcn.100096c0
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
xor ebx, 0x3edb
mov esi, dword [esp + 0x48]
xor edi, 0x1d8b
mov edx, dword [esp + 0x40]
sub esi, 0x93a
mov ecx, dword [esp + 0x3c]
xor edx, 0x295e
mov eax, dword [esp + 0x40]
add ecx, 0x1fd9
add eax, 0x2676
push eax
push ecx
push edx
push esi
push edi
push ebx
push 0x100a3a48
call sym.snj235nk4.dll_FcPxh684
add esp, 0x48
mov dword [esp + 0x24], eax
cmp dword [0x100a3b30], 0x16969
je 0x10019107
mov eax, dword [0x100a3a5c]
xor eax, dword [0x100a3a74]
add eax, 0x2fe8abc8
xor dword [0x100a3a80], eax
jmp 0x100192a5
mov eax, dword [0x1008a74c]
mov ecx, dword [0x100a3a6c]
sub ecx, dword [eax + 0xb0]
xor dword [0x100a3b1c], ecx
jmp 0x100192a5
mov eax, dword [esp + 0x10]
or eax, 0x3fdf
cmp dword [0x100a3ac8], eax
je 0x100192a5
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
sub edi, 0x24b4
mov esi, dword [esp + 0x20]
or eax, dword [0x100a3a70]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
xor edx, dword [0x100a3af8]
imul esi, eax
mov eax, dword [0x1008a74c]
or ecx, dword [eax + 0xd4]
push ecx
push edx
push esi
push 0x100a3a48
push edi
call fcn.10009520
add esp, 0x14
mov dword [esp + 0x1c], eax
jmp 0x100192a5
mov edx, dword [0x100a3ab4]
or eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
cmp edx, eax
jg 0x100192a5
nop dword [eax]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
cmp ecx, eax
jl 0x1001928e
nop dword [eax + eax]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x20]
add eax, 0x24b4
cmp esi, eax
jle 0x10019273
nop dword [eax]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
xor ebp, dword [esp + 0x10]
add eax, dword [0x100a3a6c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [0x100a3a54]
add ecx, 0x214c
or edi, dword [0x100a3b20]
add edx, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [0x1008a74c]
mov ebx, dword [eax + 0xb4]
mov eax, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x20]
sub ecx, eax
mov eax, dword [0x100a3ad8]
or eax, dword [0x100a3b14]
add ebx, dword [0x100a3ad0]
and eax, 0x1624
push eax
push ecx
push edx
push edi
xor ebx, 0x15c4
push ebx
push ebp
push dword [esp + 0x48]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov eax, dword [esp + 0x14]
inc esi
xor eax, dword [esp + 0x20]
add eax, 0x24b4
cmp esi, eax
jg 0x100191e0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
add ecx, 3
sub eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
cmp ecx, eax
jge 0x100191c0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
add edx, 4
or eax, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
cmp edx, eax
jle 0x100191a0
mov eax, dword [esp + 0x18]
add eax, 0xfffffccc
cmp dword [esp + 0x10], eax
jl 0x10019378
mov eax, dword [0x100a3a94]
or eax, dword [0x100a3b08]
mov ecx, dword [0x100a3b14]
or eax, 0x1d8b
mov dword [esp + 0x2c], ecx
cmp ecx, eax
jbe 0x10019378
mov eax, dword [esp + 0x18]
xor eax, 0x1f4e
sub eax, 0x1d8b
cmp ecx, eax
jne 0x10019378
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
or eax, dword [0x100a3ab4]
cmp ebp, eax
jbe 0x1001935d
mov ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
imul edi, dword [esp + 0x18]
imul esi, dword [esp + 0x20], 0x1451
mov eax, dword [0x1008a74c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor ebx, dword [0x100a3aac]
add ecx, dword [eax + 0x70]
mov eax, dword [esp + 0x10]
and edx, ecx
xor eax, dword [0x100a3b0c]
push eax
push edx
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetNamedPipeInfo]
mov eax, dword [esp + 0x14]
add ebp, 2
or eax, dword [0x100a3ab4]
cmp ebp, eax
ja 0x10019302
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
inc ecx
xor eax, 0x1f4e
mov dword [esp + 0x2c], ecx
sub eax, 0x1d8b
cmp ecx, eax
je 0x100192f0
mov eax, dword [esp + 0x1c]
xor eax, 0x3cc7
cmp dword [esp + 0x24], eax
jg 0x10019429
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
add edi, 0x3c1
mov edx, dword [esp + 0x14]
xor esi, 0x252
mov ecx, dword [esp + 0x20]
add edx, 0x18eb
mov eax, dword [esp + 0x24]
add ecx, 0xef1
xor eax, 0x458
push eax
push ecx
push edx
push 0x100a3a48
push esi
push edi
call fcn.10017f40
mov dword [esp + 0x30], eax
xor dword [esp + 0x3c], 0x60a
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
sub ebx, 0x161
mov esi, dword [esp + 0x30]
add edi, 0xb88
mov edx, dword [esp + 0x2c]
add esi, 0x7c7
mov ecx, dword [esp + 0x2c]
add edx, 0x1d8b
mov eax, dword [esp + 0x30]
xor ecx, 0x1624
add eax, 0x10b2
push eax
push ecx
push 0x100a3a48
push edx
push esi
push edi
push ebx
call fcn.10008510
add esp, 0x34
mov dword [esp + 0x10], eax
mov eax, dword [0x1008a74c]
pop edi
pop esi
pop ebp
mov eax, dword [eax + 0x9c]
pop ebx
add esp, 0x24
ret 0x10