Function at 0x40e150
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x45b9b4]
sub esp, 0x28
push ebx
mov ebx, dword [0x45b9ac]
push ebp
mov eax, 0x92ea28a3
imul ecx
add edx, ecx
push esi
sar edx, 0x12
push edi
mov edi, dword [0x45b9c8]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, edi
imul esi, esi, 0xde7fc
sub esi, eax
mov eax, 0x6352a551
imul ebx
sar edx, 0x12
add esi, edx
mov ebp, edx
mov eax, 0x6352a551
imul ecx
sar edx, 0x12
shr ebp, 0x1f
mov ecx, edx
add ebp, esi
add ebp, edx
mov edx, dword [0x45b9c0]
imul edx, edx, 0x6a5ba
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
mov eax, 0x9dbc161
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [str._r_____r____], ecx
jne 0x40e2b1
mov esi, dword [0x45b9b0]
mov eax, 0xf5f5c9f5
imul esi
add edx, esi
sar edx, 0x13
mov ebp, edi
imul ebp, ebp, 0x6f3fe
add ebp, edx
mov esi, edx
shr esi, 0x1f
add esi, ebp
mov ebp, dword [0x45b9a8]
mov eax, 0x6352a551
imul ebp
imul ebp, ebp, 0x53d95
sar edx, 0x12
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov dword [esp + 0x14], eax
mov eax, 0x61b317a1
imul dword [0x45b9c4]
mov eax, dword [esp + 0x14]
sar edx, 0x11
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0x2a7feb
imul dword [0x45b9c4]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9c0]
imul edx, edx, 0x67dee
add esi, ebp
sub esi, eax
mov eax, dword [esp + 0x40]
sub esi, edx
test eax, eax
mov dword [0x45b9a8], esi
je 0x40e2b7
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x14], edx
mov edi, edi
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x40e280
sub ebp, dword [esp + 0x14]
mov dword [esp + 0x18], ebp
je 0x40e2b7
push eax
call fcn.0040d7a0
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45b9ac]
mov edi, dword [0x45b9c8]
add esp, 4
mov dword [esp + 0x3c], eax
mov esi, dword [0x45b9a8]
mov eax, 0x6352a551
imul edi
sar edx, 0x12
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x93a3ffdd
imul ebx
add edx, ebx
sar edx, 0x12
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x6352a551
imul ecx
sar edx, 0x12
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, dword [0x45b9c0]
imul eax, eax, 0x6a5ba
add ebx, eax
sub ebx, ecx
lea eax, [ebx + ebp + 0x3e2f3]
mov dword [0x45b9ac], eax
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x40e31d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret
mov ebx, dword [0x45b9bc]
imul ecx, ecx, 0x6f854
imul edi, edi, 0x6f3fe
mov eax, 0x92ea28a3
imul esi, esi, 0xc0c12
imul ebx
add edx, ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x10779897
imul dword [0x45b9b0]
sar edx, 0xe
mov eax, edx
add ecx, edi
mov edi, dword [0x45b9c4]
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
sub ecx, eax
add ecx, esi
sub ecx, edi
lea ecx, [ecx + ebp - 0x53d95]
push edx
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 ebx, dword [0x45b9bc]
mov dword [esp + 0x3c], eax
mov ecx, dword [0x45b9c4]
mov eax, 0x93a3ffdd
imul ebx
add edx, ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov esi, dword [0x45b9c8]
mov eax, 0x6352a551
imul ecx
mov eax, dword [0x45b9a8]
sar edx, 0x12
imul eax, eax, 0x6a5ba
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0xa4f50
sub ecx, ebp
mov ebp, dword [0x45b9c0]
add ecx, edx
mov edx, dword [0x45b9b8]
mov edi, esi
imul edx, edx, 0xc0c12
imul edi, edi, 0x6f3fe
add eax, edi
add eax, ecx
add edx, eax
lea eax, [edx + ebp - 0x53d95]
mov dword [0x45b9b4], eax
xor ecx, ecx
mov eax, 0x24d17191
imul esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
sar edx, 0x10
mov dword [esp + 0x28], ecx
mov eax, edx
mov dword [esp + 0x2c], ecx
shr eax, 0x1f
mov dword [esp + 0x30], ecx
add eax, edx
mov edx, dword [0x45b9ac]
mov dword [esp + 0x34], ecx
imul edx, edx, 0x6ef8e
imul ebx, ebx, 0x53d95
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x6352a551
imul ebp
imul ebp, ebp, 0x85399
mov eax, dword [esp + 0x10]
sar edx, 0x12
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x6352a551
imul dword [0x45b9b4]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, esi
imul edx, edx, 0x1b669
add ecx, edx
mov eax, 0x2682f007
imul esi
mov esi, dword [0x45b9b0]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x92ea28a3
imul esi
add edx, esi
imul esi, esi, 0x67dee
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebp
mov dword [esp + 0x18], eax
mov eax, 0x6352a551
imul ecx
mov eax, dword [esp + 0x18]
mov dword [0x45b9b8], ecx
sar edx, 0x12
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x2a7feb
imul dword [0x45b9ac]
sar edx, 9
mov eax, edx
add ecx, ebx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x3c]
sub ecx, eax
add ecx, edi
add esi, ecx
lea ecx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x24], 0x1c
mov dword [esp + 0x18], 0
mov dword [0x45b9bc], esi
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40e779
mov ebx, dword [0x45b9b8]
mov eax, 0x10779897
imul dword [0x45b9ac]
mov ebp, dword [0x45b9bc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x85399
sub edx, eax
mov edi, dword [0x45b9c8]
mov dword [esp + 0x18], edx
mov eax, 0x6352a551
imul ebp
mov eax, dword [esp + 0x18]
sar edx, 0x12
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, dword [0x45b9b4]
mov edx, ebp
imul eax, eax, 0x3110b
imul edx, edx, 0x53d95
mov ecx, edi
imul ecx, ecx, 0x6f3fe
sub esi, edx
mov edx, dword [esp + 0x14]
sub esi, eax
mov eax, dword [esp + 0x28]
add esi, ecx
cmp eax, edx
mov dword [0x45b9c0], esi
jne 0x40e640
mov ebp, dword [0x45b9c4]
mov eax, 0x92ea28a3
imul ebp
add edx, ebp
mov ebp, dword [0x45b9a8]
sar edx, 0x12
imul ebp, ebp, 0x6ef8e
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, ebx
imul edx, edx, 0xa4f50
add ebp, edx
mov eax, 0x6352a551
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x6352a551
imul dword [0x45b9b4]
sar edx, 0x12
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x9dbc161
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
add ebp, ecx
mov ecx, dword [esp + 0x24]
mov dword [0x45b9c4], ebp
mov dword [esp + 0x10], ecx
jmp 0x40e785
mov esi, dword [str._r_____r____]
mov eax, 0x93a3ffdd
imul ebp
add edx, ebp
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xf5f5c9f5
imul esi
add edx, esi
mov esi, dword [0x45b9b0]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x6352a551
imul esi
imul esi, esi, 0x3a996
sar edx, 0x12
mov eax, edx
add edi, edx
mov edx, dword [0x45b9c4]
imul edx, edx, 0x53d95
shr eax, 0x1f
add eax, edi
sub eax, edx
sub eax, esi
add eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [0x45b9c8], eax
lea eax, [esp + 0x1c]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40e779
lea ecx, [ecx]
mov ebx, dword [0x45b9b0]
mov edi, dword [0x45b9c8]
mov esi, dword [0x45b9a8]
mov eax, 0xf5f5c9f5
imul ebx
add edx, ebx
mov ecx, edi
imul ecx, ecx, 0x6f3fe
sar edx, 0x13
add ecx, edx
mov ebp, edx
mov eax, 0x6352a551
imul esi
imul esi, esi, 0x53d95
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
shr ebp, 0x1f
add ebp, ecx
add ebp, edx
add eax, ebp
mov ebp, dword [0x45b9c4]
mov dword [esp + 0x18], eax
mov eax, 0x61b317a1
imul ebp
mov eax, dword [esp + 0x18]
sar edx, 0x11
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x2a7feb
imul ebp
sar edx, 9
mov eax, edx
add ecx, esi
mov esi, dword [0x45b9c0]
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x67dee
sub ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, edx
cmp dword [esp + 0x28], eax
mov dword [0x45b9a8], ecx
je 0x40e807
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x1c]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40e6c0
mov esi, dword [0x45b9c0]
mov edi, dword [0x45b9c8]
mov eax, 0x24d17191
imul edi
mov eax, dword [0x45b9ac]
imul eax, eax, 0x6ef8e
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
mov eax, 0x6352a551
imul esi
sar edx, 0x12
add ecx, edx
mov esi, edx
mov eax, 0x6352a551
imul dword [0x45b9b4]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
shr esi, 0x1f
add esi, ecx
sub esi, eax
mov eax, 0x2682f007
imul edi
mov ecx, edi
imul ecx, ecx, 0x1b669
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add esi, ecx
mov ecx, dword [esp + 0x3c]
add eax, edx
sub esi, eax
push ecx
mov dword [0x45b9b8], esi
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 edx, dword [0x45b9bc]
imul ecx, ecx, 0xc0c12
mov eax, 0x92ea28a3
imul edx
add edx, dword [0x45b9bc]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x6f854
sub edx, eax
mov eax, edi
imul eax, eax, 0x6f3fe
add edx, eax
mov dword [esp + 0x18], edx
mov eax, 0x10779897
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
sub edx, eax
mov ebx, edx
mov eax, 0x6352a551
imul edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x24]
sub eax, ebp
sub eax, 0x53d95
mov dword [0x45b9b0], eax
mov dword [esp + 0x10], ecx
jmp 0x40e785