Function at 0x1000c590
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x1008c415
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7c8
mov eax, dword [0x100ba4f0]
xor eax, esp
mov dword [esp + 0x7c4], eax
mov eax, dword [esp + 0x7dc]
cmp eax, 1
push esi
mov esi, ecx
mov ecx, dword [esp + 0x7dc]
jge 0x1000c5e6
push 0x100affac
lea ecx, [esp + 8]
push ecx
mov dword [esp + 0xc], 1
call fcn.1004435f
push ebx
push edi
lea edi, [esi + 0x11d28]
xor ebx, ebx
cmp edi, ebx
jne 0x1000c5f8
xor eax, eax
jmp 0x1000c5fb
mov eax, dword [edi + 0x1c]
push ebp
push eax
call dword [sym.imp.USER32.dll_IsWindow]
or ebp, 0xffffffff
test eax, eax
je 0x1000c6a8
mov edx, dword [esi + 0x11d44]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1000c6a8
push 0x10090a11
lea ecx, [esp + 0x14]
call fcn.1000b0b0
push 0x10090a11
lea ecx, [esp + 0x1c]
mov dword [esp + 0x7e4], ebx
call fcn.1000b0b0
push ebx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x7ec], 1
call fcn.1001edf0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x7e0], bl
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1000c684
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x7e0], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000c6a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push 0x327
push str..Communication.cpp
lea ecx, [esp + 0x24]
call fcn.10037710
add eax, 4
push 0x10090e28
push eax
mov dword [esp + 0x7e8], 2
call fcn.10007880
add esp, 8
lea ecx, [esp + 0x1c]
mov dword [esp + 0x7e0], ebp
call fcn.100377d0
lea edi, [esi + 0x109ec]
mov ebp, 0xf
mov eax, edi
mov dword [esp + 0x234], ebp
mov dword [esp + 0x230], ebx
mov byte [esp + 0x220], bl
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1000c710
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x224]
call fcn.10007f20
lea edi, [esi + 0x10ab0]
mov eax, edi
mov dword [esp + 0x7e0], 3
mov dword [esp + 0x218], ebp
mov dword [esp + 0x214], ebx
mov byte [esp + 0x204], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1000c752
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x208]
call fcn.10007f20
lea eax, [esi + 0x10e84]
mov byte [esp + 0x7e0], 4
mov dword [esp + 0x154], ebp
mov dword [esp + 0x150], ebx
mov byte [esp + 0x140], bl
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1000c790
sub eax, edi
push eax
lea eax, [esi + 0x10e84]
push eax
lea ecx, [esp + 0x144]
call fcn.10007f20
lea eax, [esi + 0x10ec4]
mov byte [esp + 0x7e0], 5
mov dword [esp + 0x170], ebp
mov dword [esp + 0x16c], ebx
mov byte [esp + 0x15c], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1000c7d3
sub eax, edi
push eax
lea eax, [esi + 0x10ec4]
push eax
lea ecx, [esp + 0x160]
call fcn.10007f20
lea edi, [esi + 0x10f04]
mov eax, edi
mov byte [esp + 0x7e0], 6
mov dword [esp + 0x1fc], ebp
mov dword [esp + 0x1f8], ebx
mov byte [esp + 0x1e8], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1000c818
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x1ec]
call fcn.10007f20
lea edi, [esi + 0x10f84]
mov eax, edi
mov byte [esp + 0x7e0], 7
mov dword [esp + 0x1a8], ebp
mov dword [esp + 0x1a4], ebx
mov byte [esp + 0x194], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1000c857
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x198]
call fcn.10007f20
lea edi, [esi + 0x11004]
mov eax, edi
mov byte [esp + 0x7e0], 8
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0x1c0], ebx
mov byte [esp + 0x1b0], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1000c896
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x1b4]
call fcn.10007f20
lea edi, [esi + 0x11084]
mov eax, edi
mov byte [esp + 0x7e0], 9
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x188], ebx
mov byte [esp + 0x178], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1000c8d5
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x17c]
call fcn.10007f20
lea edi, [esi + 0x11104]
mov eax, edi
mov dword [esp + 0x1e0], ebp
mov byte [esp + 0x7e0], 0xa
mov dword [esp + 0x1dc], ebx
mov byte [esp + 0x1cc], bl
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1000c914
sub eax, ebp
push eax
push edi
lea ecx, [esp + 0x1d0]
call fcn.10007f20
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x140]
push ecx
mov ecx, esi
mov byte [esp + 0x7e8], 0xb
call fcn.100129f0
test eax, eax
jne 0x1000c99d
lea eax, [esi + 0x10e84]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1000c957
sub eax, edx
push eax
lea eax, [esi + 0x10e84]
push eax
lea ecx, [esp + 0x144]
call fcn.10007f20
lea eax, [esi + 0x10ec4]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1000c980
sub eax, edx
push eax
lea eax, [esi + 0x10ec4]
push eax
lea ecx, [esp + 0x160]
call fcn.10007f20
xor eax, eax
mov ecx, 0xa5
lea edi, [esp + 0x238]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x140]
mov edi, 0x10
cmp eax, edi
mov dword [esp + 0x238], 0x294
mov dword [esp + 0x23c], ebx
jae 0x1000c9dd
lea ecx, [esp + 0x140]
lea edx, [esp + 0x240]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x1000c9e4
cmp dword [esp + 0x170], edi
mov ecx, dword [esp + 0x15c]
jae 0x1000ca05
lea ecx, [esp + 0x15c]
lea edx, [esp + 0x260]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x1000ca10
mov edx, dword [esi + 0x109e0]
mov eax, dword [esi + 0x111a8]
mov ecx, dword [esi + 0x111ac]
mov dword [esp + 0x280], edx
lea ebp, [esi + 0x111b0]
lea edx, [esp + 0x28c]
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], ecx
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x1000ca52
cmp dword [esp + 0x1a8], edi
mov ecx, dword [esp + 0x194]
mov byte [esp + 0x2cc], bl
mov byte [esp + 0x34c], bl
jae 0x1000ca81
lea ecx, [esp + 0x194]
lea edx, [esp + 0x3cc]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x1000ca88
cmp dword [esp + 0x1c4], edi
mov ecx, dword [esp + 0x1b0]
jae 0x1000caa9
lea ecx, [esp + 0x1b0]
lea edx, [esp + 0x44c]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x1000cab0
push ebp
lea edx, [esp + 0x4d0]
xor eax, eax
push 0x10090e24
mov ecx, 0x40
lea edi, [esp + 0x4d4]
push edx
rep stosd dword es:[edi], eax
call fcn.10043ec8
add esp, 0xc
lea eax, [esp + 0x238]
lea edi, [esi + 0x11a2c]
push eax
mov ecx, edi
call fcn.10021c00
lea ecx, [esp + 0x4cc]
push ecx
mov ecx, edi
call fcn.10021b80
mov eax, dword [esi + 0x11d10]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x1000cb17
push eax
call edi
mov eax, dword [esi + 0x11d14]
cmp eax, ebx
je 0x1000cb24
push eax
call edi
xor eax, eax
lea ebp, [esi + 0x11ccc]
mov ecx, 0x11
mov edi, ebp
rep stosd dword es:[edi], eax
mov dword [ebp], 0x44
xor edx, edx
lea eax, [esi + 0x11d10]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
push 0x10090a11
lea ecx, [esp + 0x18]
mov dword [eax + 0xc], edx
call fcn.1000b0b0
mov eax, dword [esi + 0x12328]
cmp eax, 0x3e9
mov byte [esp + 0x7e0], 0xc
jne 0x1000cb7b
push 0xe
push str.GTPREVENTCHEAT
jmp 0x1000cb89
cmp eax, 0x3ea
jne 0x1000cb92
push 7
push str.GTMATCH
lea ecx, [esp + 0x1c]
call fcn.10007310
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x178]
mov edi, 0x10
cmp edx, edi
mov ecx, eax
jae 0x1000cbb4
lea ecx, [esp + 0x178]
mov eax, ecx
mov edx, dword [esp + 0x14]
push edx
lea edx, [esp + 0x4d0]
push edx
push ecx
push eax
lea eax, [esp + 0x6e0]
push str..Games_s_s.exe__s__s
push eax
call fcn.10043ec8
lea ecx, [esp + 0x5e4]
add esp, 0x18
push ecx
call fcn.100584f0
push eax
lea edx, [esp + 0x6d8]
push edx
call fcn.10059110
add esp, 0xc
lea eax, [esi + 0x11d10]
push eax
push ebp
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x5ec]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x1000cca0
push 2
mov ecx, 0x11
mov edi, ebp
rep stosd dword es:[edi], eax
push 0x37e
push str..Communication.cpp
lea ecx, [esp + 0x28]
mov dword [ebp], 0x44
call fcn.10037770
mov edi, eax
lea ecx, [esp + 0x5cc]
push ecx
push str.__Path:
mov byte [esp + 0x7e8], 0xd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10090dd4
add edi, 4
push edi
call fcn.10007880
add esp, 8
mov ecx, eax
call fcn.10008580
push eax
call fcn.10007880
add esp, 8
push eax
call fcn.10007880
add esp, 8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7e0], 0xc
call fcn.100377d0
mov edi, 0x10
jmp 0x1000ccf4
push 0x381
push str..Communication.cpp
lea ecx, [esp + 0xb4]
call fcn.10037710
lea edx, [esp + 0x5cc]
push edx
add eax, 4
push 0x10090dc0
push eax
mov byte [esp + 0x7ec], 0xe
call fcn.10007880
add esp, 8
push eax
call fcn.10007880
add esp, 8
lea ecx, [esp + 0xac]
mov byte [esp + 0x7e0], 0xc
call fcn.100377d0
xor eax, eax
add esi, 0x1098c
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x7e0], 0xb
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
pop ebp
jg 0x1000cd38
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
cmp dword [esp + 0x1dc], edi
jb 0x1000cd51
mov eax, dword [esp + 0x1c8]
push eax
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x188], edi
mov esi, 0xf
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1d8], ebx
mov byte [esp + 0x1c8], bl
jb 0x1000cd84
mov ecx, dword [esp + 0x174]
push ecx
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x1c0], edi
mov dword [esp + 0x188], esi
mov dword [esp + 0x184], ebx
mov byte [esp + 0x174], bl
jb 0x1000cdb2
mov edx, dword [esp + 0x1ac]
push edx
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x1a4], edi
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1bc], ebx
mov byte [esp + 0x1ac], bl
jb 0x1000cde0
mov eax, dword [esp + 0x190]
push eax
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x1f8], edi
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a0], ebx
mov byte [esp + 0x190], bl
jb 0x1000ce0e
mov ecx, dword [esp + 0x1e4]
push ecx
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x16c], edi
mov dword [esp + 0x1f8], esi
mov dword [esp + 0x1f4], ebx
mov byte [esp + 0x1e4], bl
jb 0x1000ce3c
mov edx, dword [esp + 0x158]
push edx
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x150], edi
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], ebx
mov byte [esp + 0x158], bl
jb 0x1000ce6a
mov eax, dword [esp + 0x13c]
push eax
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x214], edi
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], ebx
mov byte [esp + 0x13c], bl
jb 0x1000ce98
mov ecx, dword [esp + 0x200]
push ecx
call fcn.100788bb
add esp, 4
cmp dword [esp + 0x230], edi
pop edi
mov dword [esp + 0x20c], ebx
mov byte [esp + 0x1fc], bl
mov dword [esp + 0x210], esi
pop ebx
jb 0x1000cec8
mov edx, dword [esp + 0x214]
push edx
call fcn.100788bb
add esp, 4
mov ecx, dword [esp + 0x7cc]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x7c8]
pop esi
xor ecx, esp
call fcn.10043e9e
add esp, 0x7d4
ret 8