Function at 0x40f1f0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45cbcc]
sub esp, 0x24
push ebx
push ebp
mov ebp, dword [0x45cbd4]
mov eax, 0x315a5211
imul ebp
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
push esi
mov esi, eax
mov eax, 0x315a5211
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x3575d9d
push edi
mov edi, eax
mov eax, dword [0x45cbe8]
imul eax, eax, 0x5335ef4
sub edi, esi
add edi, edx
add edi, eax
mov eax, 0x680c7cd1
imul ebp
sar edx, 0x19
add edi, edx
mov esi, edx
mov edx, ecx
imul edx, edx, 0x4e899b9
shr esi, 0x1f
mov ebx, dword [0x45cbe4]
add esi, edi
add esi, edx
mov eax, 0x83740ec5
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [str._r_____r____], esi
jne 0x40f350
mov eax, 0x993c2c11
imul ebx
add edx, ebx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x45cbd0]
mov eax, 0x3bfa58a9
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe0]
sub eax, edi
imul edx, edx, 0x14e459e
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x342745e1
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0x18
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, 0x206151bf
imul ecx
mov eax, dword [0x45cbc8]
imul eax, eax, 0xfcfe96
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
add ecx, eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [0x45cbc8], ecx
je 0x40f356
mov edi, eax
lea edx, [edi + 1]
mov dword [esp + 0x10], edx
mov edi, edi
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x40f320
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], edi
je 0x40f356
push eax
call fcn.0040e830
mov esi, dword [str._r_____r____]
mov ebp, dword [0x45cbd4]
mov ebx, dword [0x45cbe4]
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, dword [0x45cbc8]
mov eax, 0x993c2c11
imul ebp
add edx, ebp
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x680c7cd1
imul ebp
mov eax, dword [esp + 0x10]
sar edx, 0x19
add eax, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, eax
mov eax, dword [0x45cbe0]
imul eax, eax, 0x4e899b9
mov edi, dword [0x45cbe8]
add ebp, eax
imul edi, edi, 0x5335ef4
mov eax, 0x74b32761
imul dword [0x45cbcc]
sar edx, 0x18
add ebp, edx
mov eax, edx
mov edx, ebx
imul edx, edx, 0xfcfe96
shr eax, 0x1f
add eax, ebp
add eax, edx
sub eax, edi
sub eax, esi
add eax, 0x456b154
mov dword [0x45cbcc], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f3de
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov esi, dword [0x45cbd8]
imul ecx, ecx, 0x3575d9d
mov eax, 0x315a5211
imul dword [0x45cbdc]
sar edx, 0x18
mov ebp, esi
imul ebp, ebp, 0x52fe876
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x3b012ec7
imul dword [0x45cbd0]
add ebp, ecx
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x206151bf
imul esi
sar edx, 0x15
sub ebp, ecx
mov eax, edx
shr eax, 0x1f
add ebp, edx
mov edx, dword [esp + 0x38]
add eax, ebp
sub eax, ebx
lea ecx, [eax + edi - 0xfcfe96]
push edx
mov dword [0x45cbd0], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, dword [str._r_____r____]
mov ecx, dword [0x45cbdc]
mov dword [esp + 0x38], eax
mov eax, dword [0x45cbd8]
lea edi, [eax + esi]
imul esi, esi, 0x4ebb783
mov eax, 0x680c7cd1
imul edi, edi, 0x3575d9d
imul ecx
sar edx, 0x19
add edi, edx
mov ebp, edx
mov edx, ecx
imul edx, edx, 0x4e899b9
shr ebp, 0x1f
add ebp, edi
add ebp, esi
add ebp, edx
mov eax, 0x74b32761
imul ecx
sar edx, 0x18
mov edi, dword [0x45cbe8]
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov esi, dword [0x45cbe0]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
sub ebp, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov eax, 0xc4e5d61
imul edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbc8]
lea ebp, [esi + ebp - 0xfcfe96]
imul edx, edx, 0x4ebb783
mov dword [0x45cbd4], ebp
add eax, edx
imul ecx, ecx, 0xfcfe96
mov dword [esp + 0x10], eax
mov eax, 0x680c7cd1
imul ebp
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x342745e1
imul edi
imul edi, edi, 0xfcfe96
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov ebp, edx
mov eax, 0x74b32761
imul esi
sar edx, 0x18
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov edx, esi
imul esi, esi, 0x222559d
imul edx, edx, 0x23193db
add eax, edx
sub eax, edi
mov edi, dword [0x45cbcc]
mov dword [0x45cbd8], eax
mov eax, dword [0x45cbd0]
lea ebp, [eax + edi]
mov eax, 0x315a5211
imul ebp, ebp, 0x3e51956
imul dword [0x45cbe4]
sar edx, 0x18
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x993c2c11
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x680c7cd1
imul dword [0x45cbe4]
sar edx, 0x19
mov eax, edx
add ebp, esi
shr eax, 0x1f
add ebp, edx
mov edx, dword [esp + 0x38]
add eax, ebp
add eax, ecx
lea ecx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x20], 0x1c
mov dword [esp + 0x18], 0
mov dword [0x45cbdc], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40f845
mov edi, dword [0x45cbe8]
mov ecx, dword [0x45cbd0]
mov edx, dword [0x45cbd4]
mov ebp, dword [0x45cbd8]
imul edx, edx, 0x5335ef4
lea eax, [ecx + edi]
imul eax, eax, 0x456b154
sub eax, edx
mov edx, ebp
imul edx, edx, 0x222559d
add eax, edx
mov edx, dword [0x45cbcc]
mov dword [esp + 0x14], eax
mov eax, 0x3b012ec7
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, 0x83740ec5
imul edi
mov eax, dword [esp + 0x14]
add edx, edi
sar edx, 0x19
add eax, edx
mov esi, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0xfcfe96
shr esi, 0x1f
add esi, eax
mov eax, dword [esp + 0x24]
sub esi, edx
cmp eax, ebx
mov dword [0x45cbe0], esi
jne 0x40f717
mov eax, dword [0x45cbd4]
mov ecx, dword [0x45cbc8]
mov edx, dword [0x45cbe4]
lea ebx, [ecx + eax]
mov eax, 0x315a5211
imul ebx, ebx, 0x23193db
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x3b012ec7
imul dword [str._r_____r____]
sar edx, 0x18
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x680c7cd1
imul ebp
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, dword [str._r_____r____]
imul eax, eax, 0x4ebb783
add ebx, eax
mov eax, 0x83740ec5
imul ebp
add edx, ebp
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov dword [0x45cbe4], ebx
mov ebx, dword [esp + 0x20]
jmp 0x40f85b
mov edx, dword [str._r_____r____]
add ebp, ecx
imul ecx, ecx, 0x4ebb783
mov eax, 0x3bfa58a9
imul ebp, ebp, 0x4e899b9
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
sub ebp, ecx
mov ecx, dword [0x45cbc8]
mov eax, 0x680c7cd1
imul ecx
sar edx, 0x19
mov esi, edx
add ebp, edx
mov eax, 0x74b32761
imul ecx
sar edx, 0x18
shr esi, 0x1f
mov ecx, edx
add esi, ebp
add esi, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0xfcfe96
shr ecx, 0x1f
add ecx, esi
sub ecx, edx
lea eax, [esp + 0x18]
mov dword [0x45cbe8], ecx
mov ecx, dword [esp + 0x38]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40f845
jmp 0x40f7a0
mov ecx, dword [0x45cbe4]
mov ebp, dword [0x45cbd0]
mov eax, 0x993c2c11
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov esi, dword [0x45cbe0]
mov eax, 0x3bfa58a9
imul ebp
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov eax, 0x342745e1
imul ebp
mov ecx, esi
imul ecx, ecx, 0x14e459e
sar edx, 0x18
add edi, ecx
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x206151bf
imul ebp
mov eax, dword [esp + 0x24]
sar edx, 0x15
add edi, edx
mov ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xfcfe96
shr ecx, 0x1f
add ecx, edi
add ecx, edx
cmp eax, ebx
mov dword [0x45cbc8], ecx
je 0x40f8dc
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x18]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40f7a0
mov edi, dword [0x45cbe8]
mov ecx, dword [0x45cbc8]
mov esi, dword [0x45cbe0]
mov ebx, dword [esp + 0x10]
mov eax, 0xc4e5d61
imul ecx, ecx, 0x4ebb783
imul edi
sar edx, 0x16
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x680c7cd1
imul dword [0x45cbd4]
add ebp, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x342745e1
imul edi
imul edi, edi, 0xfcfe96
sar edx, 0x18
mov eax, edx
sub ebp, ecx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x74b32761
imul esi
imul esi, esi, 0x23193db
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
mov edx, dword [esp + 0x38]
add ecx, ebp
add ecx, esi
sub ecx, edi
push edx
mov dword [0x45cbd8], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x24
ret
mov ebx, dword [0x45cbd8]
mov edx, dword [0x45cbdc]
mov eax, ebx
imul eax, eax, 0x52fe876
mov dword [esp + 0x14], eax
mov eax, 0x315a5211
imul edx
sar edx, 0x18
mov edi, dword [0x45cbe8]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov eax, ecx
imul eax, eax, 0x3575d9d
add edx, eax
mov eax, edi
imul eax, eax, 0x5335ef4
add edx, eax
mov dword [esp + 0x14], edx
mov eax, 0x3b012ec7
imul ebp
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, 0x206151bf
imul ebx
mov ebx, dword [esp + 0x14]
sar edx, 0x15
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
sub eax, dword [0x45cbe4]
mov ebx, dword [esp + 0x20]
sub eax, 0xfcfe96
mov dword [0x45cbd0], eax
jmp 0x40f85b