Function at 0x40bfc0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x456824]
sub esp, 0x20
push ebx
mov eax, 0x49f9945f
imul dword [0x45681c]
push ebp
push esi
push edi
mov edi, dword [0x456838]
mov ebx, dword [0x456830]
imul edi, edi, 0xe0dd
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x302debc5
imul ecx
sar edx, 0xe
add edi, edx
mov esi, edx
mov edx, ebx
imul edx, edx, 0xa8da
shr esi, 0x1f
add esi, edi
mov edi, dword [esp + 0x34]
add esi, edx
mov eax, 0x3e12562b
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
test edi, edi
mov dword [str._r_____r____], esi
jne 0x40c0d9
mov ecx, dword [0x456834]
mov eax, 0x2ff8513b
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0x1558c
mov ebp, ebx
imul ebp, ebp, 0xdd7b
sub eax, ebp
add eax, edx
mov ebp, eax
mov eax, 0x47298a5
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x395bd985
imul dword [0x456820]
mov eax, dword [esp + 0x38]
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
test eax, eax
mov dword [0x456818], ecx
je 0x40c0df
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x34], edx
lea ebx, [ebx]
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x40c0b0
sub ebp, dword [esp + 0x34]
mov dword [esp + 0x34], ebp
je 0x40c0df
push eax
call fcn.0040b810
mov esi, dword [str._r_____r____]
mov ebx, dword [0x456830]
add esp, 4
mov edi, eax
mov ecx, dword [0x456818]
mov ebp, dword [0x456838]
imul ebx, ebx, 0xa8da
mov eax, 0x99b19d5b
imul ebp, ebp, 0xe0dd
imul dword [0x45681c]
add edx, dword [0x45681c]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebp
mov ebp, eax
mov eax, 0x302debc5
imul dword [0x456838]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
add eax, ebx
sub eax, esi
add eax, 0xaaa7
test edi, edi
mov dword [0x45681c], eax
jne 0x40c143
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x18008403
imul ecx, ecx, 0x398f
imul esi, esi, 0x107f4
imul dword [0x456820]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
mov ebp, dword [0x456834]
mov eax, 0x3e12562b
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
sub ecx, ebp
sub ecx, 0x1558c
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 eax, 0x99b19d5b
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x15410
sub edx, eax
mov eax, dword [0x456828]
mov esi, dword [0x456830]
imul eax, eax, 0x398f
mov edi, dword [0x456818]
add eax, esi
imul edi, edi, 0xa8da
add eax, edx
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
lea ebp, [edi + eax - 0x1558c]
mov edi, dword [0x456838]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov eax, 0x246e57b5
imul edi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x1558c
sub eax, edx
mov edx, dword [0x45681c]
imul edx, edx, 0xd534
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x302debc5
imul ebp
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [0x456824], ebp
mov eax, 0x61082f49
mov dword [esp + 0x10], edx
imul edi
imul ecx, ecx, 0x1558c
imul esi, esi, 0x8ed2
mov edi, dword [0x456820]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov eax, edi
imul eax, eax, 0xdd7b
add eax, ecx
mov dword [esp + 0x10], eax
mov dword [0x456828], edx
mov eax, 0x47298a5
imul dword [0x45681c]
mov eax, dword [esp + 0x10]
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add eax, esi
mov ecx, eax
mov eax, 0x3e12562b
imul edi
mov edi, dword [esp + 0x34]
sar edx, 0xe
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
lea ecx, [esp + 0x14]
push ecx
push edi
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
mov dword [0x45682c], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40c4ee
mov esi, dword [0x45682c]
mov eax, dword [0x456824]
imul eax, eax, 0xffffc9ca
mov edx, esi
imul edx, edx, 0x1558c
sub eax, edx
mov ecx, eax
mov eax, 0x18008403
imul dword [0x45681c]
sar edx, 0xc
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, 0x8ed2
add eax, edx
mov dword [0x456830], eax
cmp dword [esp + 0x20], ebx
jne 0x40c3b1
mov esi, dword [0x456818]
mov eax, 0x49f9945f
imul esi, esi, 0xd534
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x15410
sub esi, eax
add esi, edx
mov eax, 0x302debc5
imul ecx
mov ecx, dword [0x456834]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3e12562b
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov dword [0x456834], esi
jmp 0x40c4ea
mov ecx, dword [0x456834]
mov eax, 0x99b19d5b
imul ecx, ecx, 0x1558c
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [0x456820]
imul ecx, ecx, 0xab36
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x395bd985
imul ecx
sar edx, 0xd
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 0x40c4ee
mov esi, dword [0x456834]
mov ecx, dword [0x456830]
mov eax, 0x2ff8513b
imul ecx, ecx, 0xdd7b
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x456818]
imul ecx, ecx, 0x1558c
add eax, ecx
mov ecx, eax
mov edi, dword [0x456820]
mov eax, 0x47298a5
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x395bd985
imul edi
mov eax, ecx
sar edx, 0xd
mov ecx, edx
add eax, edx
shr ecx, 0x1f
add ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x456818], ecx
je 0x40c49c
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40c414
jmp 0x40c4ee
mov eax, 0x18008403
imul ecx, ecx, 0x398f
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
mov eax, 0x3e12562b
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x107f4
sub ecx, eax
add ecx, edx
sub ecx, esi
sub ecx, 0x1558c
mov dword [0x456820], ecx
mov ebp, dword [esp + 0x1c]
mov ecx, dword [0x456838]
mov eax, 0x246e57b5
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, dword [0x45681c]
mov edx, ecx
imul eax, eax, 0xd534
imul edx, edx, 0x1558c
sub esi, edx
add esi, eax
mov eax, 0x302debc5
imul dword [0x456824]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x61082f49
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x34]
sub esi, ecx
push edx
mov dword [0x456828], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret