Function at 0x40c1e0
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [0x457824]
mov eax, 0x77c150d
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x9ad70599
imul esi
add edx, esi
mov esi, dword [0x45781c]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
push edi
mov edi, dword [0x457838]
mov edx, edi
imul edx, edx, 0x1685
sub ecx, eax
add ecx, edx
mov eax, 0xb7fe3405
imul esi
mov ebp, dword [esp + 0x38]
mov ebx, dword [0x457834]
add edx, esi
mov esi, dword [0x457830]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x10e6
sub ecx, eax
add ecx, edx
test ebp, ebp
mov dword [str._r_____r____], ecx
jne 0x40c312
mov eax, 0xf00f00f1
imul esi, esi, 0x1643
imul ebx
add edx, ebx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457818]
imul edx, edx, 0x2220
add eax, edx
sub eax, esi
mov dword [esp + 0x38], eax
mov eax, 0x8f2b7b75
imul dword [0x457820]
add edx, dword [0x457820]
mov eax, dword [esp + 0x38]
sar edx, 0xb
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0xb6adc247
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [0x457818], esi
je 0x40c318
lea edx, [eax + 1]
mov dword [esp + 0x38], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40c2e0
sub eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
je 0x40c318
mov eax, dword [esp + 0x3c]
push eax
call fcn.0040ba10
mov ecx, dword [str._r_____r____]
mov edi, dword [0x457838]
mov ebx, dword [0x457834]
add esp, 4
mov ebp, eax
mov esi, dword [0x457818]
mov eax, 0x77c150d
imul edi
imul edi, edi, 0x1685
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
mov dword [esp + 0x38], eax
mov eax, 0x17eb125
imul dword [0x45781c]
mov eax, dword [esp + 0x38]
sar edx, 5
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, dword [0x457830]
imul eax, eax, 0x10e6
add edi, eax
sub edi, ecx
add edi, 0x1123
test ebp, ebp
mov dword [0x45781c], edi
jne 0x40c379
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov edi, dword [0x45782c]
imul ecx, ecx, 0x1a74
imul esi, esi, 0x59b
mov eax, 0x9ad70599
imul edi
add edx, edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x77826bf5
imul dword [0x457820]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
sub ecx, ebx
sub ecx, 0x2220
push ebp
mov dword [0x457820], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebp, eax
push ebp
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45782c]
mov dword [esp + 0x14], eax
mov esi, dword [str._r_____r____]
mov edi, dword [0x457830]
imul esi, esi, 0x2234
mov eax, 0x17eb125
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457818]
sub esi, eax
imul edx, edx, 0x10e6
mov eax, dword [0x457828]
imul eax, eax, 0x59b
add edx, edi
add edx, esi
lea edx, [eax + edx - 0x2220]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov esi, dword [0x457838]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [0x457824], edx
mov eax, 0xf883eaf3
imul edx
sar edx, 8
mov ebx, esi
imul ebx, ebx, 0x2220
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
mov ebx, eax
mov eax, 0x2d78bd59
imul esi
sar edx, 0xa
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, dword [0x45781c]
mov edx, ebx
imul edx, edx, 0x1568
add eax, edx
mov dword [esp + 0x38], eax
mov eax, 0x7931d3bd
imul esi
imul ecx, ecx, 0x2220
imul edi, edi, 0xe4e
mov esi, dword [0x457820]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
sub edx, eax
mov dword [0x457828], edx
mov eax, 0x9ad70599
imul esi
add edx, esi
imul esi, esi, 0x1643
sar edx, 0xc
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
add eax, esi
add eax, edi
mov dword [esp + 0x10], eax
mov eax, 0xb6adc247
imul ebx
mov eax, dword [esp + 0x10]
add edx, ebx
mov ebx, dword [esp + 0x14]
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x18]
push edx
sub eax, ecx
push ebx
mov dword [esp + 0x20], 0x1c
mov dword [esp + 0x40], 0
mov dword [0x45782c], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40c736
mov esi, dword [0x45782c]
mov eax, 0x887d940b
imul dword [0x45781c]
sar edx, 0xb
mov ecx, esi
imul ecx, ecx, 0x2220
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x457828]
mov edx, ecx
imul edx, edx, 0xe4e
add eax, edx
mov edx, dword [0x457824]
imul edx, edx, 0x562
sub eax, edx
mov dword [0x457830], eax
cmp dword [esp + 0x24], ebp
jne 0x40c5e8
mov esi, dword [0x457834]
mov eax, 0x77c150d
imul ecx
sar edx, 8
mov edi, ecx
mov eax, edx
imul edi, edi, 0x2234
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9ad70599
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xb7fe3405
imul ecx
mov eax, dword [esp + 0x20]
add edx, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x457818]
imul edx, edx, 0x1568
sub edi, ecx
add edi, edx
mov dword [0x457834], edi
mov dword [esp + 0x38], eax
jmp 0x40c736
mov ecx, dword [0x457834]
mov eax, 0x17eb125
imul ecx, ecx, 0x2220
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [0x457820]
imul ecx, ecx, 0x114e
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x8f2b7b75
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
lea ecx, [esp + 0x18]
add eax, edx
push ecx
sub esi, eax
push ebx
mov dword [0x457838], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40c736
jmp 0x40c650
mov esi, dword [0x457834]
mov ecx, dword [0x457830]
mov eax, 0xf00f00f1
imul ecx, ecx, 0x1643
imul esi
add edx, esi
sar edx, 0xd
mov edi, dword [0x457820]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x457818]
imul edx, edx, 0x2220
add eax, edx
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, 0x8f2b7b75
imul edi
mov eax, dword [esp + 0x14]
add edx, edi
sar edx, 0xb
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0xb6adc247
imul esi
add edx, esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
cmp dword [esp + 0x24], ebp
mov dword [0x457818], ecx
je 0x40c6de
lea ecx, [esp + 0x18]
push ecx
push ebx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40c650
jmp 0x40c736
mov ebp, dword [0x45782c]
imul ecx, ecx, 0x59b
mov eax, 0x9ad70599
imul ebp
add edx, ebp
mov ebp, dword [str._r_____r____]
imul ebp, ebp, 0x1a74
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x77826bf5
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
add ebp, ecx
mov ecx, dword [esp + 0x20]
sub ebp, esi
sub ebp, 0x2220
mov dword [0x457820], ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [0x457838]
mov eax, 0xf883eaf3
imul dword [0x457824]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov esi, ecx
imul esi, esi, 0x2220
mov eax, 0x2d78bd59
imul ecx
mov eax, dword [0x45781c]
imul eax, eax, 0x1568
sub edi, esi
sar edx, 0xa
mov esi, edx
shr esi, 0x1f
add edi, edx
add esi, edi
add esi, eax
mov eax, 0x7931d3bd
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
push ebx
mov dword [0x457828], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x38]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret