Function at 0x100e0ca2
Capabilities:
Enumerate threads
Suspend thread

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2f4
mov dword [esp + 0x10], edx
mov eax, dword [0x102a2000]
xor eax, esp
mov dword [esp + 0x2f0], eax
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [esp + 8], ecx
mov dword [ecx + 8], eax
push eax
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, 9
cmp eax, 0xffffffff
je 0x100e0fc5
mov ebp, eax
lea ebx, [esp + 0x24]
mov dword [ebx], 0x1c
push ebx
push eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x100e0f94
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [esp + 0x24], 0x10
jb 0x100e0da1
mov edi, dword [esp + 0x30]
call esi
cmp edi, eax
jne 0x100e0da1
mov edi, dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp edi, eax
je 0x100e0da1
mov ebx, dword [esp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x100e0d65
mov ecx, dword [ebx + 4]
cmp dword [ebx + 8], ecx
jb 0x100e0d8d
mov edi, ebx
lea edx, [ecx + ecx]
mov dword [ebx + 4], edx
shl ecx, 3
push ecx
push eax
push 0
push dword [0x102a7398]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
je 0x100e0f9d
mov dword [edi], eax
mov ebx, edi
jmp 0x100e0d8d
mov dword [ebx + 4], 0x80
push 0x200
push 0
push dword [0x102a7398]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, dword [esp + 8]
mov dword [ebx], eax
test eax, eax
je 0x100e0fb5
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebx + 8]
lea edi, [edx + 1]
mov dword [ebx + 8], edi
lea ebx, [esp + 0x24]
mov dword [eax + edx*4], ecx
mov dword [esp + 0x24], 0x1c
push ebx
push ebp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x100e0d03
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
mov edi, dword [esp + 8]
jne 0x100e0f9d
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [edi]
test eax, eax
je 0x100e0fc3
xor esi, esi
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + 0xc], 0
add edx, 1
mov dword [esp + 0x18], edx
je 0x100e0df9
mov dword [esp + 0xc], ecx
cmp dword [edi + 8], 0
mov ebp, dword [esp + 0x308]
je 0x100e0fc5
xor esi, esi
push dword [eax + esi*4]
push 0
push 0x5a
call dword [sym.imp.KERNEL32.dll_OpenThread]
test eax, eax
je 0x100e0f83
mov dword [esp + 0x1c], esi
push eax
mov esi, eax
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov dword [esp + 0x24], 0x10001
push ebx
mov dword [esp + 0x18], esi
push esi
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x100e0f71
cmp dword [esp + 0x10], 0xffffffff
je 0x100e0e57
mov edi, dword [esp + 0x18]
jmp 0x100e0e5d
mov edi, dword [0x102a73a4]
cmp dword [esp + 0xc], edi
jae 0x100e0f71
mov eax, dword [0x102a739c]
mov ecx, dword [esp + 0xc]
mov dword [esp], edi
mov dword [esp + 0x20], ecx
imul ecx, ecx, 0x2c
mov esi, ebp
test ebp, ebp
je 0x100e0e94
cmp ebp, 1
jne 0x100e0e8a
xor esi, esi
inc esi
jmp 0x100e0e94
mov esi, dword [eax + ecx + 0x14]
shr esi, 2
and esi, 1
mov ebx, dword [eax + ecx + 0x14]
mov edx, ebx
shr edx, 1
and edx, 1
cmp esi, edx
je 0x100e0f64
lea edi, [eax + ecx]
mov edx, dword [esp + 0xdc]
test esi, esi
je 0x100e0eda
mov esi, dword [eax + ecx + 0x18]
and esi, 0xf
je 0x100e0f20
mov edi, dword [edi]
mov dword [esp + 4], eax
lea ebp, [eax + ecx]
add ebp, 0x24
movzx eax, byte [ebp - 8]
add eax, edi
cmp eax, edx
je 0x100e0f25
inc ebp
dec esi
jne 0x100e0eca
jmp 0x100e0f10
test bl, 1
je 0x100e0eec
mov esi, dword [edi]
mov ebx, eax
lea eax, [esi - 5]
cmp eax, edx
mov eax, ebx
je 0x100e0f42
mov esi, dword [eax + ecx + 0x18]
and esi, 0xf
je 0x100e0f20
mov dword [esp + 4], eax
lea ebp, [eax + ecx]
add ebp, 0x1c
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ebp + 8]
add eax, ecx
cmp eax, edx
je 0x100e0f31
inc ebp
dec esi
jne 0x100e0f02
mov ebp, dword [esp + 0x308]
mov edi, dword [esp]
mov eax, dword [esp + 4]
jmp 0x100e0f64
mov edi, dword [esp]
jmp 0x100e0f64
mov eax, dword [esp + 4]
lea edi, [eax + ecx]
add edi, 8
jmp 0x100e0f35
mov eax, dword [esp + 4]
movzx esi, byte [ebp]
add esi, dword [edi]
mov ebp, dword [esp + 0x308]
test esi, esi
mov edi, dword [esp]
je 0x100e0f64
mov dword [esp + 0xdc], esi
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_SetThreadContext]
mov eax, dword [0x102a739c]
mov ecx, dword [esp + 0x20]
inc ecx
cmp ecx, edi
jne 0x100e0e73
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ebx, [esp + 0x24]
mov esi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 8]
cmp esi, dword [eax + 8]
jae 0x100e0fc3
mov eax, dword [eax]
jmp 0x100e0e0c
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100e0fc5
mov eax, dword [edi]
test eax, eax
je 0x100e0fb5
xor esi, esi
push eax
push esi
push dword [0x102a7398]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [edi], esi
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 9
jmp 0x100e0fc5
xor esi, esi
mov ecx, dword [esp + 0x2f0]
xor ecx, esp
call fcn.100ea0d3
mov eax, esi
add esp, 0x2f4
pop esi
pop edi
pop ebx
pop ebp
ret