Function at 0x1003c1b4
Capabilities:
Encode data using xor
Start service

Disassembly:
mov eax, 0x10061fc4
call fcn.10060598
sub esp, 0x4c
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x10], esp
cmp byte [ebp + 8], 0
mov byte [ebp - 0x14], dl
mov dword [ebp - 0x38], ecx
je 0x1003c41e
mov dword [ebp - 0x30], 0x2733
mov edi, 0x1007c0d8
cmp dword [ebp - 0x30], 0x27d0
jle 0x1003c25f
mov dword [ebp + 8], esi
mov ebx, esi
mov dword [ebp - 0x2c], esi
mov eax, esi
mov dword [ebp - 0x28], esi
mov edx, esi
mov dword [ebp - 0x34], ebx
mov esi, dword [ebp + 8]
mov ecx, eax
mov dword [ebp - 0x20], edx
shl ebx, cl
mov eax, ebx
mov ecx, edi
xor eax, edx
or eax, esi
cdq
push edx
push eax
call fcn.100042cb
mov edx, dword [ebp - 0x20]
inc edx
mov dword [ebp - 0x20], edx
cmp edx, 0x3c7f
jl 0x1003c20a
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x28], eax
push 0
pop esi
cmp eax, 0x3106
jl 0x1003c1fb
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, 0x6364
jl 0x1003c1f6
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0xc5f
jl 0x1003c1f1
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
mov dword [ebp - 4], esi
cmp dword [ebp - 0x30], 0x268d
jge 0x1003c277
mov edx, str.nbnrw_samei_ctf_teppsdiu_ysgcs_cxj_draczbie
mov ecx, edi
call fcn.10006d07
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0xc], 0
je 0x1003c37b
push 3
lea ecx, [ebp - 0x44]
call fcn.1000457d
mov dword [ebp - 4], 2
xor ebx, ebx
mov dword [ebp + 8], 0x2465cd38
inc ebx
mov dword [ebp - 0x34], 6
mov dword [ebp + 8], 0xffffffff
mov dword [ebp - 0x18], esi
jmp 0x1003c2e8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c], 0x9000
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003c2da
push ecx
lea eax, [ebp - 0x18]
mov edx, 0x705b
push eax
push ecx
lea eax, [ebp - 0x44]
mov cl, bl
push eax
push 0x6b1e
call fcn.10039e59
add esp, 0x14
mov dword [ebp - 0x18], esi
jmp 0x1003c31e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x24], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003c310
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 8], eax
cmp dword [ebp + 8], esi
je 0x1003c33a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp + 8], ecx
lea ecx, [ebp - 0x44]
call fcn.10004600
jmp 0x1003c547
mov dword [ebp + 8], 0x3057
cmp dword [ebp + 8], 0x3123
jle 0x1003c3c6
push 1
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov ebx, esi
mov dword [ebp - 0x34], esi
lea eax, [esi + ebx]
mov ecx, edi
cdq
push edx
push eax
call fcn.100042cb
inc esi
cmp esi, 0x41ed
jl 0x1003c39b
inc ebx
push 0
pop esi
cmp ebx, 0x27b7
jl 0x1003c398
push esi
push esi
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov eax, dword [ebp - 0x38]
cmp byte [eax], 0
je 0x1003c3e3
push esi
push ecx
push ecx
mov edx, 0x79ea
mov ecx, 0x5566
call fcn.10039143
add esp, 0xc
mov dword [ebp - 4], 3
cmp dword [ebp + 8], 0x2f6d
jge 0x1003c376
mov edx, str.nemxvgbnl_laioav_pdrsb_cbpdqcz_wfwvny_rsbi_ywekmdki_ztlfcg_jpyfexipw_vjh_nucljez_axgneffyb_gfmlrltw_mkctazu
mov ecx, edi
call fcn.10006d07
jmp 0x1003c376
test dl, dl
je 0x1003c45c
mov edi, dword [ebp + 0x10]
mov dword [edi], esi
cmp dword [edi], esi
jl 0x1003c547
mov ebx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 8], 0x335c0de4
mov dword [ebp + 8], 0x1eb64d07
mov eax, dword [edi]
mov edx, dword [edi]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebx]
dec dword [edi]
cmp dword [edi], esi
jge 0x1003c432
jmp 0x1003c547
xor ebx, ebx
inc ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 0x20], 0x37652245
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0x4c9ff750
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x20], esi
jmp 0x1003c49e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x54], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1003c494
mov ecx, esi
cmp dword [ebp + 8], esi
je 0x1003c4ad
mov ecx, ebx
xor eax, eax
test ecx, ecx
setg al
imul eax, eax, 0x5e0e
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
add eax, dword [ebp + 8]
jne 0x1003c4d8
mov ecx, esi
cmp dword [ebp + 8], esi
je 0x1003c4da
mov ecx, ebx
mov eax, 0x44b0bf2
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp + 8]
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, 0x821c760f
setne cl
add ecx, dword [ebp + 8]
je 0x1003c511
cmp dword [ebp - 0x20], esi
jne 0x1003c513
mov ebx, esi
cmp ebx, 0xffffffff
mov dword [ebp - 0x50], ebx
sbb eax, eax
inc eax
cmp eax, 0xffffffff
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], 3
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret