Function at 0x403620
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x1c
push ebx
mov ebx, dword [0x4518f4]
push ebp
push esi
mov esi, dword [0x4518e8]
mov eax, 0x58fba7b7
imul esi
mov ecx, ebx
imul ecx, ecx, 0x62fe
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518d8]
sub ecx, eax
sub ecx, edx
push edi
mov edi, dword [0x4518dc]
lea ecx, [ecx + edi + 0xd46b]
mov dword [str._r_____r_____n], ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x403707
mov ebp, dword [0x4518ec]
mov eax, 0xd45237bd
imul ebp, ebp, 0x5c10
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518f0]
sub eax, ebp
mov ebp, eax
mov eax, 0x27a02fad
imul edx
sar edx, 0xb
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 - 0x5a74]
mov dword [0x4518d4], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x403707
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x30], edx
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x4036d8
sub ebp, dword [esp + 0x30]
mov dword [esp + 0x30], ebp
je 0x403707
push eax
call fcn.00402fd0
mov edi, dword [0x4518dc]
mov esi, dword [0x4518e8]
mov ebx, dword [0x4518f4]
add esp, 4
mov ecx, eax
mov ebp, dword [0x4518ec]
imul ebp, ebp, 0xd4a0
mov eax, ebx
imul eax, eax, 0x62fe
sub ebp, eax
mov eax, 0x7225d683
imul edi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, dword [0x4518e0]
add eax, 0x131b4
test ecx, ecx
mov dword [0x4518d8], eax
jne 0x40374e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov eax, 0x57bc6617
imul edi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xf1bde717
imul esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
sub eax, dword [0x4518ec]
lea edx, [eax + ebx - 0x5a6f]
push ecx
mov dword [0x4518dc], edx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, dword [0x4518d8]
mov ebp, eax
mov ecx, dword [0x4518e8]
mov eax, esi
imul eax, eax, 0xd4a0
mov dword [esp + 0x30], eax
mov edi, dword [0x4518e4]
mov eax, 0x9a5307c5
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x30]
sar edx, 0xf
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 edx, edi
imul edx, edx, 0x33af
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
lea ecx, [edx + ecx + 0xc49d]
mov eax, 0xa5820cf9
imul edi
add edx, edi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518f4]
imul edx, edx, 0x5a75
mov edi, eax
sub edi, edx
mov eax, 0x7225d683
imul ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x4518dc]
mov dword [0x4518e0], ecx
imul ecx, ecx, 0x5a75
imul eax, eax, 0x5c10
add edi, 0x1f366
mov dword [0x4518e4], edi
xor edi, edi
add eax, ecx
mov dword [esp + 0x10], 0x1c
mov ecx, esi
imul ecx, ecx, 0xbb8d
sub eax, ecx
mov ecx, eax
mov eax, 0x27a02fad
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov dword [0x4518e8], ecx
lea ecx, [esp + 0x10]
push ecx
push ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x403a50
mov eax, 0x57bc6617
imul dword [0x4518d8]
mov ecx, dword [0x4518e4]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
imul edx, edx, 0x5d5f
sub edx, eax
mov eax, ecx
imul eax, eax, 0x588f
lea esi, [edx + eax - 0x5a74]
cmp dword [esp + 0x1c], ebx
mov dword [0x4518ec], esi
jne 0x403933
mov edx, dword [0x4518f0]
mov esi, dword [0x4518d4]
mov eax, 0xe4218e9
imul esi, esi, 0xd455
imul edx
sar edx, 0xc
mov edi, dword [esp + 0x18]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518e8]
imul edx, edx, 0x11f11
sub esi, eax
add esi, edx
sub esi, dword [0x4518d8]
add esi, 0xc301
mov dword [0x4518f0], esi
jmp 0x403a56
mov eax, 0x9a5307c5
imul esi, esi, 0x11f11
imul ecx
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4518dc]
imul edx, edx, 0xd4a0
add ecx, edx
mov eax, 0x2badc843
imul dword [str._r_____r_____n]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
sub ecx, 0x5a74
mov dword [0x4518f4], ecx
lea ecx, [esp + 0x10]
push ecx
push ebp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x403a50
mov esi, dword [0x4518ec]
mov eax, 0xd45237bd
imul dword [0x4518e8]
mov ecx, esi
imul ecx, ecx, 0x5c10
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x4518f0]
mov dword [esp + 0x30], eax
mov eax, 0x27a02fad
imul ecx
mov eax, dword [esp + 0x30]
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4518d4]
sub eax, ecx
add eax, dword [str._r_____r_____n]
lea eax, [edx + eax - 0x5a74]
mov dword [0x4518d4], eax
cmp dword [esp + 0x1c], ebx
je 0x403a07
lea ecx, [esp + 0x10]
push ecx
push ebp
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x403992
jmp 0x403a50
mov ecx, dword [0x4518dc]
mov eax, 0x57bc6617
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov edi, dword [esp + 0x18]
mov eax, 0xf1bde717
imul dword [0x4518e8]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x4518f4]
sub eax, esi
lea edx, [eax + ecx - 0x5a6f]
mov dword [0x4518dc], edx
mov ecx, dword [0x4518e4]
mov eax, 0xa5820cf9
imul ecx
add edx, ecx
mov ecx, dword [0x4518e0]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, dword [0x4518f4]
imul eax, eax, 0x5a75
sub esi, eax
mov eax, 0x7225d683
imul ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, 0x1f366
push ebp
mov dword [0x4518e4], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret