Function at 0x40bdd0
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov esi, dword [0x456824]
mov eax, 0x1315e2c9
imul esi
mov eax, dword [0x456838]
imul eax, eax, 0x8cc35
sar edx, 0x10
mov ebx, dword [0x456830]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
mov eax, 0x637bce79
imul esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x6a41a
sub ecx, eax
add ecx, edx
mov eax, 0x3b50a35b
imul dword [0x45681c]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, dword [esp + 0x34]
sub ecx, eax
test edi, edi
mov dword [str._r_____r____], ecx
jne 0x40bee0
mov esi, dword [0x456834]
mov eax, 0x4ca85b91
imul esi
sar edx, 0x12
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, dword [0x456818]
imul edx, edx, 0xd5bac
add ebp, edx
mov eax, 0x72563b0d
imul esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x8a1c3
sub ebp, eax
sub ebp, edx
mov eax, 0x2e259371
imul dword [0x456820]
mov eax, dword [esp + 0x38]
sar edx, 0x10
mov esi, edx
shr esi, 0x1f
add ebp, edx
add esi, ebp
test eax, eax
mov dword [0x456818], esi
je 0x40bee6
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x34], edx
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x40beb7
sub ebp, dword [esp + 0x34]
mov dword [esp + 0x34], ebp
je 0x40bee6
push eax
call fcn.0040b630
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x456830]
add esp, 4
mov edi, eax
mov esi, dword [0x456818]
mov eax, 0x1315e2c9
imul ebx, ebx, 0x6a41a
imul dword [0x456838]
sar edx, 0x10
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x3d63c959
imul dword [0x45681c]
sar edx, 0x11
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, dword [0x456838]
imul eax, eax, 0x8cc35
sub ebp, eax
add ebp, ebx
sub ebp, ecx
add ebp, 0x6a5e7
test edi, edi
mov dword [0x45681c], ebp
jne 0x40bf45
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov edx, dword [0x45682c]
imul ecx, ecx, 0xa4b0c
imul esi, esi, 0x23d2f
mov eax, 0x637bce79
imul edx
sar edx, 0x12
mov ebp, dword [0x456834]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x2681eb59
imul dword [0x456820]
sar edx, 0x10
mov eax, edx
add ecx, esi
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, ebp
sub ecx, 0xd5bac
push edi
mov dword [0x456820], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45682c]
mov dword [esp + 0x34], eax
mov edi, dword [str._r_____r____]
mov esi, dword [0x456830]
imul edi, edi, 0xd69d0
mov eax, 0x3d63c959
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456828]
sub edi, eax
imul edx, edx, 0x23d2f
mov eax, dword [0x456818]
imul eax, eax, 0x6a41a
add edx, esi
add edx, edi
lea edx, [eax + edx - 0xd5bac]
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 edi, dword [0x456838]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [0x456824], edx
mov eax, 0x1315e2c9
imul edx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
mov ebp, edi
imul edx, edx, 0x85714
imul ebp, ebp, 0xfff2a454
sub ebp, eax
add ebp, edx
mov eax, 0x7464ef13
imul edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
mov ebp, eax
mov eax, 0x4d18b8d9
imul edi
sar edx, 0x11
mov eax, edx
imul ecx, ecx, 0xd5bac
imul esi, esi, 0x58c2a
mov edi, dword [0x456820]
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x637bce79
imul edi
imul edi, edi, 0x8a1c3
sar edx, 0x12
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x72563b0d
imul dword [0x45681c]
mov eax, dword [esp + 0x10]
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add eax, edi
mov edi, dword [esp + 0x34]
lea edx, [esp + 0x14]
push edx
add eax, esi
mov dword [0x456828], ebp
push edi
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
mov dword [0x45682c], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40c2da
mov esi, dword [0x45682c]
mov ecx, dword [0x456824]
imul ecx, ecx, 0xfffdd9b2
mov eax, esi
imul eax, eax, 0xd5bac
sub ecx, eax
mov eax, 0x2681eb59
imul dword [0x45681c]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x456828]
mov edx, ecx
imul edx, edx, 0x58c2a
add eax, edx
mov dword [0x456830], eax
cmp dword [esp + 0x20], ebx
jne 0x40c19e
mov eax, 0x1315e2c9
imul ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
mov esi, ecx
imul edx, edx, 0x85714
imul esi, esi, 0xd69d0
sub esi, eax
add esi, edx
mov edx, dword [0x456834]
mov eax, 0x637bce79
imul edx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3b50a35b
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov dword [0x456834], esi
jmp 0x40c2d6
mov ecx, dword [0x456834]
mov eax, 0x3d63c959
imul ecx, ecx, 0xd5bac
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [0x456820]
imul ecx, ecx, 0x6c5b6
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x2e259371
imul ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
lea ecx, [esp + 0x14]
add eax, edx
push ecx
sub esi, eax
push edi
mov dword [0x456838], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40c2da
nop
mov esi, dword [0x456834]
mov eax, 0x4ca85b91
imul esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0xd5bac
add eax, edx
mov ecx, eax
mov eax, 0x72563b0d
imul esi
mov edi, dword [0x456820]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
imul edx, edx, 0x8a1c3
sub ecx, eax
sub ecx, edx
mov eax, 0x2e259371
imul edi
mov eax, ecx
sar edx, 0x10
mov ecx, edx
add eax, edx
shr ecx, 0x1f
add ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x456818], ecx
je 0x40c288
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x14]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40c200
jmp 0x40c2da
mov edx, dword [0x45682c]
imul ecx, ecx, 0x23d2f
mov ebx, dword [str._r_____r____]
mov eax, 0x637bce79
imul ebx, ebx, 0xa4b0c
imul edx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x2681eb59
imul edi
add ebx, ecx
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
sub ebx, esi
sub ebx, 0xd5bac
mov dword [0x456820], ebx
mov ebp, dword [esp + 0x1c]
mov ecx, dword [0x456838]
mov eax, 0x1315e2c9
imul dword [0x456824]
mov esi, ecx
sar edx, 0x10
imul esi, esi, 0xfff2a454
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x45681c]
imul eax, eax, 0x85714
add esi, eax
mov eax, 0x7464ef13
imul ecx
sar edx, 0x12
mov edi, edx
add esi, edx
mov eax, 0x4d18b8d9
imul ecx
sar edx, 0x11
mov ecx, edx
shr edi, 0x1f
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x34]
add edi, esi
sub edi, ecx
push edx
mov dword [0x456828], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret