Function at 0x4043d0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x454e08]
mov eax, 0x9a96bd3d
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
sub esp, 0x20
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, dword [0x454dfc]
mov edx, ebx
imul edx, edx, 0x1628
sub edx, eax
push ebp
mov ebp, dword [0x454e14]
mov eax, ebp
imul eax, eax, 0x10a2
add edx, eax
mov eax, dword [0x454df8]
imul eax, eax, 0x9f1
push esi
mov esi, dword [esp + 0x30]
test esi, esi
lea edx, [edx + eax + 0x20a4]
push edi
mov dword [str._r_____r_____n], edx
jne 0x4044d6
mov edi, dword [0x454df4]
mov eax, 0x950d22f9
imul edi
add edx, edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e0c]
imul edx, edx, 0x1a7f
mov edi, eax
sub edi, edx
mov eax, 0xa06e4bd5
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e10]
sub edi, eax
mov eax, 0x3de9fdd3
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, dword [str._r_____r_____n]
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [0x454df4], edi
je 0x4044d6
mov edi, eax
lea edx, [edi + 1]
mov dword [esp + 0x34], edx
mov dl, byte [edi]
inc edi
test dl, dl
jne 0x4044a8
sub edi, dword [esp + 0x34]
mov dword [esp + 0x34], edi
je 0x4044d6
push eax
call fcn.00403cb0
mov ebx, dword [0x454dfc]
mov ecx, dword [0x454e08]
mov ebp, dword [0x454e14]
add esp, 4
mov esi, eax
mov eax, 0x1f5f3801
imul ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e00]
mov edi, dword [0x454e0c]
imul edx, edx, 0x16c0
sub eax, edx
mov edx, ebp
imul edx, edx, 0x10a2
sub eax, edx
mov edx, edi
imul edx, edx, 0x9f1
test esi, esi
lea eax, [eax + edx + 0x1697]
mov dword [0x454df8], eax
jne 0x404527
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x2d5481cb
imul ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x5c6f35cd
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x5c6f35cd
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3de9fdd3
imul edi
sar edx, 0xa
mov eax, edx
sub ebp, ebx
shr eax, 0x1f
sub ebp, ecx
add eax, edx
sub ebp, eax
sub ebp, 0x1b7b
push esi
mov dword [0x454dfc], ebp
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x454e08]
mov dword [esp + 0x34], eax
mov esi, dword [0x454e10]
mov eax, 0xb40b40b5
imul esi, esi, 0x1b7b
imul ecx
add edx, ecx
sar edx, 0xc
mov edi, dword [0x454df8]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x454e04]
imul edx, edx, 0x108a
sub esi, ecx
add esi, edx
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov eax, edi
imul eax, eax, 0x9f1
lea ecx, [esi + eax + 0x20a4]
mov dword [esp + 0x1c], edx
mov esi, dword [0x454e14]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov eax, 0x1f5f3801
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x1f5f3801
imul esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebp
imul esi, esi, 0x1b7b
mov dword [0x454e00], ecx
sub eax, esi
imul ecx, ecx, 0x1b7c
mov ebp, eax
mov eax, 0x7b214ec3
imul dword [0x454e04]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add ebp, edx
lea edx, [eax + ebp + 0x16c0]
mov eax, dword [0x454dfc]
mov dword [0x454e04], edx
imul eax, eax, 0x1a7f
mov edx, edi
imul edx, edx, 0x1988
add ecx, eax
sub ecx, edx
mov eax, 0x3de9fdd3
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x34]
sub ecx, eax
mov dword [0x454e08], ecx
lea ecx, [esp + 0x14]
push ecx
push edx
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x404741
mov edi, dword [0x454df8]
mov esi, dword [str._r_____r_____n]
mov eax, 0x2d5481cb
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e04]
mov ecx, esi
imul edx, edx, 0x8e6
imul ecx, ecx, 0x1697
sub ecx, eax
cmp dword [esp + 0x20], ebx
lea ecx, [ecx + edx - 0x1b7b]
mov dword [0x454e0c], ecx
jne 0x4047b2
mov esi, dword [0x454e08]
mov eax, dword [0x454df4]
imul esi, esi, 0x20a4
mov ecx, dword [0x454e10]
imul eax, eax, 0x16c0
add esi, eax
mov ebp, dword [esp + 0x1c]
mov eax, 0x5c6f35cd
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
sub esi, edi
add esi, 0x625
mov dword [0x454e10], esi
mov esi, dword [0x454e14]
mov ecx, dword [0x454e00]
mov eax, 0x1f5f3801
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x1f5f3801
imul esi
imul esi, esi, 0x1b7b
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x7b214ec3
imul dword [0x454e04]
mov eax, dword [esp + 0x34]
sub edi, ecx
sar edx, 0xb
mov ecx, edx
sub edi, esi
shr ecx, 0x1f
add edi, edx
lea edx, [ecx + edi + 0x16c0]
push eax
mov dword [0x454e04], edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, 0x5f91b42b
imul ecx, ecx, 0x20a4
imul esi
sub edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [0x454e04]
mov eax, 0xb40b40b5
imul ecx
add edx, ecx
sar edx, 0xc
mov ecx, edx
add esi, edx
mov edx, dword [0x454dfc]
imul edx, edx, 0x9f1
shr ecx, 0x1f
add ecx, esi
lea eax, [ecx + edx - 0x1b7b]
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push edx
mov dword [0x454e14], eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x404741
lea esp, [esp]
mov ecx, dword [0x454df4]
mov edi, dword [0x454e0c]
mov eax, 0x950d22f9
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov ecx, edi
imul ecx, ecx, 0x1a7f
sub esi, ecx
mov ecx, dword [0x454e08]
mov eax, 0xa06e4bd5
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e10]
sub esi, eax
mov eax, 0x3de9fdd3
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
sub esi, eax
mov eax, dword [esp + 0x20]
add esi, edx
cmp eax, ebx
mov dword [0x454df4], esi
je 0x4048b1
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x404820
jmp 0x404741
mov edx, dword [0x454dfc]
mov esi, dword [0x454e14]
mov eax, 0x2d5481cb
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x5c6f35cd
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x5c6f35cd
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3de9fdd3
imul edi
sar edx, 0xa
sub ebp, ebx
mov eax, edx
shr eax, 0x1f
sub ebp, ecx
add eax, edx
sub ebp, eax
sub ebp, 0x1b7b
mov dword [0x454dfc], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x404747