Function at 0x69c190
Capabilities:
Check mutex on windows
Create process on windows
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x394
push ebx
push edi
xor ebx, ebx
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x193]
mov byte [ebp - 0x194], bl
mov byte [ebp - 0x294], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x293]
mov byte [ebp - 0x50], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xd
xor eax, eax
lea edi, [ebp - 0x4f]
mov dword [ebp - 0x94], ebx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0x90]
mov dword [ebp - 0x18], ebx
rep stosd dword es:[edi], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov eax, dword [0x6a5fcc]
cmp eax, ebx
jne 0x69c470
push esi
push 3
push 0x6a5fcc
push 0x62925e
push ebx
push ebx
call fcn.006a4280
cmp eax, ebx
mov dword [ebp - 4], eax
mov esi, eax
je 0x69c406
push 0x6a5ecc
call fcn.0069a7d0
add esp, 4
test eax, eax
je 0x69c2c3
push 0x629df0
push 0x6a5ecc
mov dword [ebp - 0x94], 0x44
call fcn.0069a800
mov edx, dword [ebp - 4]
lea ecx, [ebp - 0x194]
push ecx
push edx
call fcn.0069a840
lea eax, [ebp - 0x194]
push eax
push 0x6a5ecc
call fcn.0069a800
add esp, 0x18
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x94]
push ecx
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x6a5ecc
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, 1
jne 0x69c2ba
mov eax, dword [ebp - 0x18]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 4]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [ebp - 4], 1
jmp 0x69c2d5
push 0x6a5fd8
call fcn.006a44b0
cmp eax, 1
mov dword [ebp - 4], eax
jne 0x69c311
cmp esi, 0x123
je 0x69c2e5
cmp esi, 0x701
jne 0x69c2f5
push 0x62925e
push 0x6a5fd8
push ebx
call fcn.006a44d0
push 3
push 0x6a5fcc
push 0x62925e
push 0x6a5fd8
push ebx
call fcn.006a4280
mov dword [ebp - 4], eax
jmp 0x69c31c
push ebx
call dword [0x6a5d98]
ret
cmp eax, ebx
je 0x69c406
test byte [0x629245], 8
jne 0x69c3ee
lea ecx, [ebp - 0x294]
lea edx, [ebp - 0x194]
push ecx
push edx
push eax
call fcn.0069bfe0
add esp, 0xc
dec eax
je 0x69c39c
dec eax
je 0x69c487
dec eax
je 0x69c476
mov edi, 0x629ddc
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x194]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x194]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x394]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [ebp - 0x294]
mov edi, 0x629dd4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x1ea
xor eax, eax
mov edi, 0x629120
push 0x200000
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x294]
lea edx, [ebp - 0x394]
push ecx
push edx
push ebx
stosw word es:[edi], ax
call dword [0x6a5da0]
mov ecx, 0x1ea
xor eax, eax
mov edi, 0x629120
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
call dword [0x6a5d98]
ret
push 0x6a5ebc
call fcn.0069a7d0
add esp, 4
test eax, eax
pop esi
je 0x69c448
cmp dword [0x6a5fd4], ebx
je 0x69c448
push 0x6a5ebc
lea eax, [ebp - 0x50]
push 0x629dd0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x50]
push ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x6a5fd4], eax
cmp dword [0x629246], ebx
je 0x69c470
cmp dword [0x6a5fd0], ebx
jne 0x69c470
lea edx, [ebp - 8]
push edx
push ebx
push ebx
push 0x69c0a0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x6a5fd0], eax
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
lea edi, [ebp - 0x194]
lea edx, [ebp - 0x394]
jmp 0x69c3a7
mov edi, 0x629ddc
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x194]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x194]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x394]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x69c3c4