Function at 0x759d0e0d
Capabilities:
Create thread
Terminate process

Disassembly:
cmp dword [ebp + 0xc], 1
jne 0x759d0e48
mov dword [ebp + 0xc], 3
jmp 0x759d0e48
cmp dword [0x75bc8ca8], ebx
jne 0x759f1ade
jmp 0x759d0eb1
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, ecx
lea eax, [edi + 0x60]
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
cmp dword [0x75bcc8ec], 2
mov dword [ebp - 8], ebx
jne 0x759d0e48
cmp dword [ebp + 0xc], 1
je 0x759d0f00
cmp dword [ebp + 0xc], ebx
je 0x759d0f00
lea eax, [edi + 0x88]
mov dword [ebp - 0x10], eax
cmp dword [eax], ebx
je 0x759d9463
mov al, byte [edi + 0x9c]
cmp al, bl
jne 0x759f1a38
mov eax, dword [ebp + 0xc]
imul eax, eax, 0xc
lea esi, [eax + edi]
cmp dword [esi + 4], ebx
jne 0x759f1a46
mov eax, dword [ebp - 8]
cmp eax, ebx
jne 0x759f1aa6
mov esi, 0x759b7ff8
cmp byte [edi + 0x9c], bl
jne 0x759f1ab4
mov eax, dword [ebp + 0xc]
imul eax, eax, 0xc
add eax, edi
mov dword [ebp - 4], eax
cmp dword [eax + 4], ebx
jne 0x759d0df7
cmp dword [eax], ebx
jne 0x759d0df7
mov ecx, dword [eax + 4]
cmp ecx, ebx
jne 0x759f1aff
mov eax, dword [eax]
cmp eax, ebx
jne 0x759f1b16
mov eax, dword [ebp + 0xc]
imul eax, eax, 0xc
add eax, edi
mov dword [ebp - 4], eax
mov dword [eax + 8], ebx
mov dword [eax + 4], ebx
mov dword [eax], ebx
cmp byte [ebp + 8], bl
jne 0x759f1b46
cmp byte [edi + 0x9c], bl
jne 0x759f1b46
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 8
call fcn.759b3ccf
mov esi, eax
cmp esi, ebx
je 0x759d0e48
push esi
call fcn.759b94a5
pop ecx
test al, al
je 0x759d0e48
push esi
call fcn.759d0f47
pop ecx
test al, al
jne 0x759d0e48
cmp dword [ebp + 0xc], ebx
jne 0x759d0de8
mov dword [ebp + 0xc], 2
jmp 0x759d0e48
push eax
push 0x759d948c
push 1
push ebx
push 0x759d8354
call dword [0x75bc8524]
mov dword [edi + 0xa8], eax
cmp eax, ebx
je 0x759d0e59
jmp 0x759f1a09
cmp dword [0x75bc8ca8], ebx
je 0x759d0eee
push ebx
push ebx
mov esi, 0x759b7ff8
push esi
push esi
push esi
push esi
push esi
push eax
push 0x759f1ff0
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
jmp 0x759d0eee
mov ecx, dword [ebp + 0xc]
mov dword [edi + 0x98], ecx
jmp 0x759d0e79
mov eax, dword [esi]
cmp eax, ebx
je 0x759d0e79
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x759d0e79
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [eax]
lea edx, [ebp - 8]
push edx
push 0x759ce9b8
push dword [esi + 4]
push eax
call dword [ecx + 0x14]
test eax, eax
jne 0x759d0e79
push dword [ebp - 8]
call fcn.759cf5aa
pop ecx
test eax, eax
jl 0x759d0e79
push dword [ebp - 8]
call dword [0x75bc8304]
test eax, eax
je 0x759d0e79
jmp 0x759f1ca0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 8], ebx
jmp 0x759d0e84
cmp dword [0x75bc8ca8], ebx
je 0x759d0ec6
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759f1f60
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
jmp 0x759d0ec6
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759f1ec8
push ebx
push ebx
push 0xa
call fcn.759c26bf
mov eax, dword [ebp - 4]
add esp, 0x30
jmp 0x759d0eb1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x10]
mov eax, dword [ebp - 4]
mov dword [eax + 4], ebx
jmp 0x759d0ebc
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x759f1b31
mov eax, dword [ebp - 4]
push ebx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [ebp - 4]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
mov dword [eax], ebx
jmp 0x759d0ec6
cmp dword [edi + 0x84], ebx
jne 0x759f1bcc
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi + 0x7c], eax
lea eax, [edi + 0x80]
push eax
push ebx
push edi
push 0x75b11b27
push 0xa000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x84], eax
cmp eax, ebx
jne 0x759f1ba3
cmp dword [0x75bc8ca8], ebx
je 0x759d0eee
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x759f1e28
jmp 0x759f1a27
mov ecx, edi
call fcn.75b113ca
test al, al
jne 0x759f1bcc
cmp dword [0x75bc8ca8], ebx
je 0x759d0eee
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x759f1db8
jmp 0x759f1a27
mov eax, dword [ebp + 0xc]
push dword [edi + 0xa4]
mov dword [edi + 0xa0], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x759f1c25
cmp dword [0x75bc8ca8], ebx
je 0x759f1c0c
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x759f1d38
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
push dword [esi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov dword [esi + 4], ebx
jmp 0x759d0eee
mov ecx, edi
call fcn.75b113ca
test al, al
je 0x759f1bae
mov edi, dword [ebp - 4]
cmp dword [edi + 4], ebx
je 0x759f1c57
cmp dword [edi], ebx
je 0x759f1c57
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [eax]
lea edx, [ebp - 8]
push edx
push 0x759ce9b8
push dword [edi + 4]
push eax
call dword [ecx + 0x14]
cmp dword [ebp - 8], ebx
je 0x759f1ca0
push dword [ebp - 8]
call fcn.759cf5aa
cmp eax, ebx
pop ecx
jge 0x759f1ca0
cmp dword [0x75bc8ca8], ebx
je 0x759f1c8a
push ebx
push ebx
push esi
push esi
push esi
push esi
push esi
push eax
push 0x759f1cb8
push ebx
push ebx
push 0xa
call fcn.759c26bf
add esp, 0x30
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
push dword [edi + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov dword [edi + 4], ebx
jmp 0x759d0eee
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 8]
jmp 0x759d0ef9