Function at 0x40e480
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45b9b4]
sub esp, 0x28
push ebx
push ebp
mov ebp, dword [0x45b9c0]
push esi
mov esi, dword [0x45b9ac]
mov eax, 0x7e3fea57
imul esi
push edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, ebp
imul edi, edi, 0x427252
sub edi, eax
mov eax, 0x7595e9bf
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9eea7d1d
imul esi
add edx, esi
sar edx, 0x16
add edi, edx
mov ebx, edx
mov eax, 0x9eea7d1d
imul ecx
mov eax, dword [esp + 0x3c]
shr ebx, 0x1f
add ebx, edi
mov edi, dword [0x45b9c8]
add edx, ecx
mov ecx, edi
imul ecx, ecx, 0x8b0f0c
sar edx, 0x16
mov esi, edx
shr esi, 0x1f
add ebx, edx
add esi, ebx
add esi, ecx
test eax, eax
mov dword [str._r_____r____], esi
jne 0x40e5e0
mov ecx, dword [0x45b9c4]
mov eax, 0x9c46284d
imul ecx
add edx, ecx
sar edx, 0x15
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45b9a8]
imul edx, edx, 0x346bb5
add ebx, edx
mov eax, 0x8814777b
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xc4d8f4f
imul dword [0x45b9b0]
mov ecx, ebp
imul ecx, ecx, 0x40e326
sar edx, 0x12
sub ebx, ecx
mov ecx, dword [0x45b9a8]
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
add ebx, edx
mov ecx, edx
mov edx, edi
imul edx, edx, 0x458786
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov edx, dword [esp + 0x40]
test edx, edx
mov dword [0x45b9a8], ecx
je 0x40e5e6
mov eax, edx
lea ebx, [eax + 1]
mov dword [esp + 0x14], ebx
mov edi, edi
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x40e5b0
sub eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
je 0x40e5e6
push edx
call fcn.0040dab0
mov esi, dword [str._r_____r____]
mov ebp, dword [0x45b9c0]
mov edi, dword [0x45b9c8]
add esp, 4
mov dword [esp + 0x3c], eax
mov ecx, dword [0x45b9a8]
mov eax, 0x9eea7d1d
imul ebp, ebp, 0x427252
imul edi
add edx, edi
sar edx, 0x16
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x76294c27
imul dword [0x45b9ac]
sar edx, 0x15
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x9eea7d1d
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
add ebp, edx
shr eax, 0x1f
add eax, ebp
mov ebp, dword [esp + 0x3c]
sub eax, esi
test ebp, ebp
lea edx, [eax + ebx + 0x26e3e3]
mov dword [0x45b9ac], edx
jne 0x40e64e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
mov eax, 0x69527c69
imul ecx, ecx, 0x78665a
imul esi, esi, 0x45ab1c
imul dword [0x45b9b0]
imul edi, edi, 0x458786
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9bc]
sub ecx, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x45b9c4]
add ecx, esi
add ecx, edi
sub ecx, eax
lea ecx, [ecx + ebx - 0x346bb5]
push ebp
mov dword [0x45b9b0], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 4
mov dword [esp + 0x1c], eax
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebp, dword [0x45b9a8]
mov edx, dword [0x45b9b8]
imul ebp, ebp, 0x427252
mov ecx, dword [0x45b9bc]
imul edx, edx, 0x78665a
mov dword [esp + 0x3c], eax
add ebp, edx
mov esi, dword [0x45b9c4]
mov eax, 0x76294c27
imul ecx
sar edx, 0x15
mov edi, dword [0x45b9c8]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x9eea7d1d
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
mov ebx, edi
imul edx, edx, 0x671938
mov esi, dword [0x45b9c0]
imul ebx, ebx, 0x458786
add eax, ebx
add eax, ebp
add edx, eax
xor eax, 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 dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea ebp, [edx + esi - 0x346bb5]
mov eax, 0x1ed25ed3
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9ac]
imul edx, edx, str.LresultFromObject
sub edx, eax
mov dword [0x45b9b4], ebp
mov eax, edi
imul eax, eax, 0x111bd1
imul ecx, ecx, 0x346bb5
add edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x9eea7d1d
imul ebp
add edx, ebp
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x9eea7d1d
imul esi
mov eax, dword [esp + 0x10]
add edx, esi
imul esi, esi, 0x533b61
sar edx, 0x16
add eax, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, eax
mov eax, 0x1d74861
imul edi
sar edx, 0xf
mov edi, edx
add ebp, edx
shr edi, 0x1f
add edi, ebp
mov ebp, dword [0x45b9ac]
mov eax, 0x8814777b
imul ebp
add edx, ebp
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9b0]
sub ecx, eax
mov eax, edx
imul eax, eax, 0x40e326
add ecx, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
add ecx, esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x9eea7d1d
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
add esi, ebx
shr eax, 0x1f
add esi, ecx
add eax, edx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push ecx
add eax, esi
push edx
mov dword [0x45b9b8], edi
mov dword [esp + 0x24], 0x1c
mov dword [esp + 0x18], 0
mov dword [0x45b9bc], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40eab9
mov ecx, dword [0x45b9ac]
mov ebp, dword [0x45b9bc]
mov eax, 0x96ad8397
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9b8]
imul edx, edx, 0x533b61
mov ebx, ebp
imul ebx, ebx, 0x346bb5
sub eax, ebx
add eax, edx
mov edx, dword [0x45b9b4]
mov edi, dword [0x45b9c8]
imul edx, edx, 0x1ea3a3
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, 0x9eea7d1d
imul ebp
mov eax, dword [esp + 0x18]
mov esi, edi
imul esi, esi, 0x458786
add edx, ebp
sar edx, 0x16
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [esp + 0x28]
add eax, esi
add ebx, eax
mov eax, dword [esp + 0x14]
cmp edx, eax
mov dword [0x45b9c0], ebx
jne 0x40e983
mov ebp, dword [0x45b9a8]
mov eax, 0x7e3fea57
imul ebp, ebp, str.LresultFromObject
imul dword [0x45b9b8]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9c4]
sub ebp, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9b8]
sub ebp, eax
mov eax, edx
imul eax, eax, 0x671938
add ebp, eax
mov eax, 0x9eea7d1d
imul edx
add edx, dword [0x45b9b8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x9eea7d1d
imul dword [0x45b9b4]
add edx, dword [0x45b9b4]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x24]
add ebp, esi
add eax, ebp
mov dword [0x45b9c4], eax
mov dword [esp + 0x10], edx
jmp 0x40eacb
mov ecx, dword [0x45b9c4]
mov eax, 0x76294c27
imul ecx, ecx, 0x346bb5
imul ebp
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0xc4d8f4f
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x45b9b0]
mov edx, ecx
imul edx, edx, 0x24a6e6
sub edi, edx
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
add edi, esi
push ecx
add eax, edi
push edx
mov dword [0x45b9c8], eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40eab9
mov esi, dword [0x45b9c4]
mov ecx, dword [0x45b9a8]
mov eax, 0x9c46284d
imul esi
add edx, esi
sar edx, 0x15
mov edi, edx
mov eax, ecx
imul eax, eax, 0x346bb5
shr edi, 0x1f
add edi, edx
add edi, eax
mov ebx, dword [0x45b9c0]
mov eax, 0x8814777b
imul esi
mov ebp, dword [0x45b9b0]
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov edx, ebx
imul edx, edx, 0x40e326
sub edi, edx
mov eax, 0xc4d8f4f
imul ebp
sar edx, 0x12
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
mov ecx, edx
add edi, edx
mov edx, dword [esp + 0x14]
shr ecx, 0x1f
add ecx, edi
mov edi, dword [0x45b9c8]
mov eax, edi
imul eax, eax, 0x458786
add ecx, eax
cmp dword [esp + 0x28], edx
mov dword [0x45b9a8], ecx
je 0x40eb4e
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x1c]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40ea00
mov ebx, dword [0x45b9c0]
mov edi, dword [0x45b9c8]
mov ecx, dword [0x45b9ac]
mov esi, dword [0x45b9b4]
imul ecx, ecx, str.LresultFromObject
mov eax, 0x1ed25ed3
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, edi
imul edx, edx, 0x111bd1
add ecx, edx
mov eax, 0x9eea7d1d
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x9eea7d1d
imul ebx
add edx, ebx
sar edx, 0x16
add ecx, edx
mov esi, edx
mov eax, 0x1d74861
imul edi
shr esi, 0x1f
add esi, ecx
sar edx, 0xf
mov ecx, edx
add esi, edx
mov edx, dword [esp + 0x3c]
shr ecx, 0x1f
add ecx, esi
push edx
mov dword [0x45b9b8], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov eax, 0x69527c69
imul ecx, ecx, 0x78665a
imul ebp
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9bc]
sub ecx, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x45ab1c
sub ecx, eax
add ecx, edx
mov eax, 0x9eea7d1d
imul edi
add edx, edi
sar edx, 0x16
add ecx, edx
mov eax, edx
mov edx, dword [esp + 0x24]
shr eax, 0x1f
add eax, ecx
mov ecx, edi
imul ecx, ecx, 0x458786
add eax, ecx
sub eax, esi
sub eax, 0x346bb5
mov dword [0x45b9b0], eax
mov dword [esp + 0x10], edx
jmp 0x40eac5