Function at 0x40f1e0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45cccc]
mov eax, 0x4227fdad
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [0x45ccd4]
push edi
mov edi, eax
mov eax, 0xbb03c5cb
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x44fc3a35
imul ecx
imul ecx, ecx, 0x1865
sub ebx, edi
sar edx, 0xb
add ebx, edx
mov edi, edx
mov ebp, dword [0x45cce0]
mov eax, 0x5c9900d1
imul esi
mov eax, dword [esp + 0x38]
shr edi, 0x1f
add edi, ebx
mov ebx, dword [0x45cce4]
sar edx, 0xb
add edi, ecx
mov ecx, dword [0x45ccdc]
add edi, edx
imul ecx, ecx, 0x1545
mov esi, edx
mov edx, dword [0x45cce8]
imul edx, edx, 0xa74
shr esi, 0x1f
add esi, edi
add esi, ecx
add esi, edx
test eax, eax
mov dword [str._r_____r____], esi
jne 0x40f338
mov ecx, dword [0x45ccd0]
mov eax, 0x53f407b5
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xc09370e3
imul ebx
add edx, ebx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov edx, ebp
imul edx, edx, 0x1481
sub edi, edx
mov eax, 0x6f9f33f1
imul ecx
sar edx, 0xb
add edi, edx
mov eax, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x1259
shr eax, 0x1f
add eax, edi
add eax, edx
mov edi, eax
mov eax, 0x2f1d432d
imul ecx
mov eax, dword [esp + 0x3c]
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
test eax, eax
mov dword [0x45ccc8], ecx
je 0x40f33e
mov edi, eax
lea edx, [edi + 1]
mov dword [esp + 0x10], edx
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x40f308
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], edi
je 0x40f33e
push eax
call fcn.0040e7f0
mov esi, dword [str._r_____r____]
mov ebp, dword [0x45cce0]
mov ebx, dword [0x45cce4]
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, dword [0x45ccc8]
imul ebp, ebp, 0x1865
mov eax, 0x5c9900d1
imul dword [0x45ccd4]
sar edx, 0xb
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov dword [esp + 0x10], eax
mov eax, 0xc09370e3
imul dword [0x45ccd4]
add edx, dword [0x45ccd4]
mov eax, dword [esp + 0x10]
sar edx, 0xc
add eax, edx
mov edi, dword [0x45cce8]
mov ebp, edx
imul edi, edi, 0xa74
shr ebp, 0x1f
add ebp, eax
mov eax, ebx
imul eax, eax, 0x1259
add ebp, eax
mov eax, 0x6614bc37
imul dword [0x45cccc]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, edi
sub eax, esi
add eax, 0xae6
mov dword [0x45cccc], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f3cd
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov esi, dword [0x45ccd8]
imul ecx, ecx, 0x1545
mov eax, 0x44fc3a35
imul dword [0x45ccdc]
sar edx, 0xb
mov ebp, esi
imul ebp, ebp, 0x1db0
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x6f9f33f1
imul esi
add ebp, ecx
sar edx, 0xb
mov ecx, edx
add ebp, edx
mov eax, 0x5df55b35
imul dword [0x45ccd0]
sar edx, 0xa
shr ecx, 0x1f
mov eax, edx
add ecx, ebp
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
sub ecx, eax
sub ecx, ebx
lea ecx, [ecx + edi - 0x1259]
push edx
mov dword [0x45ccd0], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45ccdc]
mov esi, dword [str._r_____r____]
mov dword [esp + 0x38], eax
mov eax, dword [0x45ccd8]
lea edi, [eax + esi]
imul esi, esi, 0x161e
imul edi, edi, 0x1545
mov edx, ecx
imul edx, edx, 0x1865
add edi, edx
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
add edi, edx
mov ebp, edx
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
shr ebp, 0x1f
mov dword [esp + 0x24], edx
add ebp, edi
mov edi, dword [0x45cce8]
mov dword [esp + 0x28], edx
add ebp, esi
mov esi, dword [0x45cce0]
sub ebp, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov eax, 0x53f407b5
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
lea ebp, [esi + ebp - 0x1259]
imul edx, edx, 0x161e
mov dword [0x45ccd4], ebp
sub edx, eax
imul ecx, ecx, 0x1259
mov dword [esp + 0x10], edx
mov eax, 0x5c9900d1
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov eax, edi
imul eax, eax, 0x1259
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x61f60d03
imul edi
mov eax, dword [esp + 0x10]
sar edx, 0xa
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, 0x6614bc37
imul esi
sar edx, 0xa
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, dword [0x45cccc]
mov edx, esi
imul esi, esi, 0xade
imul edx, edx, 0xa08
add eax, edx
mov dword [0x45ccd8], eax
mov eax, dword [0x45ccd0]
lea ebp, [eax + edi]
imul ebp, ebp, 0x1ef5
mov eax, 0x44fc3a35
imul dword [0x45cce4]
sar edx, 0xb
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov dword [esp + 0x14], eax
mov eax, 0x5c9900d1
imul dword [0x45cce4]
mov eax, dword [esp + 0x14]
sar edx, 0xb
add eax, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, eax
mov eax, 0xc09370e3
imul edi
add edx, edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
sub ebp, eax
add ebp, ecx
lea ecx, [esp + 0x18]
push ecx
add ebp, esi
push edx
mov dword [esp + 0x20], 0x1c
mov dword [esp + 0x18], 0
mov dword [0x45ccdc], ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40f815
mov edi, dword [0x45cce8]
mov ecx, dword [0x45ccd0]
mov eax, 0x4227fdad
imul edi
mov eax, dword [0x45ccdc]
sar edx, 0xb
imul eax, eax, 0x1259
lea ebp, [ecx + edi]
imul ebp, ebp, 0xae6
mov esi, edx
add ebp, edx
shr esi, 0x1f
add esi, ebp
mov ebp, dword [0x45ccd8]
mov edx, ebp
imul edx, edx, 0xade
sub esi, eax
add esi, edx
mov edx, dword [0x45cccc]
mov eax, 0x5df55b35
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x45ccd4]
mov edx, eax
imul edx, edx, 0xa74
sub esi, edx
cmp dword [esp + 0x24], ebx
mov dword [0x45cce0], esi
jne 0x40f6ea
mov ecx, dword [0x45ccc8]
lea ebx, [ecx + eax]
mov eax, 0x4227fdad
imul ebx, ebx, 0xa08
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce4]
sub ebx, eax
mov eax, 0x44fc3a35
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x5c9900d1
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub ebx, eax
mov eax, edx
imul eax, eax, 0x161e
add ebx, eax
mov eax, 0x5df55b35
imul edx
sar edx, 0xa
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, dword [esp + 0x20]
mov dword [0x45cce4], eax
jmp 0x40f82b
add ebp, ecx
imul ecx, ecx, 0x161e
imul ebp, ebp, 0x1865
sub ebp, ecx
mov ecx, dword [0x45ccc8]
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
mov esi, edx
add ebp, edx
mov edx, dword [0x45cce4]
imul edx, edx, 0x1259
shr esi, 0x1f
add esi, ebp
sub esi, edx
mov edx, dword [str._r_____r____]
mov eax, 0x2f1d432d
imul edx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x6614bc37
imul ecx
mov eax, dword [esp + 0x38]
sar edx, 0xa
mov ecx, edx
add esi, edx
lea edx, [esp + 0x18]
shr ecx, 0x1f
push edx
add ecx, esi
push eax
mov dword [0x45cce8], ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40f815
lea ebx, [ebx]
mov edi, dword [0x45ccd0]
mov ebp, dword [0x45cce4]
mov eax, 0x53f407b5
imul edi
sar edx, 0xb
mov ecx, edx
mov esi, dword [0x45cce0]
shr ecx, 0x1f
add ecx, edx
mov eax, 0xc09370e3
imul ebp
add edx, ebp
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, esi
imul edx, edx, 0x1481
sub ecx, edx
mov eax, 0x6f9f33f1
imul edi
sar edx, 0xb
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x45ccc8]
imul ecx, ecx, 0x1259
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, 0x2f1d432d
imul edi
mov eax, dword [esp + 0x14]
sar edx, 9
mov ecx, edx
add eax, edx
shr ecx, 0x1f
add ecx, eax
cmp dword [esp + 0x24], ebx
mov dword [0x45ccc8], ecx
je 0x40f8ad
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x18]
push edx
push eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40f770
mov edi, dword [0x45cce8]
mov ecx, dword [0x45ccc8]
mov esi, dword [0x45cce0]
mov ebx, dword [esp + 0x10]
mov eax, 0x53f407b5
imul ecx, ecx, 0x161e
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x5c9900d1
imul dword [0x45ccd4]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x1259
sub ecx, eax
sub ecx, edx
mov eax, 0x61f60d03
imul edi
sar edx, 0xa
add ecx, edx
mov edi, edx
mov eax, 0x6614bc37
imul esi
imul esi, esi, 0xa08
shr edi, 0x1f
sar edx, 0xa
add edi, ecx
mov ecx, dword [esp + 0x38]
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add eax, esi
push ecx
mov dword [0x45ccd8], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x24
ret
mov edx, dword [0x45ccdc]
mov ebx, dword [0x45ccd8]
mov eax, 0x44fc3a35
imul ebx, ebx, 0x1db0
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, ecx
imul edx, edx, 0x1545
add ebx, edx
mov eax, 0x6f9f33f1
imul dword [0x45ccd8]
sar edx, 0xb
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x5df55b35
imul edi
mov edi, dword [0x45cce8]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0xa74
sub ebx, eax
add ebx, edx
sub ebx, ebp
sub ebx, 0x1259
mov dword [0x45ccd0], ebx
mov ebx, dword [esp + 0x20]
jmp 0x40f82b