Function at 0x404420
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x454df8]
sub esp, 0x20
imul ecx, ecx, 0xcd41
push ebx
push ebp
push esi
mov esi, dword [0x454e08]
mov eax, 0x9c9a6c87
imul esi
push edi
mov edi, dword [0x454e14]
imul edi, edi, 0xfb02
add edx, esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x454dfc]
mov edx, ecx
imul edx, edx, 0x10088
lea eax, [edi + edx + 0x139e4]
mov edi, dword [esp + 0x34]
test edi, edi
mov dword [str._r_____r_____n], eax
jne 0x404518
mov ebx, dword [0x454df4]
mov ebp, dword [0x454e0c]
mov eax, 0x93140835
imul ebp, ebp, 0x689f
imul ebx
add edx, ebx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x30780947
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e10]
sub ebx, ebp
mov ebp, dword [esp + 0x38]
sub ebx, eax
mov eax, 0x3d4263a3
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
sub ebx, eax
add ebx, edx
test ebp, ebp
mov dword [0x454df4], ebx
je 0x404518
mov eax, ebp
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4044f2
sub eax, ebx
mov dword [esp + 0x34], eax
je 0x404518
push ebp
call fcn.00403d00
mov ecx, dword [0x454dfc]
mov esi, dword [0x454e08]
add esp, 4
mov edi, eax
mov ebx, dword [0x454e0c]
mov edx, dword [0x454e14]
imul edx, edx, 0xfb02
mov ebp, ebx
imul ebp, ebp, 0xcd41
sub ebp, edx
mov eax, 0x68649efd
imul ecx
sar edx, 0xf
add ebp, edx
mov eax, edx
mov edx, dword [0x454e00]
imul edx, edx, 0x8bf0
shr eax, 0x1f
add eax, ebp
sub eax, edx
add eax, 0x64b7
test edi, edi
mov dword [0x454df8], eax
jne 0x40456d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0xa2ad5745
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0xc2bd9c5d
imul ebx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x7fbc240d
imul dword [0x454e14]
sub ebx, ecx
sar edx, 0xf
mov ecx, edx
add ebx, edx
mov eax, 0x7fbc240d
imul esi
sar edx, 0xf
shr ecx, 0x1f
mov eax, edx
shr eax, 0x1f
add ecx, ebx
add eax, edx
sub ecx, eax
sub ecx, 0xdecb
push edi
mov dword [0x454dfc], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov edi, eax
push edi
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, dword [0x454df8]
mov ebx, dword [0x454e10]
mov dword [esp + 0x34], eax
imul ebx, ebx, 0xdecb
mov ecx, esi
imul ecx, ecx, 0xcd41
add ebx, ecx
mov ecx, dword [0x454e08]
mov eax, 0x7514b1e9
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e04]
sub ebx, eax
xor eax, 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 dword [esp + 0x2c], eax
mov ecx, edx
mov eax, 0x20a2ed5d
imul ecx, ecx, 0x85ba
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [ebx + ecx + 0x139e4]
mov ebx, dword [0x454e14]
mov edx, ebx
imul edx, edx, 0xdecb
mov ebp, eax
sub ebp, edx
mov eax, 0x68649efd
imul ecx
sar edx, 0xf
mov dword [0x454e00], ecx
mov eax, edx
shr eax, 0x1f
imul ecx, ecx, 0xdecc
add eax, edx
sub ebp, eax
mov eax, 0x68649efd
imul ebx
sar edx, 0xf
add ebp, edx
mov eax, edx
shr eax, 0x1f
lea edx, [eax + ebp + 0x8bf0]
mov ebp, dword [0x454dfc]
imul ebp, ebp, 0x689f
mov eax, esi
imul eax, eax, 0x15208
add ebp, ecx
sub ebp, eax
mov dword [0x454e04], edx
mov eax, 0x3d4263a3
imul esi
mov esi, dword [esp + 0x34]
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x14]
push edx
sub ebp, ecx
push esi
mov dword [esp + 0x1c], 0x1c
xor ebx, ebx
mov dword [0x454e08], ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x4048ef
mov ebp, dword [0x454df8]
mov eax, 0xa2ad5745
imul ebp
add edx, ebp
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
mov ecx, edx
imul ecx, ecx, 0x64b7
sub ecx, eax
mov eax, dword [0x454e04]
imul eax, eax, 0x5706
lea ecx, [ecx + eax - 0xdecb]
cmp dword [esp + 0x20], edi
mov dword [0x454e0c], ecx
jne 0x404789
mov edi, dword [0x454e08]
mov ecx, dword [0x454df4]
imul edi, edi, 0x139e4
imul ecx, ecx, 0x8bf0
add edi, ecx
mov ecx, dword [0x454e10]
mov eax, 0x7fbc240d
imul ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ebp
add edi, 0xd145
mov dword [0x454e10], edi
jmp 0x4048eb
mov ebp, dword [0x454dfc]
imul ecx, ecx, 0x139e4
mov eax, 0x30780947
imul ebp, ebp, 0xcd41
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x7514b1e9
imul dword [0x454e04]
sar edx, 0xe
sub ebp, ecx
mov ecx, edx
lea eax, [esp + 0x14]
shr ecx, 0x1f
add ebp, edx
push eax
lea edx, [ecx + ebp - 0xdecb]
push esi
mov dword [0x454e14], edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x4048ef
jmp 0x4047f0
mov ecx, dword [0x454df4]
mov esi, dword [0x454e0c]
mov eax, 0x93140835
imul ecx
add edx, ecx
sar edx, 0xf
mov ebp, esi
imul ebp, ebp, 0x689f
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
sub eax, ebp
mov ebp, dword [0x454e08]
mov ecx, eax
mov eax, 0x30780947
imul ebp
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, dword [0x454e10]
mov eax, 0x3d4263a3
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
add eax, dword [str._r_____r_____n]
mov dword [0x454df4], eax
cmp dword [esp + 0x20], edi
je 0x404881
mov esi, dword [esp + 0x34]
lea edx, [esp + 0x14]
push edx
push esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x4047f0
jmp 0x4048ef
mov ecx, dword [0x454dfc]
mov eax, 0xa2ad5745
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0xc2bd9c5d
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x7fbc240d
imul dword [0x454e14]
sub esi, ecx
sar edx, 0xf
add esi, edx
mov ecx, edx
mov eax, 0x7fbc240d
imul ebp
sar edx, 0xf
shr ecx, 0x1f
mov eax, edx
shr eax, 0x1f
add ecx, esi
mov esi, dword [esp + 0x34]
add eax, edx
sub ecx, eax
sub ecx, 0xdecb
mov dword [0x454dfc], ecx
mov ebx, dword [esp + 0x1c]
mov edi, dword [0x454e14]
mov eax, 0x20a2ed5d
imul dword [0x454e04]
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, edi
imul edx, edx, 0xdecb
mov ebp, ecx
mov ecx, dword [0x454e00]
sub ebp, edx
mov eax, 0x68649efd
imul ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x68649efd
imul edi
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
lea edx, [ecx + ebp + 0x8bf0]
push esi
mov dword [0x454e04], edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x20
ret