Function at 0x40b670
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [0x45569c]
mov eax, 0x59da2e6b
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
push esi
push edi
mov edi, dword [0x455690]
mov eax, 0x9cbd99d5
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, ecx
mov ecx, dword [0x45568c]
imul ecx, ecx, 0x140f
add ebx, ecx
mov ecx, dword [0x4556a8]
mov edx, ecx
imul edx, edx, 0xaef
add ebx, edx
mov eax, 0x4700d503
imul dword [0x455694]
sar edx, 9
mov esi, edx
add ebx, edx
shr esi, 0x1f
add esi, ebx
mov ebx, dword [esp + 0x34]
test ebx, ebx
mov dword [str._r_____r____], esi
jne 0x40b786
mov eax, dword [0x4556a0]
imul eax, eax, 0x16cb
mov dword [esp + 0x34], eax
mov eax, 0x5e17e411
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ebp, eax
mov eax, 0x6d62dd3b
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x5cc
sub ebp, eax
sub ebp, edx
mov edx, dword [0x455688]
add ebp, esi
add edx, ebp
mov ebp, dword [esp + 0x38]
test ebp, ebp
mov dword [0x455688], edx
je 0x40b786
mov esi, ebp
lea edx, [esi + 1]
lea ebx, [ebx]
mov al, byte [esi]
inc esi
test al, al
jne 0x40b760
sub esi, edx
mov dword [esp + 0x34], esi
je 0x40b786
push ebp
call fcn.0040aeb0
mov edi, dword [0x455690]
mov ecx, dword [0x4556a8]
add esp, 4
mov ebx, eax
mov esi, dword [0x4556a0]
mov eax, 0x903bb8bb
imul dword [0x45568c]
add edx, dword [0x45568c]
mov ebp, esi
imul ebp, ebp, 0x140f
sar edx, 0xb
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov edx, ecx
imul edx, edx, 0xaef
sub eax, edx
mov ebp, eax
mov eax, 0x4700d503
imul edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, dword [0x455694]
add eax, 0x11d7
test ebx, ebx
mov dword [0x45568c], eax
jne 0x40b7ee
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x6342662b
imul ecx, ecx, 0x14a2
imul dword [0x45569c]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x455688]
imul eax, eax, 0x12b9
add ecx, eax
mov eax, 0x1cb32649
imul edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
sub ecx, 0x5cc
push ebx
mov dword [0x455690], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebp, dword [0x455698]
mov edi, dword [0x45568c]
mov ecx, ebp
imul ecx, ecx, 0x12b9
mov dword [esp + 0x34], eax
mov esi, edi
imul esi, esi, 0x140f
add esi, ecx
mov ecx, dword [0x45569c]
mov eax, 0x903bb8bb
imul ecx
add edx, ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xb
imul ecx, ecx, 0x736
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub esi, eax
add esi, edx
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
lea ecx, [ecx + esi - 0x5cc]
mov esi, dword [0x4556a8]
mov eax, 0xcc33a611
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a0]
imul edx, edx, 0xe33
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x5da803a9
imul ebp
mov eax, dword [esp + 0x10]
sar edx, 0xa
mov ebp, edx
add eax, edx
shr ebp, 0x1f
add ebp, eax
mov eax, 0x4700d503
imul ecx
mov dword [0x455694], ecx
sar edx, 9
imul esi, esi, 0x5cc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
sub ebp, esi
mov esi, dword [0x455690]
imul esi, esi, 0x16cb
mov edx, edi
imul edx, edx, 0x15c4
add esi, edx
mov eax, 0x6342662b
imul ecx
imul ecx, ecx, 0x5cc
sar edx, 0xb
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov esi, eax
mov eax, 0x6d62dd3b
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
lea ecx, [esp + 0x14]
mov dword [0x45569c], esi
mov esi, dword [esp + 0x34]
push ecx
mov dword [0x455698], ebp
push esi
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40bb27
mov edi, dword [0x45568c]
mov eax, 0x1cb32649
imul edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
mov ecx, edx
imul ecx, ecx, 0x11d7
sub ecx, eax
mov eax, dword [0x455698]
imul eax, eax, 0x509
add ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x4556a0], ecx
jne 0x40ba42
mov esi, dword [0x45569c]
mov eax, 0x59da2e6b
imul esi
imul esi, esi, 0x736
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
mov ebx, eax
mov eax, 0x9cbd99d5
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455688]
imul edx, edx, 0xe33
mov ebp, eax
sub ebp, ebx
add ebp, edx
mov eax, 0x4700d503
imul edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add ebp, esi
add eax, edx
sub ebp, eax
mov dword [0x4556a4], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x40bb2d
mov edi, dword [0x455690]
imul ecx, ecx, 0xd02
mov eax, 0x5e17e411
imul edi, edi, 0x140f
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x903bb8bb
imul dword [0x455698]
add edx, dword [0x455698]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
sub eax, ecx
lea ecx, [esp + 0x14]
push ecx
push esi
mov dword [0x4556a8], eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40bb27
mov edi, edi
mov ecx, dword [0x4556a0]
mov eax, 0x5e17e411
imul dword [0x45569c]
sar edx, 0xb
mov esi, ecx
imul esi, esi, 0x16cb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub eax, esi
mov esi, eax
mov eax, 0x6d62dd3b
imul edx
mov edi, dword [str._r_____r____]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455690]
imul edx, edx, 0x5cc
sub esi, eax
mov eax, dword [esp + 0x20]
sub esi, edx
add esi, edi
mov edi, dword [0x455688]
add edi, esi
cmp eax, ebx
mov dword [0x455688], edi
je 0x40bba1
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x14]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40baa0
mov ecx, dword [0x4556a0]
mov esi, dword [0x4556a8]
mov eax, 0xcc33a611
imul ecx, ecx, 0xe33
imul esi
add edx, esi
imul esi, esi, 0x5cc
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x5da803a9
imul dword [0x455698]
sar edx, 0xa
add ecx, edx
mov edi, edx
shr edi, 0x1f
add edi, ecx
mov ecx, dword [0x455694]
mov eax, 0x4700d503
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x34]
sub edi, ecx
sub edi, esi
push edx
mov dword [0x455698], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret
mov esi, dword [0x4556a8]
imul edi, edi, 0x12b9
mov eax, 0x6342662b
imul dword [0x45569c]
mov ebx, esi
imul ebx, ebx, 0x14a2
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov ebp, dword [esp + 0x1c]
mov eax, 0x1cb32649
imul dword [0x455690]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add ebx, edi
add eax, edx
sub ebx, eax
sub ebx, ecx
sub ebx, 0x5cc
mov dword [0x455690], ebx
jmp 0x40bb33