Function at 0x40c110
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov esi, dword [0x456824]
mov eax, 0x4c8f8d29
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x30c30c31
imul esi
sar edx, 7
mov esi, dword [0x456830]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x36b45a9b
imul dword [0x45681c]
mov ebx, dword [esp + 0x38]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
sub ecx, eax
imul edx, edx, 0x235
mov eax, esi
imul eax, eax, 0x1aa
add ecx, edx
add ecx, eax
test ebx, ebx
mov edi, dword [0x456834]
mov dword [str._r_____r____], ecx
jne 0x40c229
mov eax, 0x9cc8e161
imul esi, esi, 0x257
imul edi
add edx, edi
sar edx, 9
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, dword [0x456818]
imul edx, edx, 0x344
add ebp, edx
mov eax, 0x2d4279a3
imul dword [0x456820]
sub ebp, esi
sar edx, 6
add ebp, edx
mov esi, edx
mov eax, 0xf2b9d649
imul edi
add edx, edi
sar edx, 7
shr esi, 0x1f
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ebp
sub esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [0x456818], esi
je 0x40c22f
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x38], edx
lea esp, [esp]
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x40c200
sub ebp, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
je 0x40c22f
push eax
call fcn.0040b940
mov ecx, dword [str._r_____r____]
mov edi, dword [0x456834]
add esp, 4
mov ebx, eax
mov esi, dword [0x456818]
mov eax, 0x4c8f8d29
imul dword [0x456838]
sar edx, 8
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0xe1fc780f
imul dword [0x45681c]
add edx, dword [0x45681c]
sar edx, 9
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, dword [0x456838]
imul eax, eax, 0x235
sub ebp, eax
mov eax, dword [0x456830]
imul eax, eax, 0x1aa
add ebp, eax
sub ebp, ecx
add ebp, 0x1e7
test ebx, ebx
mov dword [0x45681c], ebp
jne 0x40c299
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov edx, dword [0x45682c]
imul ecx, ecx, 0x2a0
imul esi, esi, 0x87
mov eax, 0x30c30c31
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x43491159
imul dword [0x456820]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
sub ecx, edi
sub ecx, 0x344
push ebx
mov dword [0x456820], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 4
mov dword [esp + 0x40], eax
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45682c]
mov dword [esp + 0x14], eax
mov edi, dword [str._r_____r____]
mov eax, 0xe1fc780f
imul edi, edi, 0x358
imul ecx
add edx, ecx
mov esi, dword [0x456830]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
sub edi, eax
imul edx, edx, 0x1aa
mov eax, dword [0x456828]
imul eax, eax, 0x87
add edx, esi
add edx, edi
lea edx, [eax + edx - 0x344]
xor eax, 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
mov edi, dword [0x456838]
mov dword [esp + 0x30], eax
mov dword [0x456824], edx
mov eax, 0xb37072d7
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov ebx, edi
imul ebx, ebx, 0x344
mov eax, 0xe7fc601
imul edi
sar edx, 5
sub ebp, ebx
mov ebx, dword [0x45681c]
mov eax, edx
add ebp, edx
mov edx, ebx
imul edx, edx, 0x244
shr eax, 0x1f
add eax, ebp
add eax, edx
mov ebp, eax
mov eax, 0x99d722db
imul edi
imul ecx, ecx, 0x344
imul esi, esi, 0x16a
add edx, edi
mov edi, dword [0x456820]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x30c30c31
imul edi
imul edi, edi, 0x257
sar edx, 7
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
add eax, edi
add eax, esi
mov dword [esp + 0x10], eax
mov eax, 0xf2b9d649
imul ebx
mov eax, dword [esp + 0x10]
add edx, ebx
mov ebx, dword [esp + 0x14]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x18]
push edx
sub eax, ecx
mov dword [0x456828], ebp
push ebx
mov dword [esp + 0x20], 0x1c
xor ebp, ebp
mov dword [0x45682c], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40c642
mov esi, dword [0x45682c]
mov eax, 0xbcb6eea7
imul dword [0x45681c]
sar edx, 7
mov ecx, esi
imul ecx, ecx, 0x344
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x456828]
mov edx, ecx
imul edx, edx, 0x16a
add eax, edx
mov edx, dword [0x456824]
imul edx, edx, 0x4e
sub eax, edx
mov edx, dword [esp + 0x24]
mov dword [0x456830], eax
mov eax, dword [esp + 0x38]
cmp edx, eax
jne 0x40c4f5
mov eax, 0x4c8f8d29
imul ecx
sar edx, 8
mov esi, ecx
imul esi, esi, 0x358
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
sub esi, eax
mov eax, 0x30c30c31
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x36b45a9b
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
imul edx, edx, 0x244
sub esi, ecx
add esi, edx
mov dword [0x456834], esi
jmp 0x40c63e
mov ecx, dword [0x456834]
mov eax, 0xe1fc780f
imul ecx, ecx, 0x344
imul esi
add edx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [0x456820]
imul ecx, ecx, 0x1ae
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x2d4279a3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
lea ecx, [esp + 0x18]
add eax, edx
push ecx
sub esi, eax
push ebx
mov dword [0x456838], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40c642
jmp 0x40c560
mov esi, dword [0x456834]
mov ecx, dword [0x456830]
mov eax, 0x9cc8e161
imul ecx, ecx, 0x257
imul esi
add edx, esi
sar edx, 9
mov edi, dword [0x456820]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0x344
add eax, edx
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, 0x2d4279a3
imul edi
mov eax, dword [esp + 0x14]
sar edx, 6
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0xf2b9d649
imul esi
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x38]
sub ecx, eax
cmp dword [esp + 0x24], edx
mov dword [0x456818], ecx
je 0x40c5f0
lea eax, [esp + 0x18]
push eax
push ebx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40c560
jmp 0x40c642
mov edx, dword [0x45682c]
imul ecx, ecx, 0x87
mov ebp, dword [str._r_____r____]
mov eax, 0x30c30c31
imul ebp, ebp, 0x2a0
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x43491159
imul edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
add ebp, ecx
sub ebp, esi
sub ebp, 0x344
mov dword [0x456820], ebp
mov ebp, dword [esp + 0x20]
mov ecx, dword [0x456838]
mov eax, 0xb37072d7
imul dword [0x456824]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov esi, ecx
imul esi, esi, 0x344
mov eax, 0xe7fc601
imul ecx
mov eax, dword [0x45681c]
imul eax, eax, 0x244
sub edi, esi
sar edx, 5
mov esi, edx
add edi, edx
shr esi, 0x1f
add esi, edi
add esi, eax
mov eax, 0x99d722db
imul ecx
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
push ebx
mov dword [0x456828], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x24
ret