Function at 0x40b710
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [0x455690]
mov eax, 0x709ad4e5
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0xc2c05bdf
imul dword [0x45569c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, ecx
mov ecx, dword [0x45568c]
imul ecx, ecx, 0x217
add ebx, ecx
mov ecx, dword [0x4556a8]
mov edx, ecx
imul edx, edx, 0x12b
push edi
mov edi, dword [0x455694]
add ebx, edx
mov eax, 0xe070381d
imul edi
add edx, edi
sar edx, 7
mov edi, edx
add ebx, edx
shr edi, 0x1f
add edi, ebx
mov ebx, dword [esp + 0x34]
test ebx, ebx
mov dword [str._r_____r____], edi
jne 0x40b826
mov edx, dword [0x4556a4]
mov ebp, dword [0x4556a0]
mov eax, 0xbd889165
imul ebp, ebp, 0x217
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebp
mov ebp, eax
mov eax, 0x3949660b
imul dword [0x45569c]
sar edx, 7
add ebp, edx
mov eax, edx
mov edx, esi
imul edx, edx, 0xb8
shr eax, 0x1f
add eax, ebp
mov ebp, dword [esp + 0x38]
sub eax, edx
mov edx, dword [0x455688]
add eax, edi
add edx, eax
test ebp, ebp
mov dword [0x455688], edx
je 0x40b826
mov edi, ebp
lea edx, [edi + 1]
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x40b800
sub edi, edx
mov dword [esp + 0x34], edi
je 0x40b826
push ebp
call fcn.0040af50
mov esi, dword [0x455690]
mov ecx, dword [0x4556a8]
add esp, 4
mov ebx, eax
mov edi, dword [0x4556a0]
mov ebp, edi
imul ebp, ebp, 0x217
mov eax, ecx
imul eax, eax, 0x12b
sub ebp, eax
mov eax, 0xc3a13de7
imul dword [0x45568c]
add edx, dword [0x45568c]
sar edx, 8
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0xe070381d
imul esi
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
sub eax, dword [0x455694]
add eax, 0x1d3
test ebx, ebx
mov dword [0x45568c], eax
jne 0x40b890
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov eax, 0x709ad4e5
imul ecx, ecx, 0x246
imul dword [0x45569c]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x455688]
imul eax, eax, 0x1ed
add ecx, eax
mov eax, 0x8c55841d
imul esi
add edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, edi
sub ecx, 0xb8
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 ebp, dword [0x455698]
mov edi, dword [0x45568c]
mov esi, ebp
imul esi, esi, 0x1ed
mov dword [esp + 0x34], eax
mov ecx, edi
imul ecx, ecx, 0x217
add esi, ecx
mov ecx, dword [0x45569c]
mov eax, 0xc3a13de7
imul ecx
add edx, ecx
mov ecx, dword [str._r_____r____]
sar edx, 8
imul ecx, ecx, 0x92
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub esi, eax
add esi, edx
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
lea ecx, [ecx + esi - 0xb8]
mov esi, dword [0x4556a8]
mov eax, 0x3d3fa421
imul esi
imul esi, esi, 0xb8
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a0]
imul edx, edx, 0x14f
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, 0x6d978b8f
imul ebp
mov eax, dword [esp + 0x10]
sar edx, 7
mov ebp, edx
add eax, edx
shr ebp, 0x1f
add ebp, eax
mov dword [0x455694], ecx
sub ebp, esi
mov eax, 0xe070381d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x709ad4e5
imul ecx
imul ecx, ecx, 0xb8
mov eax, dword [0x455690]
sar edx, 8
imul eax, eax, 0x217
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, edi
imul edx, edx, 0x23c
add esi, edx
add esi, eax
mov eax, 0x42776e9b
imul edi
sar edx, 7
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
push esi
mov dword [0x455698], ebp
mov dword [esp + 0x1c], 0x1c
mov dword [esp + 0x18], 0
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x40bbd7
mov edi, dword [0x45568c]
mov eax, 0x8c55841d
imul edi
mov ebp, dword [0x455698]
add edx, edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
mov ecx, edx
imul ecx, ecx, 0x1d3
sub ecx, eax
mov eax, ebp
imul eax, eax, 0x59
add ecx, eax
cmp dword [esp + 0x20], ebx
mov dword [0x4556a0], ecx
jne 0x40baf1
mov edx, dword [0x4556a4]
mov esi, dword [0x45569c]
mov eax, 0x709ad4e5
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xc2c05bdf
imul esi
imul esi, esi, 0x92
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455688]
imul edx, edx, 0x14f
mov ebp, eax
sub ebp, ebx
add ebp, edx
mov eax, 0xe070381d
imul edi
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x1c]
add ebp, esi
sub ebp, eax
mov dword [0x4556a4], ebp
mov dword [esp + 0x10], edx
jmp 0x40bbdd
mov edi, dword [0x455690]
imul ecx, ecx, 0x14a
mov eax, 0x3949660b
imul edi, edi, 0x217
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xc3a13de7
imul ebp
add edx, ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
sub eax, ecx
lea ecx, [esp + 0x14]
push ecx
push esi
mov dword [0x4556a8], eax
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x40bbd7
jmp 0x40bb50
mov edx, dword [0x4556a4]
mov ecx, dword [0x4556a0]
mov eax, 0xbd889165
imul edx
mov ebp, dword [0x455690]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov esi, ecx
imul esi, esi, 0x217
mov eax, 0x3949660b
imul dword [0x45569c]
sub edi, esi
mov esi, dword [str._r_____r____]
sar edx, 7
add edi, edx
mov eax, edx
mov edx, ebp
imul edx, edx, 0xb8
shr eax, 0x1f
add eax, edi
mov edi, dword [0x455688]
sub eax, edx
add eax, esi
add edi, eax
cmp dword [esp + 0x20], ebx
mov dword [0x455688], edi
je 0x40bc53
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x14]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x40bb50
mov ecx, dword [0x4556a0]
mov esi, dword [0x4556a8]
mov eax, 0x3d3fa421
imul ecx, ecx, 0x14f
imul esi
imul esi, esi, 0xb8
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x6d978b8f
imul dword [0x455698]
sar edx, 7
add ecx, edx
mov edi, edx
shr edi, 0x1f
add edi, ecx
mov ecx, dword [0x455694]
mov eax, 0xe070381d
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x34]
sub edi, esi
sub edi, ecx
push edx
mov dword [0x455698], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov esi, dword [0x4556a8]
imul edi, edi, 0x1ed
mov eax, 0x709ad4e5
imul dword [0x45569c]
sar edx, 8
mov ebx, esi
imul ebx, ebx, 0x246
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x8c55841d
imul ebp
add edx, ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add ebx, edi
add eax, edx
mov edx, dword [esp + 0x1c]
sub ebx, eax
sub ebx, ecx
sub ebx, 0xb8
mov dword [0x455690], ebx
mov dword [esp + 0x10], edx
jmp 0x40bbe3