Function at 0x40f4b0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45dbcc]
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [0x45dbd4]
mov eax, 0xbf1fa759
imul esi
push edi
mov edi, dword [0x45dbdc]
add edx, esi
imul edi, edi, 0xdbb5
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xbf1fa759
imul ecx
add edx, ecx
sar edx, 0x10
add edi, edx
mov ebx, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x156ac
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov eax, 0xca9db4d5
imul esi
mov eax, ecx
imul eax, eax, 0x14289
add edx, esi
sar edx, 0x10
mov edi, edx
shr edi, 0x1f
add ebx, edx
add edi, ebx
add edi, eax
mov eax, 0x7f55e343
imul ecx
mov eax, dword [esp + 0x38]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
test eax, eax
mov dword [str._r_____r____], edi
jne 0x40f5fc
mov ecx, dword [0x45dbe4]
mov ebx, dword [0x45dbe0]
mov eax, 0x9524e185
imul ebx, ebx, 0x5556
imul ecx
add edx, ecx
mov ecx, dword [0x45dbd0]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x32cc2d1b
imul ecx
sar edx, 0xe
add ebx, edx
mov ebp, edx
mov eax, 0x8116582f
imul ecx
add edx, ecx
sar edx, 0xd
shr ebp, 0x1f
add ebp, ebx
add ebp, edx
mov ebx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3f76
shr ebx, 0x1f
add ebx, ebp
mov ebp, dword [esp + 0x3c]
add ebx, edx
mov eax, 0x3af417
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
test ebp, ebp
mov dword [0x45dbc8], ecx
je 0x40f602
mov eax, ebp
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40f5d4
sub eax, ebx
mov dword [esp + 0x14], eax
je 0x40f602
push ebp
call fcn.0040eab0
mov edi, dword [str._r_____r____]
mov esi, dword [0x45dbd4]
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, dword [0x45dbc8]
mov eax, 0x9524e185
imul esi
add edx, esi
sar edx, 0xf
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0xca9db4d5
imul esi
mov eax, dword [0x45dbe0]
imul eax, eax, 0x14289
add edx, esi
sar edx, 0x10
mov ebx, dword [0x45dbe8]
mov esi, edx
imul ebx, ebx, 0x156ac
shr esi, 0x1f
add ebp, edx
add esi, ebp
mov ebp, dword [0x45dbe4]
add esi, eax
mov eax, ebp
imul eax, eax, 0x3f76
add esi, eax
mov eax, 0x72c3c0b5
imul dword [0x45dbcc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
sub eax, ebx
sub eax, edi
add eax, 0x11aa4
mov dword [0x45dbcc], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f68a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov esi, dword [0x45dbd8]
imul ecx, ecx, 0xdbb5
mov edi, dword [0x45dbdc]
mov edx, esi
imul edx, edx, 0x156e6
add ecx, edx
mov eax, 0xbf1fa759
imul edi
add edx, edi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x8116582f
imul esi
add edx, esi
sar edx, 0xd
add ecx, edx
mov esi, edx
mov eax, 0x39f7b4f
imul dword [0x45dbd0]
mov eax, dword [esp + 0x38]
shr esi, 0x1f
add esi, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
sub esi, ebp
lea edx, [esi + ebx - 0x3f76]
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, 0x14373
mov ecx, dword [0x45dbdc]
imul edi, edi, 0xdbb5
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
add edi, edx
mov ebx, edx
mov edx, ecx
imul edx, edx, 0x14289
shr ebx, 0x1f
add ebx, edi
add ebx, esi
add ebx, edx
mov eax, 0x72c3c0b5
imul ecx
mov edi, dword [0x45dbe8]
sar edx, 0xe
mov eax, edx
mov esi, dword [0x45dbe0]
shr eax, 0x1f
add eax, edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
sub ebx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov eax, 0x2fd0003
imul edi
lea ebx, [ebx + esi - 0x3f76]
sar edx, 0xa
mov dword [0x45dbd4], ebx
mov ebp, edx
mov eax, dword [0x45dbc8]
imul ecx, ecx, 0x3f76
imul eax, eax, 0x14373
shr ebp, 0x1f
add ebp, edx
add ebp, eax
mov eax, 0xca9db4d5
imul ebx
add edx, ebx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x32cc2d1b
imul edi
imul edi, edi, 0x3f76
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x72c3c0b5
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
sub ebp, edi
mov edi, dword [0x45dbcc]
add ebp, edx
add eax, ebp
mov edx, esi
imul esi, esi, 0x8af5
imul edx, edx, 0x8ec3
add eax, edx
mov dword [0x45dbd8], eax
mov eax, dword [0x45dbd0]
lea ebx, [eax + edi]
mov eax, 0x9524e185
imul ebx, ebx, 0x10156
imul edi
add edx, edi
mov edi, dword [0x45dbe4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xbf1fa759
imul edi
add edx, edi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, eax
mov eax, 0xca9db4d5
imul edi
add edx, edi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [esp + 0x38]
add eax, ebx
add eax, ecx
lea ecx, [esp + 0x18]
push ecx
add eax, esi
push edx
mov dword [esp + 0x20], 0x1c
xor ebp, ebp
mov dword [0x45dbdc], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40fae7
mov ebx, dword [0x45dbe8]
mov ecx, dword [0x45dbd0]
mov edx, dword [0x45dbd4]
imul edx, edx, 0x156ac
lea eax, [ecx + ebx]
imul eax, eax, 0x11aa4
sub eax, edx
mov edx, dword [0x45dbdc]
imul edx, edx, 0x3f76
sub eax, edx
mov edx, dword [0x45dbcc]
mov dword [esp + 0x14], eax
mov esi, dword [0x45dbd8]
mov eax, 0x39f7b4f
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov eax, esi
imul eax, eax, 0x8af5
add edx, eax
mov dword [esp + 0x14], edx
mov eax, 0x7f55e343
imul ebx
mov eax, dword [esp + 0x14]
sar edx, 0xf
mov edi, edx
add eax, edx
mov edx, dword [esp + 0x10]
shr edi, 0x1f
add edi, eax
cmp dword [esp + 0x24], edx
mov dword [0x45dbe0], edi
jne 0x40f9be
mov eax, dword [0x45dbd4]
mov ecx, dword [0x45dbc8]
mov edx, dword [0x45dbe4]
lea ebp, [ecx + eax]
mov eax, 0xbf1fa759
imul ebp, ebp, 0x8ec3
imul edx
add edx, dword [0x45dbe4]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub ebp, eax
mov eax, edx
imul eax, eax, 0x14373
add ebp, eax
mov eax, 0x39f7b4f
imul edx
sar edx, 0xa
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x7f55e343
imul esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov dword [0x45dbe4], ebp
mov ebp, dword [esp + 0x20]
jmp 0x40faf9
add esi, ecx
imul ecx, ecx, 0x14373
imul esi, esi, 0x14289
sub esi, ecx
mov ecx, dword [0x45dbc8]
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
add esi, edx
mov edi, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x3f76
shr edi, 0x1f
add edi, esi
sub edi, edx
mov eax, 0x72c3c0b5
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xe
mov esi, edx
add edi, edx
mov eax, 0x3af417
imul ecx
sar edx, 5
mov eax, edx
shr esi, 0x1f
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x18]
add esi, edi
push ecx
sub esi, eax
push edx
mov dword [0x45dbe8], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40fae7
mov ecx, dword [0x45dbe4]
mov edi, dword [0x45dbe0]
mov esi, dword [0x45dbd0]
mov eax, 0x9524e185
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, edi
imul ecx, ecx, 0x5556
sub ecx, eax
mov eax, 0x32cc2d1b
imul esi
sar edx, 0xe
add ecx, edx
mov ebx, edx
mov eax, 0x8116582f
imul esi
add edx, esi
sar edx, 0xd
shr ebx, 0x1f
add ebx, ecx
add ebx, edx
mov eax, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3f76
shr eax, 0x1f
add eax, ebx
add eax, edx
mov ebx, eax
mov eax, 0x3af417
imul esi
mov eax, dword [esp + 0x10]
sar edx, 5
mov ecx, edx
add ebx, edx
mov edx, dword [esp + 0x24]
shr ecx, 0x1f
add ecx, ebx
cmp edx, eax
mov dword [0x45dbc8], ecx
je 0x40fb7e
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x18]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40fa40
mov ebx, dword [0x45dbe8]
mov ecx, dword [0x45dbc8]
mov edi, dword [0x45dbe0]
mov eax, 0x2fd0003
imul ecx, ecx, 0x14373
imul ebx
sar edx, 0xa
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, ecx
mov ecx, dword [0x45dbd4]
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x32cc2d1b
imul ebx
imul ebx, ebx, 0x3f76
sar edx, 0xe
mov eax, edx
sub esi, ecx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x72c3c0b5
imul edi
imul edi, edi, 0x8ec3
sar edx, 0xe
mov ecx, edx
sub esi, ebx
shr ecx, 0x1f
add esi, edx
mov edx, dword [esp + 0x38]
add ecx, esi
add ecx, edi
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, dword [0x45dbd8]
mov ebx, dword [0x45dbdc]
imul eax, eax, 0x156e6
mov ebp, ecx
imul ebp, ebp, 0xdbb5
add ebp, eax
mov eax, 0xbf1fa759
imul ebx
add edx, ebx
mov ebx, dword [0x45dbe8]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, ebx
imul edx, edx, 0x156ac
add ebp, edx
mov eax, 0x8116582f
imul dword [0x45dbd8]
add edx, dword [0x45dbd8]
sar edx, 0xd
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x39f7b4f
imul esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe4]
sub ebp, eax
sub ebp, edx
sub ebp, 0x3f76
mov dword [0x45dbd0], ebp
mov ebp, dword [esp + 0x20]
jmp 0x40faf9