Function at 0x40f360
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45dbcc]
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [0x45dbd4]
mov eax, 0xc69fb513
imul esi
add edx, esi
sar edx, 0x19
push edi
mov edi, edx
mov eax, ecx
imul eax, eax, 0x33bbc84
shr edi, 0x1f
add edi, edx
add edi, eax
mov eax, 0x2ee68aa5
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
sub edi, eax
imul edx, edx, 0x20e865f
mov eax, dword [0x45dbdc]
imul eax, eax, 0x362805a
add edi, edx
add edi, eax
mov eax, 0xc41087d7
imul esi
add edx, esi
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xc41087d7
imul ecx
add edx, ecx
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov edi, dword [0x45dbd0]
mov dword [str._r_____r____], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f4a8
mov eax, 0x1066a8b3
imul edi
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3e6f678
add ecx, edx
mov eax, 0x4f2cca89
imul edi
sar edx, 0x18
add ecx, edx
mov ebx, edx
mov eax, 0x4c3a114b
imul edi
mov eax, dword [0x45dbe0]
imul eax, eax, 0xac2519
sar edx, 0x18
shr ebx, 0x1f
add ebx, ecx
mov ecx, edx
add ebx, edx
mov ebp, dword [esp + 0x3c]
shr ecx, 0x1f
add ecx, ebx
mov ebx, dword [0x45dbe4]
sub ecx, eax
mov eax, 0x974409b3
imul ebx
add edx, ebx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
test ebp, ebp
mov dword [0x45dbc8], ecx
je 0x40f4ae
mov eax, ebp
lea ebx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40f480
sub eax, ebx
mov dword [esp + 0x14], eax
je 0x40f4ae
push ebp
call fcn.0040e960
mov esi, dword [0x45dbd4]
mov edi, dword [0x45dbd0]
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, dword [0x45dbc8]
mov ebp, dword [0x45dbe4]
mov eax, 0xc69fb513
imul ebp, ebp, 0x3e6f678
imul esi
add edx, esi
sar edx, 0x19
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, dword [0x45dbe0]
imul eax, eax, 0x33bbc84
add ebp, eax
mov eax, 0x83228937
imul dword [0x45dbcc]
add edx, dword [0x45dbcc]
mov ebx, dword [0x45dbe8]
sar edx, 0x19
imul ebx, ebx, 0x20e865f
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x974409b3
imul esi
add edx, esi
mov esi, dword [str._r_____r____]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, ebx
sub eax, esi
add eax, 0x276937b
mov dword [0x45dbcc], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f544
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov esi, dword [0x45dbd8]
imul ecx, ecx, 0x362805a
mov eax, 0x1066a8b3
imul esi
imul esi, esi, 0x5390766
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0xcfdc5805
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
add ebp, ecx
mov ecx, dword [0x45dbdc]
mov eax, 0xc41087d7
imul ecx
mov eax, dword [esp + 0x38]
add edx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ebp, esi
mov esi, dword [0x45dbe4]
add ecx, edx
sub ebp, ecx
sub ebp, esi
lea edx, [ebx + ebp - 0x3e6f678]
push eax
mov dword [0x45dbd0], edx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 4
mov dword [esp + 0x18], eax
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, dword [str._r_____r____]
mov ecx, dword [0x45dbd8]
mov dword [esp + 0x38], eax
lea edi, [ecx + esi]
imul esi, esi, 0x293e68d
mov ecx, dword [0x45dbdc]
imul edi, edi, 0x362805a
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
add edi, edx
mov ebx, edx
mov edx, ecx
imul edx, edx, 0x33bbc84
shr ebx, 0x1f
add ebx, edi
add ebx, esi
add ebx, edx
mov esi, dword [0x45dbe0]
mov eax, 0x83228937
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
sub ebx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
lea edi, [ebx + esi - 0x3e6f678]
mov ebx, dword [0x45dbe8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov eax, ebx
mov dword [0x45dbd4], edi
imul eax, eax, 0x3e6f678
mov dword [esp + 0x30], edx
mov ebp, dword [0x45dbc8]
imul ecx, ecx, 0x3e6f678
imul ebp, ebp, 0x293e68d
sub ebp, eax
mov eax, 0xc69fb513
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x4f2cca89
imul ebx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x83228937
imul esi
add edx, esi
sar edx, 0x19
add ebp, edx
mov edi, edx
mov edx, esi
imul esi, esi, 0x35bbff4
imul edx, edx, 0x3e78532
shr edi, 0x1f
add edi, ebp
add edi, edx
mov eax, 0x7c780d21
imul ebx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [0x45dbd0]
add eax, edi
mov edi, dword [0x45dbcc]
lea ebx, [edx + edi]
imul ebx, ebx, 0x2baab78
mov dword [0x45dbd8], eax
add ebx, ecx
mov ecx, dword [0x45dbe4]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
add eax, esi
mov ebx, eax
mov eax, 0x974409b3
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xc41087d7
imul ecx
mov eax, dword [esp + 0x38]
add edx, ecx
sar edx, 0x1a
mov ecx, edx
add ebx, edx
lea edx, [esp + 0x18]
shr ecx, 0x1f
push edx
add ecx, ebx
push eax
mov dword [esp + 0x20], 0x1c
xor ebp, ebp
mov dword [0x45dbdc], ecx
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40f9c1
mov edi, dword [0x45dbe8]
mov ecx, dword [0x45dbd0]
mov edx, dword [0x45dbdc]
mov ebx, dword [0x45dbd8]
imul edx, edx, 0x3e6f678
lea eax, [ecx + edi]
imul eax, eax, 0x276937b
sub eax, edx
mov edx, ebx
imul edx, edx, 0x35bbff4
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x2ee68aa5
imul edi
mov eax, dword [esp + 0x14]
sar edx, 0x17
add eax, edx
mov esi, edx
mov edx, dword [0x45dbcc]
shr esi, 0x1f
add esi, eax
mov eax, 0xcfdc5805
imul edx
add edx, dword [0x45dbcc]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x45dbd4]
mov edx, eax
imul edx, edx, 0x20e865f
sub esi, edx
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x24], edx
mov dword [0x45dbe0], esi
jne 0x40f890
mov ecx, dword [0x45dbc8]
add eax, ecx
imul eax, eax, 0x3e78532
mov dword [esp + 0x14], eax
mov ebp, dword [str._r_____r____]
mov eax, 0xc69fb513
imul ebx
add edx, ebx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov eax, ebp
imul eax, eax, 0x293e68d
add edx, eax
mov dword [esp + 0x14], edx
mov eax, 0x2ee68aa5
imul ebx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov ebx, dword [0x45dbe4]
mov dword [esp + 0x14], edx
mov eax, 0xcfdc5805
imul ebp
mov eax, dword [esp + 0x14]
add edx, ebp
sar edx, 0x19
add eax, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, eax
mov eax, 0xc41087d7
imul ebx
add edx, ebx
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov dword [0x45dbe4], ebp
mov ebp, dword [esp + 0x20]
jmp 0x40f9d3
mov edx, dword [0x45dbe4]
add ebx, ecx
imul edx, edx, 0x3e6f678
imul ecx, ecx, 0x293e68d
imul ebx, ebx, 0x33bbc84
sub ebx, edx
sub ebx, ecx
mov ecx, dword [0x45dbc8]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
mov esi, edx
add ebx, edx
mov edx, dword [str._r_____r____]
mov eax, 0x4c3a114b
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
shr esi, 0x1f
add esi, ebx
sub esi, eax
mov eax, 0x83228937
imul ecx
mov eax, dword [esp + 0x38]
add edx, ecx
sar edx, 0x19
mov ecx, edx
add esi, edx
lea edx, [esp + 0x18]
shr ecx, 0x1f
push edx
add ecx, esi
push eax
mov dword [0x45dbe8], ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40f9c1
jmp 0x40f920
mov edi, dword [0x45dbd0]
mov eax, 0x1066a8b3
imul edi
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3e6f678
add ecx, edx
mov eax, 0x4f2cca89
imul edi
sar edx, 0x18
add ecx, edx
mov esi, edx
mov eax, 0x4c3a114b
imul edi
mov ebx, dword [0x45dbe4]
sar edx, 0x18
shr esi, 0x1f
add esi, ecx
mov ecx, edx
add esi, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45dbe0]
mov eax, esi
imul eax, eax, 0xac2519
sub ecx, eax
mov eax, 0x974409b3
imul ebx
add edx, ebx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub ecx, eax
cmp dword [esp + 0x24], edx
mov dword [0x45dbc8], ecx
je 0x40fa5c
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x18]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40f920
mov edi, dword [0x45dbe8]
mov ecx, dword [0x45dbc8]
mov esi, dword [0x45dbe0]
mov ebx, dword [0x45dbd4]
imul ecx, ecx, 0x293e68d
mov edx, edi
imul edx, edx, 0x3e6f678
sub ecx, edx
mov eax, 0xc69fb513
imul ebx
add edx, ebx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x4f2cca89
imul edi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x83228937
imul esi
add edx, esi
imul esi, esi, 0x3e78532
sar edx, 0x19
add ecx, edx
mov ebx, edx
mov eax, 0x7c780d21
imul edi
shr ebx, 0x1f
add ebx, ecx
sar edx, 0x18
mov ecx, edx
add ebx, esi
add ebx, edx
mov edx, dword [esp + 0x38]
shr ecx, 0x1f
add ecx, ebx
push edx
mov dword [0x45dbd8], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, 0x1066a8b3
imul dword [0x45dbd8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0xcfdc5805
imul edi
add edx, edi
mov edi, dword [0x45dbe8]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, edi
imul edx, edx, 0x20e865f
mov eax, ecx
imul eax, eax, 0x362805a
add ebp, edx
mov edx, dword [0x45dbdc]
add ebp, eax
mov eax, dword [0x45dbd8]
imul eax, eax, 0x5390766
add ebp, eax
mov eax, 0xc41087d7
imul edx
add edx, dword [0x45dbdc]
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
sub ebp, ebx
sub ebp, 0x3e6f678
mov dword [0x45dbd0], ebp
mov ebp, dword [esp + 0x20]
jmp 0x40f9d3