Function at 0x40b6d0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x455824]
mov eax, 0x51eb851f
imul dword [0x45581c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, eax
mov eax, 0x6db6db6d
imul ecx
sub edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push edi
mov edi, eax
mov eax, 0x4bda12f7
imul ecx
mov ebx, dword [esp + 0x34]
sar edx, 4
sub edi, esi
mov ecx, edx
add edi, edx
mov edx, dword [0x455838]
shr ecx, 0x1f
imul edx, edx, 0xd
add ecx, edi
mov edi, dword [0x455830]
mov eax, edi
imul eax, eax, 0x35
add ecx, edx
add ecx, eax
test ebx, ebx
mov dword [str._r_____r____], ecx
jne 0x40b7df
mov esi, dword [0x455834]
mov eax, 0x38e38e39
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x78787879
imul dword [0x455820]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebp
mov ebp, eax
mov eax, 0x5397829d
imul esi
sar edx, 4
add ebp, edx
mov esi, edx
mov edx, dword [0x455818]
imul edx, edx, 0x31
mov eax, edi
imul eax, eax, 0x32
shr esi, 0x1f
add esi, ebp
add esi, edx
sub esi, eax
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [0x455818], esi
je 0x40b7e5
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x34], edx
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x40b7b6
sub ebp, dword [esp + 0x34]
mov dword [esp + 0x34], ebp
je 0x40b7e5
push eax
call fcn.0040afb0
mov ecx, dword [str._r_____r____]
mov edi, dword [0x455830]
add esp, 4
mov ebx, eax
mov esi, dword [0x455818]
mov eax, 0x4bda12f7
imul edi, edi, 0x35
imul dword [0x455838]
sar edx, 4
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x4bda12f7
imul dword [0x45581c]
sar edx, 4
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, dword [0x455838]
imul eax, eax, 0xd
sub ebp, eax
add ebp, edi
sub ebp, ecx
add ebp, 0x28
test ebx, ebx
mov dword [0x45581c], ebp
jne 0x40b83b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov edi, dword [0x45582c]
imul ecx, ecx, 0x38
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x99999999
imul dword [0x455820]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
lea edx, [esi + esi*8]
lea eax, [eax + edx*8]
mov edx, dword [0x455834]
add eax, ecx
sub eax, edx
sub eax, 0x31
push ebx
mov dword [0x455820], eax
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [esp + 0x34], eax
mov eax, dword [0x455828]
lea ecx, [eax + eax*8]
shl ecx, 3
mov esi, ecx
mov ecx, dword [0x45582c]
mov edi, dword [0x455830]
mov eax, 0x4bda12f7
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455818]
imul edx, edx, 0x35
sub esi, eax
mov eax, dword [str._r_____r____]
imul eax, eax, 0x36
add edx, edi
add edx, esi
lea ebp, [eax + edx - 0x31]
mov esi, dword [0x455838]
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov eax, 0x4d4873ed
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0xffffffcf
sub edx, eax
mov eax, dword [0x45581c]
imul eax, eax, 0x36
add edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x4bda12f7
imul ebp
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
mov dword [0x455824], ebp
sub edx, eax
imul ecx, ecx, 0x31
imul edi, edi, 0x22
mov dword [esp + 0x10], edx
mov eax, 0x4ec4ec4f
imul esi
mov esi, dword [esp + 0x10]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
mov esi, dword [0x455820]
mov dword [0x455828], eax
mov eax, 0x92492493
imul esi
add edx, esi
imul esi, esi, 0x32
sar edx, 5
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
add eax, esi
mov dword [esp + 0x10], eax
mov eax, 0x38e38e39
imul dword [0x45581c]
mov eax, dword [esp + 0x10]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add eax, edi
lea edx, [esp + 0x14]
mov dword [0x45582c], eax
mov eax, dword [esp + 0x34]
push edx
push eax
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40bba4
mov ecx, dword [0x455828]
mov esi, dword [0x45582c]
mov edi, ecx
imul edi, edi, 0x22
mov edx, esi
imul edx, edx, 0x31
sub edi, edx
mov eax, 0x66666667
imul dword [0x45581c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455824]
imul edx, edx, 0x1b
sub edi, eax
mov eax, dword [esp + 0x20]
add edi, edx
cmp eax, ebx
mov dword [0x455830], edi
jne 0x40ba75
mov eax, dword [0x455818]
lea esi, [ecx + eax]
mov eax, 0x4bda12f7
imul esi, esi, 0x36
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x455834]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov dword [0x455834], esi
jmp 0x40bba0
mov eax, 0x4bda12f7
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x455834]
imul edx, edx, 0x31
mov esi, ecx
mov ecx, dword [str._r_____r____]
sub esi, edx
mov eax, 0x78787879
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x34]
sub esi, eax
mov eax, dword [0x455820]
lea ecx, [esp + 0x14]
push ecx
sub esi, eax
push edx
mov dword [0x455838], esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40bba4
mov esi, dword [0x455834]
mov edi, dword [0x455820]
mov eax, 0x38e38e39
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x78787879
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x5397829d
imul esi
mov eax, dword [esp + 0x10]
sar edx, 4
add eax, edx
mov ecx, edx
mov edx, dword [0x455818]
shr ecx, 0x1f
imul edx, edx, 0x31
add ecx, eax
mov eax, dword [0x455830]
imul eax, eax, 0x32
add ecx, edx
sub ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x455818], ecx
je 0x40bb57
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40bad0
jmp 0x40bba4
mov ebx, dword [0x45582c]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x99999999
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
lea ecx, [ecx + ecx*8]
lea edx, [eax + ecx*8]
mov eax, dword [str._r_____r____]
imul eax, eax, 0x38
add edx, eax
sub edx, esi
sub edx, 0x31
mov dword [0x455820], edx
mov ebp, dword [esp + 0x1c]
mov ecx, dword [0x455838]
mov eax, 0x4d4873ed
imul ecx
mov esi, ecx
sar edx, 4
imul esi, esi, 0xffffffcf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x45581c]
imul eax, eax, 0x36
add esi, eax
mov eax, 0x4bda12f7
imul dword [0x455824]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov ecx, edx
add esi, edx
mov edx, dword [esp + 0x34]
shr ecx, 0x1f
add ecx, esi
push edx
mov dword [0x455828], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret