Function at 0x403610
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x4518e8]
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
sub esp, 0x1c
mov eax, edx
push ebx
mov ebx, dword [0x4518f4]
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x926
push ebp
push esi
mov esi, dword [0x4518d8]
sub edx, eax
sub edx, esi
mov esi, dword [0x4518dc]
push edi
mov edi, dword [esp + 0x30]
test edi, edi
lea eax, [edx + esi + 0x1503]
mov dword [str._r_____r_____n], eax
jne 0x4036f4
mov ebp, dword [0x4518ec]
mov eax, 0x4152dddf
imul ebp, ebp, 0xfffff5f8
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518f0]
sub ebp, eax
mov eax, 0x6a79dd7b
imul edx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518d4]
sub ebp, eax
add ebp, dword [str._r_____r_____n]
lea eax, [edx + ebp - 0x86c]
mov dword [0x4518d4], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4036f4
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x30], edx
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x4036c5
sub ebp, dword [esp + 0x30]
mov dword [esp + 0x30], ebp
je 0x4036f4
push eax
call fcn.00402fd0
mov esi, dword [0x4518dc]
mov ecx, dword [0x4518e8]
mov ebx, dword [0x4518f4]
add esp, 4
mov edi, eax
mov ebp, dword [0x4518ec]
mov eax, 0x8c03f71d
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebp
imul edx, edx, 0x1538
add eax, edx
mov edx, ebx
imul edx, edx, 0x926
sub eax, edx
sub eax, dword [0x4518e0]
add eax, 0x2044
test edi, edi
mov dword [0x4518d8], eax
jne 0x40373f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov eax, 0x8b081419
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0xa5b2ed37
imul esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
sub eax, ebp
lea ecx, [eax + ebx - 0x866]
push edi
mov dword [0x4518dc], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov edi, eax
push edi
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, dword [0x4518d8]
mov ebp, eax
mov ecx, dword [0x4518e8]
mov eax, esi
imul eax, eax, 0x1538
mov dword [esp + 0x30], eax
mov ebx, dword [0x4518e4]
mov eax, 0x61dea4df
imul ecx
mov ecx, dword [esp + 0x30]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, dword [0x4518f0]
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 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 edx, ebx
imul edx, edx, 0x4cf
lea ecx, [edx + ecx + 0x14d5]
mov eax, 0x8c03f71d
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x30], eax
mov eax, 0x1bfba0af
imul ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
sub eax, edx
mov edx, dword [0x4518f4]
imul edx, edx, 0x86d
sub eax, edx
mov edx, dword [0x4518dc]
add eax, 0x322e
imul edx, edx, 0xa08
mov dword [0x4518e4], eax
mov eax, esi
imul eax, eax, 0xfad
xor ebx, ebx
mov dword [0x4518e0], ecx
mov dword [esp + 0x10], 0x1c
sub edx, eax
imul ecx, ecx, 0x86d
add edx, ecx
mov dword [esp + 0x30], edx
mov eax, 0x6a79dd7b
imul esi
mov eax, dword [esp + 0x30]
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x10]
push edx
sub eax, ecx
push ebp
mov dword [0x4518e8], eax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x403a4a
mov esi, dword [str._r_____r_____n]
mov eax, 0x5a4d12c9
imul dword [0x4518d8]
mov ecx, esi
imul ecx, ecx, 0xb57
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518e4]
sub ecx, eax
mov eax, edx
imul eax, eax, 0x687
lea ecx, [ecx + eax - 0x86c]
cmp dword [esp + 0x1c], edi
mov dword [0x4518ec], ecx
jne 0x40392b
mov ecx, dword [0x4518f0]
mov eax, 0x8b081419
imul ecx
mov eax, dword [0x4518d4]
add edx, ecx
imul eax, eax, 0x14ed
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4518e8]
imul edx, edx, 0x1d41
sub edx, ecx
mov ecx, dword [0x4518d8]
add edx, eax
sub edx, ecx
add edx, 0x1339
mov dword [0x4518f0], edx
jmp 0x403a46
mov eax, 0x61dea4df
imul ecx, ecx, 0x1d41
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x4518dc]
imul ecx, ecx, 0x1538
add eax, ecx
mov ecx, eax
mov eax, 0x4152dddf
imul esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, 0x86c
mov dword [0x4518f4], ecx
lea ecx, [esp + 0x10]
push ecx
push ebp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x403a4a
jmp 0x403990
mov ecx, dword [0x4518e8]
mov esi, dword [0x4518ec]
mov eax, 0x4152dddf
imul esi, esi, 0xfffff5f8
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518f0]
sub esi, eax
mov eax, 0x6a79dd7b
imul edx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
sub esi, eax
add esi, edx
mov edx, dword [0x4518d4]
lea eax, [edx + esi - 0x86c]
mov dword [0x4518d4], eax
cmp dword [esp + 0x1c], edi
je 0x4039ff
lea ecx, [esp + 0x10]
push ecx
push ebp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x403990
jmp 0x403a4a
mov eax, 0x8b081419
imul ecx
add edx, ecx
mov ecx, dword [0x4518dc]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xa5b2ed37
imul ecx
mov eax, dword [0x4518ec]
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4518f4]
sub ecx, esi
sub ecx, eax
lea eax, [ecx + edx - 0x866]
mov dword [0x4518dc], eax
mov ebx, dword [esp + 0x18]
mov ecx, dword [0x4518e0]
mov eax, 0x8c03f71d
imul ecx
add edx, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x1bfba0af
imul dword [0x4518e4]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0x4518f4]
imul eax, eax, 0x86d
sub edx, ecx
sub edx, eax
add edx, 0x322e
push ebp
mov dword [0x4518e4], edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x1c
ret