Function at 0x40f040
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45ccd4]
sub esp, 0x24
push ebx
mov ebx, dword [0x45cccc]
mov eax, 0x950cb67f
imul ebx
add edx, ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebp
push esi
mov esi, eax
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x84dd7
push edi
mov edi, eax
sub edi, esi
add edi, edx
mov eax, 0x9baa0995
imul ecx
add edx, ecx
mov ebp, dword [0x45ccdc]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9baa0995
imul ebx
mov eax, dword [esp + 0x38]
add edx, ebx
sar edx, 0x13
add edi, edx
mov esi, edx
mov edx, dword [0x45cce8]
mov ecx, ebp
imul edx, edx, 0x8a702
imul ecx, ecx, 0x8276a
shr esi, 0x1f
add esi, edi
add esi, ecx
add esi, edx
test eax, eax
mov dword [str._r_____r____], esi
jne 0x40f1a0
mov ecx, dword [0x45ccd0]
mov eax, 0x10449d67
imul ecx
mov eax, dword [0x45ccc8]
imul eax, eax, 0x3ef21
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add edi, edx
add edi, eax
mov eax, 0x3da8152f
imul ecx
sar edx, 0x11
add edi, edx
mov eax, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0x1c83d
shr eax, 0x1f
add eax, edi
add eax, edx
mov edi, eax
mov eax, 0x3ecaa423
imul dword [0x45cce4]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xcbb2b9d
imul ecx
mov eax, dword [esp + 0x3c]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
test eax, eax
mov dword [0x45ccc8], ecx
je 0x40f1a6
mov edi, eax
lea edx, [edi + 1]
mov dword [esp + 0x10], edx
lea esp, [esp]
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x40f170
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], edi
je 0x40f1a6
push eax
call fcn.0040e680
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45cccc]
mov ebp, dword [0x45ccdc]
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, dword [0x45ccc8]
mov eax, dword [0x45cce4]
imul eax, eax, 0x3ef21
mov dword [esp + 0x10], eax
mov eax, 0x69f239fb
imul ebx
mov eax, dword [esp + 0x10]
sar edx, 0x10
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x1e9f4e3
imul dword [0x45ccd4]
sar edx, 0xc
add ebx, edx
mov edi, dword [0x45cce8]
mov eax, edx
imul edi, edi, 0x8a702
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, dword [0x45cce0]
imul eax, eax, 0x84dd7
add ebx, eax
mov eax, 0x3ecaa423
imul dword [0x45ccd4]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, edi
sub eax, esi
add eax, 0x54963
mov dword [0x45cccc], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f235
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov esi, dword [0x45ccd8]
imul ecx, ecx, 0x8276a
mov eax, 0x10449d67
imul esi
imul esi, esi, 0xd2812
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x60d8eff
imul dword [0x45ccd0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x9baa0995
imul ebp
add edx, ebp
mov ebp, dword [0x45cce4]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add ebx, esi
add eax, edx
mov edx, dword [esp + 0x38]
sub ebx, eax
add ebx, ecx
sub ebx, ebp
lea ecx, [ebx + edi - 0x3ef21]
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 [str._r_____r____]
mov esi, dword [0x45ccdc]
mov dword [esp + 0x38], eax
mov eax, dword [0x45ccd8]
lea edi, [eax + ecx]
imul ecx, ecx, 0x85c24
mov eax, 0x69f239fb
imul edi, edi, 0x8276a
imul esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x1e9f4e3
imul esi
sar edx, 0xc
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, dword [0x45cce0]
add ecx, edi
add ecx, eax
mov edx, esi
imul edx, edx, 0x84dd7
lea eax, [edx + ecx - 0x3ef21]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [0x45ccd4], eax
mov dword [esp + 0x24], ecx
mov eax, 0x69f239fb
imul edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [0x45cce8]
mov ebp, ecx
imul ebp, ebp, 0x3ef21
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
imul esi, esi, 0x3ef21
add eax, edx
sub eax, ebp
mov edx, edi
imul edi, edi, 0xa0dd9
imul edx, edx, 0x26a94
add eax, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x85c24
add eax, edx
mov ebp, eax
mov eax, 0x1e9f4e3
imul dword [0x45ccd4]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x3da8152f
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x76595943
imul ecx
sar edx, 0x12
mov ecx, edx
add ebp, edx
mov edx, dword [0x45ccd0]
shr ecx, 0x1f
add ecx, ebp
mov ebp, dword [0x45cccc]
lea eax, [edx + ebp]
imul eax, eax, 0x6dec5
add eax, esi
mov dword [esp + 0x14], eax
mov dword [0x45ccd8], ecx
mov ecx, dword [0x45cce4]
mov eax, 0x1e9f4e3
imul ecx
mov eax, dword [esp + 0x14]
sar edx, 0xc
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0x9baa0995
imul ecx
add edx, ecx
sar edx, 0x13
mov ecx, edx
add esi, edx
mov eax, 0x3ecaa423
imul ebp
sar edx, 0x11
shr ecx, 0x1f
mov eax, edx
add ecx, esi
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
sub ecx, eax
add ecx, edi
mov dword [0x45ccdc], ecx
lea ecx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x20], 0x1c
mov dword [esp + 0x18], 0
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40f67f
mov edi, dword [0x45cce8]
mov ecx, dword [0x45ccd0]
mov eax, dword [0x45ccdc]
imul eax, eax, 0x3ef21
lea ebp, [ecx + edi]
imul ebp, ebp, 0x54963
sub ebp, eax
mov eax, 0x950cb67f
imul edi
add edx, edi
sar edx, 0x12
add ebp, edx
mov esi, edx
mov edx, dword [0x45cccc]
mov eax, 0x60d8eff
imul edx
sar edx, 0xd
mov eax, edx
shr esi, 0x1f
add esi, ebp
mov ebp, dword [0x45ccd8]
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x45ccd4]
mov edx, eax
imul edx, edx, 0x8a702
sub esi, edx
mov edx, ebp
imul edx, edx, 0xa0dd9
add esi, edx
cmp dword [esp + 0x24], ebx
mov dword [0x45cce0], esi
jne 0x40f55a
mov ecx, dword [0x45ccc8]
lea ebx, [ecx + eax]
mov eax, 0x950cb67f
imul ebx, ebx, 0x26a94
imul ebp
add edx, ebp
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x1e9f4e3
imul ebp
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub ebx, eax
mov eax, edx
imul eax, eax, 0x85c24
add ebx, eax
mov eax, 0x60d8eff
imul edx
sar edx, 0xd
mov ebp, edx
add ebx, edx
shr ebp, 0x1f
add ebp, ebx
mov ebx, dword [0x45cce4]
mov eax, 0x9baa0995
imul ebx
add edx, ebx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x20]
sub ebp, eax
mov dword [0x45cce4], ebp
mov dword [esp + 0x10], edx
jmp 0x40f691
mov eax, dword [0x45cce4]
mov esi, dword [0x45ccc8]
imul eax, eax, 0x3ef21
add ebp, ecx
imul ecx, ecx, 0x85c24
imul ebp, ebp, 0x84dd7
sub ebp, eax
mov eax, 0x69f239fb
imul esi
sar edx, 0x10
mov edi, edx
add ebp, edx
mov eax, 0x1e9f4e3
imul esi
shr edi, 0x1f
sar edx, 0xc
add edi, ebp
sub edi, ecx
mov ecx, dword [str._r_____r____]
mov esi, edx
add edi, edx
mov eax, 0xcbb2b9d
imul ecx
mov eax, dword [esp + 0x38]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shr esi, 0x1f
lea edx, [esp + 0x18]
add esi, edi
push edx
sub esi, ecx
push eax
mov dword [0x45cce8], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40f67f
lea esp, [esp]
mov edi, dword [0x45ccd0]
mov eax, 0x10449d67
imul edi
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x3ef21
mov esi, dword [0x45cce0]
add ecx, edx
mov eax, 0x3da8152f
imul edi
mov ebp, dword [0x45cce4]
sar edx, 0x11
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, esi
imul ecx, ecx, 0x1c83d
add eax, ecx
mov ecx, eax
mov eax, 0x3ecaa423
imul ebp
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xcbb2b9d
imul edi
mov eax, ecx
sar edx, 0xf
mov ecx, edx
add eax, edx
shr ecx, 0x1f
add ecx, eax
cmp dword [esp + 0x24], ebx
mov dword [0x45ccc8], ecx
je 0x40f718
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x18]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40f5e0
mov edi, dword [0x45cce8]
mov ecx, dword [0x45ccc8]
mov esi, dword [0x45cce0]
mov eax, 0x69f239fb
imul ecx, ecx, 0x85c24
imul esi
imul esi, esi, 0x26a94
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov ebx, edi
imul ebx, ebx, 0x3ef21
mov eax, 0x1e9f4e3
imul dword [0x45ccd4]
sub ebp, ebx
sar edx, 0xc
add ebp, esi
add ebp, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3da8152f
imul edi
sar edx, 0x11
mov eax, edx
sub ebp, ecx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x76595943
imul edi
sar edx, 0x12
mov ecx, edx
add ebp, edx
mov edx, dword [esp + 0x38]
shr ecx, 0x1f
add ecx, ebp
push edx
mov dword [0x45ccd8], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov ebx, dword [0x45ccd8]
mov eax, 0x10449d67
imul ebx
imul ebx, ebx, 0xd2812
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x60d8eff
imul edi
mov edi, dword [0x45ccdc]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
add edx, ebx
mov dword [esp + 0x14], edx
mov eax, 0x9baa0995
imul edi
add edx, edi
mov edi, dword [0x45cce8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub edx, eax
mov eax, ecx
imul eax, eax, 0x8276a
add edx, eax
mov eax, edi
imul eax, eax, 0x8a702
add edx, eax
sub edx, ebp
sub edx, 0x3ef21
mov dword [0x45ccd0], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], edx
jmp 0x40f691