Function at 0x403cf0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x452a78]
mov eax, 0xfe03f81
imul ecx
sar edx, 4
sub esp, 0x20
mov eax, edx
push ebx
mov ebx, dword [0x452a84]
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0xe8
push ebp
push esi
mov esi, dword [0x452a68]
sub edx, eax
sub edx, esi
mov esi, dword [0x452a6c]
push edi
mov edi, dword [esp + 0x34]
test edi, edi
lea eax, [edx + esi + 0x21b]
mov dword [str._r_____r_____n], eax
jne 0x403dd5
mov ebp, dword [0x452a7c]
mov eax, 0xa29ecf17
imul ebp, ebp, 0xfffffefe
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a80]
sub ebp, eax
mov eax, 0x43b3d5b
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a64]
sub ebp, eax
add ebp, dword [str._r_____r_____n]
lea eax, [edx + ebp - 0xd8]
mov dword [0x452a64], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x403dd5
mov ebp, eax
lea edx, [ebp + 1]
mov dword [esp + 0x34], edx
mov dl, byte [ebp]
inc ebp
test dl, dl
jne 0x403da6
sub ebp, dword [esp + 0x34]
mov dword [esp + 0x34], ebp
je 0x403dd5
push eax
call fcn.004036b0
mov esi, dword [0x452a6c]
mov ecx, dword [0x452a78]
mov ebx, dword [0x452a84]
add esp, 4
mov edi, eax
mov ebp, dword [0x452a7c]
mov eax, 0x577f7cc1
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebp
imul edx, edx, 0x21e
add eax, edx
mov edx, ebx
imul edx, edx, 0xe8
sub eax, edx
sub eax, dword [0x452a70]
add eax, 0x33e
test edi, edi
mov dword [0x452a68], eax
jne 0x403e1e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0xae4c415d
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x2053e08b
imul esi
sub edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
sub eax, ebp
lea ecx, [eax + ebx - 0xd2]
push edi
mov dword [0x452a6c], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x452a78]
mov dword [esp + 0x34], eax
mov esi, dword [0x452a68]
mov edi, dword [0x452a74]
mov eax, 0x7a0a7ce7
imul ecx
sar edx, 8
mov ebp, dword [0x452a80]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
imul ecx, ecx, 0x21e
sub ecx, 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 edx, edi
imul edx, edx, 0x79
add ecx, ebp
lea ecx, [edx + ecx + 0x215]
mov eax, 0x577f7cc1
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x8d3dcb09
imul edi
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a84]
imul edx, edx, 0xd9
sub eax, ebp
sub eax, edx
mov edx, dword [0x452a6c]
add eax, 0x506
imul edx, edx, 0x102
mov dword [0x452a74], eax
mov dword [0x452a70], ecx
imul ecx, ecx, 0xd9
mov eax, esi
imul eax, eax, 0x193
sub ecx, eax
xor edi, edi
mov dword [esp + 0x14], 0x1c
add ecx, edx
mov eax, 0x43b3d5b
imul esi
mov esi, dword [esp + 0x34]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov dword [0x452a78], ecx
lea ecx, [esp + 0x14]
push ecx
push esi
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x404126
mov eax, dword [0x452a74]
mov ecx, dword [0x452a68]
imul eax, eax, 0xab
mov ebp, dword [str._r_____r_____n]
mov dword [esp + 0x10], eax
mov eax, 0xdfac1f75
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x10]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebp
imul edx, edx, 0x125
sub ecx, eax
cmp dword [esp + 0x20], ebx
lea ecx, [ecx + edx - 0xd8]
mov dword [0x452a7c], ecx
jne 0x404003
mov ecx, dword [0x452a80]
mov eax, 0xae4c415d
imul ecx
add edx, ecx
mov ecx, dword [0x452a78]
sar edx, 9
imul ecx, ecx, 0x2ed
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a64]
imul edx, edx, 0x219
sub ecx, eax
add ecx, edx
sub ecx, dword [0x452a68]
add ecx, 0x1eb
mov dword [0x452a80], ecx
jmp 0x404122
mov eax, 0x7a0a7ce7
imul ecx, ecx, 0x2ed
imul dword [0x452a74]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, dword [0x452a6c]
imul ecx, ecx, 0x21e
add eax, ecx
mov ecx, eax
mov eax, 0xa29ecf17
imul ebp
add edx, ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, 0xd8
mov dword [0x452a84], ecx
lea ecx, [esp + 0x14]
push ecx
push esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x404126
mov ecx, dword [0x452a78]
mov esi, dword [0x452a7c]
mov eax, 0xa29ecf17
imul ecx
add edx, ecx
sar edx, 8
mov ebp, esi
imul ebp, ebp, 0xfffffefe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a80]
sub ebp, eax
mov eax, 0x43b3d5b
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
sub ebp, eax
add ebp, edx
mov edx, dword [0x452a64]
lea eax, [edx + ebp - 0xd8]
mov dword [0x452a64], eax
cmp dword [esp + 0x20], ebx
je 0x4040da
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push esi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x404064
jmp 0x404126
mov eax, 0xae4c415d
imul ecx
add edx, ecx
mov ecx, dword [0x452a6c]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x2053e08b
imul ecx
sub edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x452a84]
sub ecx, edi
sub ecx, esi
mov esi, dword [esp + 0x34]
lea eax, [ecx + edx - 0xd2]
mov dword [0x452a6c], eax
mov edi, dword [esp + 0x1c]
mov ecx, dword [0x452a70]
mov eax, 0x577f7cc1
imul ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, ecx
mov ecx, dword [0x452a74]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, dword [0x452a84]
imul eax, eax, 0xd9
sub ecx, ebx
sub ecx, eax
add ecx, 0x506
push esi
mov dword [0x452a74], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret