Function at 0x1000c371
Capabilities:
Create process on windows
Hide graphical window
Query environment variable

Disassembly:
push 0x34
mov eax, 0x1007ef57
call fcn.10063ebe
call fcn.1000eb6e
call fcn.1000ed3c
cmp eax, 5
jne 0x1000c7f4
call fcn.1000eb6e
mov esi, eax
call fcn.1000ebc9
mov ebx, eax
mov eax, dword [0x100aa3bc]
mov esi, 0x100aa3bc
mov ecx, esi
mov byte [ebp - 0xd], 0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
mov eax, dword [0x100aa3bc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
mov eax, dword [0x100aa3bc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
lea esi, [ebp - 0x38]
mov byte [ebp - 4], 2
call fcn.10026f5a
lea esi, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.10026f5a
mov byte [ebp - 4], 4
test ebx, ebx
je 0x1000c43f
mov al, byte [ebx + 0x70]
mov byte [ebp - 0xd], al
lea eax, [ebx + 0x64]
lea edi, [ebp - 0x18]
call fcn.100022f6
lea eax, [ebx + 0x68]
lea edi, [ebp - 0x14]
call fcn.100022f6
lea eax, [ebx + 0x6c]
lea edi, [ebp - 0x24]
call fcn.100022f6
push dword [ebx + 0x74]
lea esi, [ebp - 0x38]
call fcn.10027362
push dword [ebx + 0x130]
lea esi, [ebp - 0x40]
call fcn.10027362
call fcn.1000eb6e
call fcn.1000ebdd
cmp byte [ebp - 0xd], 0
je 0x1000c78b
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jne 0x1000c70d
mov esi, dword [ebp - 0x14]
mov eax, dword [esi - 0xc]
test eax, eax
je 0x1000c5f0
jle 0x1000c70d
push 0x5c
push esi
call fcn.1005b552
pop ecx
pop ecx
test eax, eax
je 0x1000c70d
sub eax, esi
sar eax, 1
mov esi, eax
cmp esi, 0xffffffff
je 0x1000c70d
mov ecx, esi
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x14]
call fcn.10008aea
lea eax, [ebp - 0x20]
push eax
lea edx, [esi + 1]
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.10008acc
lea edi, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.100022f6
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.100029ea
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
push 0x10092ed4
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 7
call fcn.10008939
test eax, eax
jne 0x1000c4f2
mov eax, closesocket
jmp 0x1000c557
push 0x10092ef8
lea eax, [ebp - 0x1c]
push eax
call fcn.10008939
test eax, eax
jne 0x1000c50b
mov eax, closesocket
jmp 0x1000c557
push 0x10092f1c
lea eax, [ebp - 0x1c]
push eax
call fcn.10008939
test eax, eax
jne 0x1000c524
mov eax, reloc.WS2_32.dll_bind
jmp 0x1000c557
push 0x10092f44
lea eax, [ebp - 0x1c]
push eax
call fcn.10008939
test eax, eax
jne 0x1000c53d
mov eax, reloc.WS2_32.dll_closesocket
jmp 0x1000c557
push 0x10092f5c
lea eax, [ebp - 0x1c]
push eax
call fcn.10008939
test eax, eax
mov eax, reloc.WS2_32.dll_getpeername
je 0x1000c557
mov eax, dword [ebp + 8]
push 0x20019
push dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
call fcn.1000445a
test eax, eax
jne 0x1000c5dc
mov eax, dword [0x100aa3bc]
mov ecx, 0x100aa3bc
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, 0x1000
mov byte [ebp - 4], 8
push eax
lea esi, [ebp - 0x20]
mov dword [ebp - 0x28], eax
call fcn.100028e3
push dword [ebp - 0x24]
lea ecx, [ebp - 0x30]
push ecx
lea esi, [ebp - 0x28]
mov edi, eax
call fcn.1000d747
mov ebx, eax
neg ebx
sbb bl, bl
lea esi, [ebp - 0x20]
inc bl
call fcn.1000292d
test bl, bl
mov ebx, dword [ebp - 0x20]
je 0x1000c5cc
cmp dword [ebx - 0xc], 0
je 0x1000c5cc
mov eax, esi
lea edi, [ebp - 0x18]
call fcn.100022f6
lea esi, [ebp - 0x30]
call fcn.1000448d
lea eax, [ebx - 0x10]
call fcn.100029ea
lea esi, [ebp - 0x30]
call fcn.1000448d
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
jmp 0x1000c705
test ecx, ecx
jne 0x1000c70d
lea eax, [ebp - 0x38]
call fcn.10027071
test al, al
jne 0x1000c70d
lea eax, [ebp - 0x38]
push eax
call fcn.100273cd
cmp eax, 0xffffffff
jne 0x1000c6e3
push dword [ebp - 0x40]
lea eax, [ebp - 0x1c]
push eax
call fcn.10006f91
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1c]
add esp, 4
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov esi, esp
call fcn.1000296d
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x20]
push eax
call fcn.1000795a
pop ecx
pop ecx
push 0x10092f88
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0xa
call fcn.100040d1
push dword [ebp - 0x38]
lea eax, [ebp - 0x28]
push eax
call fcn.10006f91
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
push ecx
mov byte [ebp - 4], 0xb
call fcn.100040b9
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.100029ea
lea eax, [ebp - 0x2c]
push 0x10092f90
push eax
lea ecx, [ebp - 0x20]
call fcn.10004145
lea ecx, [ebp - 0x28]
push 0x10092f8c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.10002388
add esp, 0x10
lea edi, [ebp - 0x18]
mov byte [ebp - 4], 0xd
call fcn.100022f6
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.100029ea
jmp 0x1000c5e4
push dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
push eax
call fcn.10006f91
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 4], 0xe
call fcn.100040b9
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
call fcn.100029ea
mov edi, dword [ebp - 0x18]
cmp dword [edi - 0xc], 0
je 0x1000c78b
mov eax, dword [0x100aa3bc]
mov ecx, 0x100aa3bc
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, 0x104
push eax
push eax
lea esi, [ebp - 0x20]
mov byte [ebp - 4], 0xf
call fcn.100028e3
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
call fcn.1000292d
mov edi, dword [ebp - 0x20]
push 5
push 0
push 0
push edi
push 0x10092f94
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
call fcn.1000eb6e
mov esi, eax
call fcn.1000ebc9
test eax, eax
je 0x1000c775
call fcn.10025bee
call fcn.1000eb6e
call fcn.1000ebdd
lea eax, [edi - 0x10]
mov byte [ebp - 4], 4
call fcn.100029ea
mov eax, dword [ebp + 8]
xor edi, edi
push edi
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.1000eb6e
mov esi, eax
call fcn.10029e0c
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov byte [ebp - 4], 3
cmp dword [ebp - 0x40], edi
je 0x1000c7bf
push dword [ebp - 0x40]
call fcn.1005a1d0
pop ecx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x38], edi
je 0x1000c7d1
push dword [ebp - 0x38]
call fcn.1005a1d0
pop ecx
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.100029ea
jmp 0x1000c827
cmp eax, 3
jne 0x1000c81d
mov eax, dword [ebp + 8]
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.1000eb6e
mov esi, eax
call fcn.10029e0c
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x1000c827
mov edi, dword [ebp + 8]
push 1
call fcn.1000c8e5
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
xor eax, eax
call fcn.10063f96
ret 8