Function at 0xc2a88e0
Capabilities:
Create thread
Resume thread
Terminate process

Disassembly:
push 0x7c
push 0xc2b0a40
call fcn.0c2af3e0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x74], eax
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x84], edi
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x5c], eax
xor ebx, ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x70], ebx
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], ebx
cmp esi, ebx
je 0xc2a8be0
mov eax, dword [esi]
cmp eax, 0xc2b2510
je 0xc2a8966
cmp eax, 0xc2b2548
je 0xc2a8966
cmp eax, 0xc2b2580
je 0xc2a8966
cmp eax, 0xc2b25bc
je 0xc2a8966
cmp eax, 0xc2b25f8
je 0xc2a8966
cmp eax, 0xc2b2648
je 0xc2a8966
cmp eax, 0xc2b2698
jne 0xc2a8be0
mov esi, dword [esi + 4]
mov dword [ebp - 0x78], esi
cmp esi, ebx
je 0xc2a8bc6
cmp dword [esi], 0x48
jne 0xc2a8bc6
push ebx
push edi
call fcn.0c2a48d1
mov esi, eax
cmp esi, ebx
jge 0xc2a89a4
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
jmp 0xc2a8c19
cmp dword [ebp - 0x74], ebx
je 0xc2a8c01
cmp dword [ebp + 0xc], ebx
je 0xc2a89cf
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x88770078
jmp 0xc2a8c19
cmp dword [ebp - 0x5c], ebx
je 0xc2a89e4
push dword [ebp - 0x5c]
call fcn.0c28573f
test eax, eax
je 0xc2a8c01
mov dword [ebp - 4], 0xfffffffe
push 0x38
push ebx
lea eax, [ebp - 0x54]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp edi, ebx
je 0xc2a8bb3
mov eax, dword [edi + 8]
cmp eax, ebx
je 0xc2a8bb3
lea esi, [eax + 0x18]
lea edi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x54]
push eax
call fcn.0c2a81ec
test eax, eax
jne 0xc2a8a3c
mov ebx, 0x8877041a
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
jmp 0xc2a8c19
xor eax, eax
lea edi, [ebp - 0x6c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0c2a885d
cmp eax, ebx
jge 0xc2a8a87
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0c2a834c
cmp eax, ebx
jge 0xc2a8a6b
mov ebx, eax
jmp 0xc2a8a29
push 4
pop ecx
mov edi, 0xc281be0
lea esi, [ebp - 0x44]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0xc2a8a82
lea eax, [ebp - 0x44]
mov dword [ebp - 0x70], eax
xor edi, edi
inc edi
jmp 0xc2a8a8d
mov edi, dword [ebp - 0x88]
push dword [ebp - 0x70]
push 1
push dword [ebp - 0x6c]
push dword [ebp - 0x64]
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x78]
call fcn.0c2a1f14
mov esi, eax
cmp esi, ebx
jl 0xc2a8b35
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 8]
cmp dword [ecx + 0x38], ebx
je 0xc2a8ac3
mov ecx, dword [ebp - 0x58]
or dword [ecx + 4], 8
push 1
push eax
push dword [ebp - 0x58]
call fcn.0c2a3c2c
mov esi, eax
cmp esi, ebx
jl 0xc2a8b35
cmp edi, ebx
jne 0xc2a8ae5
push dword [ebp - 0x64]
push 0xa
push dword [ebp - 0x80]
call fcn.0c2a34d7
cmp dword [ebp - 0x5c], ebx
je 0xc2a8af8
push dword [ebp - 0x5c]
call fcn.0c2a298f
cmp eax, ebx
jne 0xc2a8afb
jmp 0xc2a8b30
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x78], eax
push ebx
push ebx
push ebx
push ebx
call fcn.0c285d32
cmp eax, ebx
je 0xc2a8b30
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x2c], eax
lea eax, [ebp - 0x8c]
push eax
push ebx
push dword [ebp - 0x58]
push 0xc2a2a38
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
jne 0xc2a8b81
mov esi, 0x8007000e
cmp dword [ebp - 0x68], ebx
je 0xc2a8b47
cmp edi, ebx
je 0xc2a8b5a
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, ebx
je 0xc2a8b5a
cmp dword [ebp - 0x6c], ebx
je 0xc2a8b5a
push ebx
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
cmp dword [ebp - 0x58], ebx
je 0xc2a8b67
push dword [ebp - 0x58]
call fcn.0c2a29eb
lea eax, [ebp - 0x54]
push eax
call fcn.0c2a8184
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0xc2a899d
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x28], eax
cmp edi, ebx
je 0xc2a8b9d
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x74]
mov dword [ecx], eax
lea eax, [ebp - 0x54]
push eax
call fcn.0c2a8184
jmp 0xc2a8a29
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x8877041a
jmp 0xc2a8c19
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x88770082
jmp 0xc2a8c19
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x88770406
jmp 0xc2a8c19
push dword [0xc2b2b74]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x80070057
call fcn.0c2af428
ret 0x14