Function at 0x40b6a0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45668c]
mov eax, 0x95e7555
imul ecx, ecx, 0xdcfc
imul dword [0x456694]
sub esp, 0x20
push ebx
sar edx, 9
push ebp
push esi
add ecx, edx
mov esi, edx
push edi
mov edi, dword [0x456690]
mov eax, 0x5bdd0ecb
imul edi
mov ebp, dword [0x45669c]
sar edx, 0xe
shr esi, 0x1f
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ecx
mov ecx, dword [0x4566a8]
mov edx, ecx
imul edx, edx, 0x3117
mov ebx, dword [esp + 0x34]
sub esi, eax
add esi, edx
mov eax, 0x6000f003
imul ebp
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
test ebx, ebx
mov dword [str._r_____r____], esi
jne 0x40b7b6
mov eax, dword [0x4566a0]
imul eax, eax, 0xffff5557
mov edx, edi
imul edx, edx, 0xdd0b
sub eax, edx
mov dword [esp + 0x34], eax
mov eax, 0x55072b69
imul ebp
mov eax, dword [esp + 0x34]
sar edx, 0xf
add eax, edx
mov ebp, edx
mov edx, dword [0x4566a4]
shr ebp, 0x1f
add ebp, eax
mov eax, 0x80df83a9
imul edx
add edx, dword [0x4566a4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456688]
sub ebp, eax
add ebp, esi
add edx, ebp
mov ebp, dword [esp + 0x38]
test ebp, ebp
mov dword [0x456688], edx
je 0x40b7b6
mov esi, ebp
lea edx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x40b790
sub esi, edx
mov dword [esp + 0x34], esi
je 0x40b7b6
push ebp
call fcn.0040aee0
mov edi, dword [0x456690]
mov ecx, dword [0x4566a8]
add esp, 4
mov ebx, eax
mov esi, dword [0x4566a0]
mov eax, 0x95e7555
imul edi
mov ebp, esi
imul ebp, ebp, 0xdcfc
sar edx, 9
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, dword [0x45668c]
mov dword [esp + 0x34], eax
mov eax, 0xb73ab967
imul dword [0x45668c]
add edx, ebp
mov ebp, dword [esp + 0x34]
sar edx, 0xf
add ebp, edx
mov eax, edx
mov edx, ecx
imul edx, edx, 0x3117
shr eax, 0x1f
add eax, ebp
mov ebp, dword [0x456694]
sub eax, edx
sub eax, ebp
add eax, 0xdbb5
test ebx, ebx
mov dword [0x45668c], eax
jne 0x40b828
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x9524e185
imul ecx, ecx, 0xb25a
imul edi
add edx, edi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x5bdd0ecb
imul dword [0x45669c]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x456688]
imul eax, eax, 0x7f22
add ecx, eax
sub ecx, esi
sub ecx, 0xdd0b
push ebx
mov dword [0x456690], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45668c]
mov edx, dword [str._r_____r____]
mov esi, dword [0x45669c]
imul edx, edx, 0x36a6
mov dword [esp + 0x34], eax
mov edi, ecx
imul edi, edi, 0xdcfc
add edi, edx
mov eax, 0xb73ab967
imul esi
add edx, esi
mov esi, dword [0x4566a4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456698]
sub edi, eax
imul edx, edx, 0x7f22
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
add edi, esi
lea esi, [edx + edi - 0xdd0b]
mov edi, dword [0x4566a8]
mov eax, 0x6bb7d05b
imul edi
sub edx, edi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, edi
mov edi, eax
imul ebp, ebp, 0xdd0b
mov eax, 0x95e7555
imul esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4566a0]
imul edx, edx, 0xb2d6
sub edi, ebp
sub edi, eax
mov dword [0x456694], esi
add edi, edx
mov eax, 0x14dc1615
imul dword [0x456698]
sar edx, 0xa
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
mov dword [0x456698], eax
mov ebp, esi
mov eax, 0x5bdd0ecb
imul ebp, ebp, 0xdd0b
imul esi
sar edx, 0xe
mov esi, edx
add ebp, edx
mov edx, dword [0x456690]
imul edx, edx, 0xaaa9
mov eax, ecx
imul eax, eax, 0x18161
shr esi, 0x1f
add esi, ebp
add esi, edx
add esi, eax
mov eax, 0x80df83a9
imul ecx
add edx, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
lea edx, [esp + 0x14]
mov dword [0x45669c], esi
mov esi, dword [esp + 0x34]
push edx
push esi
mov dword [esp + 0x1c], 0x1c
xor edi, edi
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40bb67
mov ebp, dword [0x45668c]
mov ecx, dword [0x456698]
mov eax, 0x9524e185
imul ecx, ecx, 0x733f
imul ebp
add edx, ebp
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0xdbb5
sub ecx, eax
mov eax, dword [esp + 0x20]
add ecx, edx
cmp eax, ebx
mov dword [0x4566a0], ecx
jne 0x40ba7e
mov edi, dword [0x45669c]
mov eax, 0x95e7555
imul ebp
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456688]
imul edx, edx, 0xb2d6
mov ebx, edi
imul ebx, ebx, 0x36a6
sub ebx, eax
add ebx, edx
mov edx, dword [0x4566a4]
mov eax, 0x5bdd0ecb
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x6000f003
imul edi
mov edi, dword [esp + 0x1c]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov dword [0x4566a4], ebx
jmp 0x40bb6d
mov ebp, dword [0x456690]
imul ecx, ecx, 0x113b1
mov eax, 0xb73ab967
imul ebp, ebp, 0xdcfc
imul dword [0x456698]
add edx, dword [0x456698]
sar edx, 0xf
mov eax, edx
add ebp, edx
shr eax, 0x1f
add eax, ebp
sub eax, ecx
mov ebp, eax
mov eax, 0x55072b69
imul dword [str._r_____r____]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x14]
push edx
sub ebp, ecx
push esi
mov dword [0x4566a8], ebp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40bb67
mov ecx, dword [0x4566a0]
mov eax, dword [0x456690]
imul eax, eax, 0xdd0b
mov esi, ecx
imul esi, esi, 0xffff5557
sub esi, eax
mov eax, 0x55072b69
imul dword [0x45669c]
sar edx, 0xf
add esi, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, esi
mov esi, dword [0x4566a4]
mov eax, 0x80df83a9
imul esi
add edx, esi
mov esi, dword [str._r_____r____]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, dword [esp + 0x20]
add ebp, esi
mov esi, dword [0x456688]
add esi, ebp
cmp eax, ebx
mov dword [0x456688], esi
je 0x40bbe1
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40bae1
mov ecx, dword [0x4566a0]
mov ebx, dword [0x4566a8]
imul ecx, ecx, 0xb2d6
mov eax, 0x6bb7d05b
imul ebx
sub edx, ebx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456694]
mov ebp, ebx
mov ebx, eax
imul ebp, ebp, 0xdd0b
mov eax, 0x95e7555
imul edx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, ebp
sub ebx, eax
mov eax, 0x14dc1615
imul dword [0x456698]
add ebx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
push esi
mov dword [0x456698], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edi, dword [0x456690]
imul esi, esi, 0x7f22
mov eax, 0x9524e185
imul edi
add edx, edi
mov edi, dword [0x4566a8]
imul edi, edi, 0xb25a
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x5bdd0ecb
imul dword [0x45669c]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, esi
mov esi, dword [esp + 0x34]
sub edi, ecx
sub edi, 0xdd0b
mov dword [0x456690], edi
mov edi, dword [esp + 0x1c]
jmp 0x40bb6d