Function at 0x40bf10
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [0x456824]
mov eax, 0x606c8017
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
push edi
mov edi, dword [0x45682c]
mov eax, 0xc4570565
imul edi
add edx, edi
sar edx, 0x16
mov edi, dword [0x456830]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x329dfa79
imul esi
mov ebx, dword [esp + 0x34]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
sub ecx, eax
imul edx, edx, 0x15bc8b
mov eax, edi
imul eax, eax, 0x53af19
add ecx, edx
add ecx, eax
test ebx, ebx
mov dword [str._r_____r____], ecx
jne 0x40c02b
mov esi, dword [0x456820]
mov eax, 0x521ee247
imul esi
imul esi, esi, 0x45ab63
sar edx, 0x14
mov ebp, edi
imul ebp, ebp, 0x537276
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebp
mov ebp, dword [0x456834]
add eax, esi
mov dword [esp + 0x34], eax
mov eax, 0x759571eb
imul ebp
mov eax, dword [esp + 0x34]
sar edx, 0x15
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0x224214b1
imul ebp
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [0x456818], esi
je 0x40c031
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x34], edx
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x40c002
sub ebp, dword [esp + 0x34]
mov dword [esp + 0x34], ebp
je 0x40c031
push eax
call fcn.0040b770
mov ecx, dword [str._r_____r____]
mov edi, dword [0x456830]
add esp, 4
mov ebx, eax
mov esi, dword [0x456818]
mov eax, 0x606c8017
imul dword [0x456838]
sar edx, 0x15
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, dword [0x45681c]
mov eax, 0x622f07f9
imul edx
sar edx, 0x15
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, dword [0x456838]
imul eax, eax, 0x15bc8b
sub ebp, eax
mov eax, edi
imul eax, eax, 0x53af19
add ebp, eax
sub ebp, dword [0x456824]
add ebp, 0x42333a
test ebx, ebx
mov dword [0x45681c], ebp
jne 0x40c098
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x329dfa79
imul ecx, ecx, 0x50ebd8
imul esi, esi, 0x779018
imul dword [0x45682c]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x1eefbef3
imul dword [0x456820]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
sub ecx, edi
sub ecx, 0x45ab63
push ebx
mov dword [0x456820], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov edi, eax
push edi
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45682c]
mov dword [esp + 0x34], eax
mov esi, dword [str._r_____r____]
mov ebx, dword [0x456834]
imul esi, esi, 0x54f550
mov eax, 0x622f07f9
imul ecx
mov eax, dword [0x456828]
sar edx, 0x15
imul eax, eax, 0x779018
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
imul edx, edx, 0x53af19
add edx, ebx
mov ebx, dword [0x45681c]
sub esi, ecx
add edx, esi
lea ecx, [eax + edx - 0x45ab63]
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov esi, dword [0x456838]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov eax, 0x606c8017
imul ecx
sar edx, 0x15
mov ebp, ebx
imul ebp, ebp, 0x536f78
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xbc70579
imul esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
mov ebp, eax
mov eax, 0x61e4609d
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [0x456824], ecx
sub ebp, eax
mov edx, dword [0x456820]
imul esi, esi, 0x45ab63
imul ecx, ecx, 0x45ab63
sub ebp, esi
mov esi, edx
mov eax, 0x329dfa79
imul esi, esi, 0x537276
imul edx
sar edx, 0x14
add esi, edx
mov eax, edx
mov edx, dword [0x456830]
imul edx, edx, 0x31e0ba
shr eax, 0x1f
add eax, esi
add eax, edx
add eax, ecx
mov esi, eax
mov eax, 0x224214b1
imul ebx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
sub esi, eax
mov dword [0x456828], ebp
push edx
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
mov dword [0x45682c], esi
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40c43e
mov esi, dword [0x45681c]
mov ecx, dword [0x456824]
mov eax, 0x1eefbef3
imul ecx, ecx, 0x42333a
imul esi
mov ebx, dword [0x456828]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
mov eax, edx
imul eax, eax, 0x45ab63
sub ecx, eax
mov eax, ebx
imul eax, eax, 0x1c242f
add ecx, eax
cmp dword [esp + 0x20], edi
mov dword [0x456830], ecx
jne 0x40c2ef
mov eax, 0x606c8017
imul esi
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ebx
imul edi, edi, 0x54f550
mov eax, 0xc4570565
imul ebx
sub edi, ecx
mov ecx, dword [0x456818]
add edx, ebx
imul ecx, ecx, 0x536f78
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov ebp, dword [esp + 0x1c]
add edi, ecx
mov ecx, dword [0x456834]
mov eax, 0x329dfa79
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov dword [0x456834], edi
jmp 0x40c444
mov eax, 0x622f07f9
imul ecx, ecx, 0x54f550
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x521ee247
imul ecx
mov eax, dword [0x456834]
sar edx, 0x14
imul eax, eax, 0x45ab63
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456820]
imul edx, edx, 0x53af19
sub esi, ecx
add esi, edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
sub esi, eax
push edx
mov dword [0x456838], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40c43e
jmp 0x40c360
mov esi, dword [0x456820]
mov ecx, dword [0x456830]
mov eax, 0x521ee247
imul ecx, ecx, 0x537276
imul esi
mov ebx, dword [0x456834]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, esi
imul ecx, ecx, 0x45ab63
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x759571eb
imul ebx
mov eax, dword [esp + 0x10]
sar edx, 0x15
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x224214b1
imul ebx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
cmp dword [esp + 0x20], edi
mov dword [0x456818], ecx
je 0x40c3e8
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40c360
jmp 0x40c43e
mov edx, dword [0x45682c]
imul ecx, ecx, 0x779018
mov edi, dword [str._r_____r____]
mov eax, 0x329dfa79
imul edi, edi, 0x50ebd8
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov ebp, dword [esp + 0x1c]
mov eax, 0x1eefbef3
imul esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
sub edi, dword [0x456830]
sub edi, 0x45ab63
mov dword [0x456820], edi
mov esi, dword [0x45681c]
mov eax, 0x606c8017
imul esi, esi, 0x536f78
imul dword [0x456824]
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x456838]
mov eax, 0xbc70579
imul ecx
sar edx, 0x10
mov edi, edx
add esi, edx
mov eax, 0x61e4609d
imul ecx
imul ecx, ecx, 0x45ab63
sar edx, 0x15
shr edi, 0x1f
mov eax, edx
shr eax, 0x1f
add edi, esi
add eax, edx
sub edi, eax
sub edi, ecx
mov ecx, dword [esp + 0x34]
push ecx
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