Function at 0x40bf70
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov esi, dword [0x456824]
mov eax, 0x4b226983
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, dword [0x456830]
mov ecx, eax
mov eax, 0x4c8d67b3
imul dword [0x45681c]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, dword [0x456838]
mov edx, ebx
imul edx, edx, 0xd429
sub ecx, eax
add ecx, edx
mov eax, 0x2760f26d
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebp
imul edx, edx, 0x38bb
sub ecx, eax
mov edi, dword [esp + 0x34]
add ecx, edx
test edi, edi
mov dword [str._r_____r____], ecx
jne 0x40c098
mov eax, 0x955f5465
imul dword [0x456834]
sar edx, 0xf
mov esi, ebx
imul esi, esi, 0xd606
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
mov esi, eax
mov eax, 0x2dbafdc3
imul dword [0x456834]
sar edx, 0xd
add esi, edx
mov eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0xb323
shr eax, 0x1f
add eax, esi
add eax, edx
mov dword [esp + 0x34], eax
mov eax, 0x7fe60547
imul dword [0x456820]
mov eax, dword [esp + 0x34]
sar edx, 0xe
mov esi, edx
add eax, edx
shr esi, 0x1f
add esi, eax
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [0x456818], esi
je 0x40c09e
lea edx, [eax + 1]
mov dword [esp + 0x34], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40c066
sub eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
je 0x40c09e
mov eax, dword [esp + 0x38]
push eax
call fcn.0040b7c0
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x456830]
mov ebp, dword [0x456838]
add esp, 4
mov edi, eax
mov esi, dword [0x456818]
mov eax, 0x4b226983
imul ebx, ebx, 0xd429
imul ebp
imul ebp, ebp, 0x38bb
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebx
mov ebx, eax
mov eax, 0x4da3463f
imul dword [0x45681c]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ebp
sub eax, ecx
add eax, 0xa9e2
test edi, edi
mov dword [0x45681c], eax
jne 0x40c0f2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov edx, dword [0x45682c]
imul ecx, ecx, 0xd008
imul esi, esi, 0x13350
mov eax, 0x2760f26d
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
mov esi, dword [0x456820]
mov eax, 0xc0e2caa9
imul esi
add edx, esi
mov esi, dword [0x456834]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
sub ecx, 0xb323
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 [str._r_____r____]
mov edx, dword [0x456818]
imul ecx, ecx, 0xda10
mov esi, dword [0x45682c]
imul edx, edx, 0xd429
mov dword [esp + 0x34], eax
add ecx, edx
mov eax, 0x4da3463f
imul esi
sar edx, 0xe
mov edi, dword [0x456830]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456828]
sub ecx, eax
imul edx, edx, 0x13350
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 ecx, edi
lea ecx, [edx + ecx - 0xb323]
mov eax, 0x4b226983
imul ecx
sar edx, 0xe
mov dword [0x456824], ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebp, ecx
mov ecx, dword [0x456838]
mov eax, 0x658cf6d9
imul ecx
sub edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
imul edx, edx, 0xd308
sub eax, ebp
add eax, edx
mov ebp, eax
mov eax, 0x2419bc59
imul ecx
sar edx, 0xb
imul ecx, ecx, 0xb323
imul esi, esi, 0xb323
mov eax, edx
imul edi, edi, 0x801a
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, ecx
mov ecx, dword [0x456820]
mov dword [0x456828], eax
mov eax, ecx
imul eax, eax, 0xd606
mov dword [esp + 0x10], eax
mov eax, 0x2760f26d
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0xd
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x6aa0ab9b
imul dword [0x45681c]
sar edx, 0xf
mov eax, edx
add ecx, esi
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x34]
sub ecx, eax
add ecx, edi
mov dword [0x45682c], ecx
lea ecx, [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40c4a3
mov edi, dword [0x45682c]
mov eax, dword [0x456824]
mov esi, dword [0x45681c]
imul eax, eax, 0x7127
mov ecx, edi
imul ecx, ecx, 0xb323
sub eax, ecx
mov ecx, eax
mov eax, 0xc0e2caa9
imul esi
add edx, esi
sar edx, 0xf
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, 0x801a
add eax, edx
mov dword [0x456830], eax
cmp dword [esp + 0x20], ebx
jne 0x40c35d
mov eax, 0x4b226983
imul ecx
mov edi, ecx
sar edx, 0xe
imul edi, edi, 0xda10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x4c8d67b3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
imul edx, edx, 0xd308
mov ebp, dword [esp + 0x1c]
sub edi, ecx
mov ecx, dword [0x456834]
add edi, edx
mov eax, 0x2760f26d
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov dword [0x456834], edi
jmp 0x40c4a9
mov eax, 0x4da3463f
imul edi
mov eax, dword [0x456820]
sar edx, 0xe
imul eax, eax, 0x5e7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456834]
imul edx, edx, 0xb323
mov esi, ecx
mov ecx, dword [str._r_____r____]
sub esi, edx
sub esi, eax
mov eax, 0x7fe60547
imul ecx
mov eax, dword [esp + 0x34]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x14]
push edx
sub esi, ecx
push eax
mov dword [0x456838], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40c4a3
mov esi, dword [0x456834]
mov ecx, dword [0x456830]
mov eax, 0x955f5465
imul ecx, ecx, 0xd606
imul esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov ecx, dword [0x456818]
mov eax, 0x2dbafdc3
imul ecx, ecx, 0xb323
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov edi, dword [0x456820]
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x7fe60547
imul edi
mov eax, dword [esp + 0x10]
sar edx, 0xe
mov ecx, edx
add eax, edx
shr ecx, 0x1f
add ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x456818], ecx
je 0x40c44f
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x14]
push edx
push eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40c3c1
jmp 0x40c4a3
mov edx, dword [0x45682c]
imul ecx, ecx, 0x13350
mov ebx, dword [str._r_____r____]
mov eax, 0x2760f26d
imul ebx, ebx, 0xd008
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov ebp, dword [esp + 0x1c]
mov eax, 0xc0e2caa9
imul edi
add ebx, ecx
add edx, edi
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
sub ebx, esi
sub ebx, 0xb323
mov dword [0x456820], ebx
mov esi, dword [0x45681c]
mov ecx, dword [0x456838]
imul esi, esi, 0xd308
mov eax, 0x4b226983
imul dword [0x456824]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x658cf6d9
imul ecx
sub edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x2419bc59
imul ecx
imul ecx, ecx, 0xb323
sub ebx, edi
sar edx, 0xb
add ebx, esi
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x34]
push ecx
mov dword [0x456828], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret