Function at 0x40b4b0
Capabilities:
Enumerate threads

Disassembly:
mov ecx, dword [0x4556a8]
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [0x45569c]
mov eax, 0x73b2d479
imul ebp
sar edx, 0xc
mov ebx, ecx
imul ebx, ebx, 0x212c
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
push esi
push edi
mov edi, dword [0x455690]
mov eax, 0x27e98ca1
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x5d0a95d5
imul dword [0x455694]
sar edx, 0xb
add ebx, edx
mov esi, edx
mov edx, dword [0x45568c]
imul edx, edx, 0x11be
shr esi, 0x1f
add esi, ebx
mov ebx, dword [esp + 0x34]
add esi, edx
test ebx, ebx
mov dword [str._r_____r____], esi
jne 0x40b5bc
mov eax, dword [0x4556a0]
imul eax, eax, 0x2367
mov dword [esp + 0x34], eax
mov eax, 0x5d929e5d
imul ebp
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
mov ebp, eax
mov eax, dword [esp + 0x34]
sub ebp, eax
mov eax, 0x48dbb693
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x544
sub ebp, eax
sub ebp, edx
mov edx, dword [0x455688]
add ebp, esi
add edx, ebp
mov ebp, dword [esp + 0x38]
test ebp, ebp
mov dword [0x455688], edx
je 0x40b5bc
mov esi, ebp
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40b596
sub esi, edx
mov dword [esp + 0x34], esi
je 0x40b5bc
push ebp
call fcn.0040ad10
mov edi, dword [0x455690]
mov ecx, dword [0x4556a8]
add esp, 4
mov ebx, eax
mov eax, 0x5d0a95d5
imul edi
sar edx, 0xb
mov esi, ecx
imul esi, esi, 0x212c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
sub ebp, esi
mov esi, dword [0x4556a0]
mov edx, esi
imul edx, edx, 0x11be
add ebp, edx
mov eax, 0x4b438bdf
imul dword [0x45568c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, dword [0x455694]
add eax, 0x1e03
test ebx, ebx
mov dword [0x45568c], eax
jne 0x40b61e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x443d7153
imul ecx, ecx, 0x19a8
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x27e98ca1
imul dword [0x45569c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x455688]
imul eax, eax, 0xe0e
add ecx, eax
sub ecx, esi
sub ecx, 0x544
push ebx
mov dword [0x455690], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
mov ebx, eax
push ebx
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, dword [0x45568c]
mov esi, dword [0x455698]
mov ebp, dword [str._r_____r____]
mov dword [esp + 0x34], eax
imul ebp, ebp, 0x1603
mov ecx, edi
imul ecx, ecx, 0x11be
mov edx, esi
imul edx, edx, 0xe0e
add ebp, ecx
mov ecx, dword [0x45569c]
add ebp, edx
mov eax, 0x4b438bdf
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
xor edx, edx
mov dword [esp + 0x14], edx
sub ebp, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov ecx, dword [0x4556a4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov eax, 0x3dbd3249
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, dword [0x4556a8]
lea ecx, [ecx + ebp - 0x544]
mov ebp, eax
mov eax, 0x5d0a95d5
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x736e5bc3
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a0]
sub ebp, eax
imul edx, edx, 0xd9b
mov dword [0x455694], ecx
imul esi, esi, 0x544
add ebp, edx
sub ebp, esi
mov esi, dword [0x455690]
imul esi, esi, 0x2367
mov eax, 0x27e98ca1
imul ecx
imul ecx, ecx, 0x544
sar edx, 0xa
add esi, edx
mov eax, edx
mov edx, edi
imul edx, edx, 0x15e3
shr eax, 0x1f
add eax, esi
add eax, edx
mov esi, eax
mov eax, 0x48dbb693
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
lea ecx, [esp + 0x14]
mov dword [0x45569c], esi
mov esi, dword [esp + 0x34]
push ecx
mov dword [0x455698], ebp
push esi
mov dword [esp + 0x1c], 0x1c
xor ebp, ebp
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40b949
mov edi, dword [0x45568c]
mov eax, 0x443d7153
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
mov ecx, edx
imul ecx, ecx, 0x1e03
sub ecx, eax
mov eax, dword [0x455698]
imul eax, eax, 0x108d
sub ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x4556a0], ecx
jne 0x40b868
mov esi, dword [0x45569c]
mov eax, 0x73b2d479
imul esi
imul esi, esi, 0x1603
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
mov ebx, eax
mov eax, 0xd816735f
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x5d0a95d5
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455688]
imul edx, edx, 0xd9b
sub ebp, ebx
add ebp, esi
sub ebp, eax
add ebp, edx
mov dword [0x4556a4], ebp
mov ebp, dword [esp + 0x1c]
jmp 0x40b94f
mov eax, 0xa26d61a3
imul ecx, ecx, 0x1b47
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov ecx, dword [0x455690]
mov eax, 0x4b438bdf
imul ecx, ecx, 0x11be
imul dword [0x455698]
sar edx, 0xa
add edi, ecx
mov eax, edx
lea ecx, [esp + 0x14]
shr eax, 0x1f
add edi, edx
push ecx
add eax, edi
push esi
mov dword [0x4556a8], eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40b949
mov ecx, dword [0x4556a0]
mov eax, 0x5d929e5d
imul dword [0x45569c]
sar edx, 0xb
mov esi, ecx
imul esi, esi, 0x2367
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub eax, esi
mov esi, eax
mov eax, 0x48dbb693
imul edx
mov edi, dword [str._r_____r____]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455690]
sub esi, eax
mov eax, edx
imul eax, eax, 0x544
sub esi, eax
mov eax, dword [esp + 0x20]
add esi, edi
mov edi, dword [0x455688]
add edi, esi
cmp eax, ebx
mov dword [0x455688], edi
je 0x40b9c3
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40b8c0
mov ecx, dword [0x4556a0]
mov esi, dword [0x4556a8]
mov eax, 0x3dbd3249
imul ecx, ecx, 0xd9b
imul dword [0x455698]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455694]
mov edi, eax
mov eax, 0x5d0a95d5
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x736e5bc3
imul esi
imul esi, esi, 0x544
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [esp + 0x34]
sub edi, esi
push ecx
mov dword [0x455698], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret
mov esi, dword [0x4556a8]
imul edi, edi, 0xe0e
mov eax, 0x443d7153
imul edx
mov ebx, esi
imul ebx, ebx, 0x19a8
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov ebp, dword [esp + 0x1c]
mov eax, 0x27e98ca1
imul dword [0x45569c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, edi
sub ebx, ecx
sub ebx, 0x544
mov dword [0x455690], ebx
jmp 0x40b955