Function at 0x40fe20
Capabilities:
Enumerate threads

Disassembly:
sub esp, 0x3c
mov eax, dword [0x45ecd4]
push ebx
push ebp
push esi
mov esi, dword [0x45eccc]
cdq
push edi
mov ebx, eax
push 1
mov ebp, edx
mov eax, esi
cdq
push 0x86050f76
mov edi, eax
push edx
push edi
mov dword [esp + 0x34], edx
call fcn.004319f0
mov ecx, dword [esp + 0x24]
push 2
push 0xb57eb16
push ecx
push edi
mov dword [esp + 0x24], eax
call fcn.004319f0
push 2
push 0xb57eb16
mov edi, eax
mov eax, dword [esp + 0x1c]
push ebp
push ebx
sub edi, eax
call fcn.004319f0
push 1
push 0xeae0c6d3
push ebp
push ebx
sub edi, eax
call fcn.004319f0
mov ecx, dword [0x45ecdc]
add edi, eax
imul ecx, ecx, 0x5295f78d
mov eax, dword [0x45ece8]
mov edx, esi
imul eax, eax, 0x6b66a94
imul edx, edx, 0x140cef57
sub edi, edx
add edi, eax
mov eax, dword [esp + 0x50]
add edi, ecx
test eax, eax
mov dword [str._r_____r____], edi
jne 0x40ff68
mov ebx, dword [0x45ecd0]
push 1
mov eax, ebx
cdq
push 0xebf310a9
push edx
push eax
call fcn.004319f0
mov ebp, eax
mov eax, dword [0x45ece4]
push 1
cdq
push 0x5295f78d
push edx
push eax
call fcn.004319f0
sub ebp, eax
mov eax, 0x4d7937c3
mul ebx
shr edx, 0x1e
add ebp, edx
mov edx, dword [0x45ece0]
imul edx, edx, 0x7f4ea4e2
sub ebp, edx
mov eax, 0x2a01e433
imul ebx
mov eax, dword [0x45ecc8]
imul eax, eax, 0x6181b446
sar edx, 0x1c
mov ebx, edx
shr ebx, 0x1f
add ebp, edx
add ebx, ebp
mov ebp, dword [esp + 0x54]
add ebx, eax
test ebp, ebp
mov dword [0x45ecc8], ebx
je 0x40ff6e
mov eax, ebp
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40ff40
sub eax, edx
mov dword [esp + 0x18], eax
je 0x40ff6e
push ebp
call fcn.0040f3a0
mov edi, dword [str._r_____r____]
mov esi, dword [0x45eccc]
add esp, 4
mov dword [esp + 0x50], eax
mov ebx, dword [0x45ecc8]
mov eax, dword [0x45ecd4]
mov ebp, dword [0x45ece8]
cdq
imul ebp, ebp, 0x6b66a94
mov ecx, eax
mov dword [esp + 0x24], edx
mov eax, 0x2a215c6f
mul esi
sub esi, edx
push 1
shr esi, 1
add esi, edx
mov edx, dword [esp + 0x28]
push 0xeae0c6d3
push edx
push ecx
mov dword [esp + 0x30], ecx
shr esi, 0x1f
call fcn.004319f0
mov ecx, dword [esp + 0x20]
push 1
add esi, eax
mov eax, dword [esp + 0x28]
push 0x5295f78d
push eax
push ecx
call fcn.004319f0
mov edx, dword [0x45ece4]
add esi, eax
imul edx, edx, 0x6181b446
mov eax, dword [0x45ece0]
imul eax, eax, 0x140cef57
sub esi, eax
add esi, edx
sub esi, ebp
sub esi, edi
sub esi, 0x4f64023c
mov dword [0x45eccc], esi
mov esi, dword [esp + 0x50]
test esi, esi
jne 0x410003
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret
mov eax, dword [0x45ecdc]
push 2
cdq
push 0xb57eb16
push edx
push eax
call fcn.004319f0
mov edi, eax
mov eax, dword [0x45ecd0]
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
imul ebx, ebx, 0x5295f78d
mov ecx, dword [0x45ecd8]
mov edx, ecx
imul edx, edx, 0xb57eb16
sub eax, edi
add eax, edx
mov edi, eax
mov eax, 0x2a01e433
imul ecx
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov edi, dword [0x45ece4]
add eax, ebx
sub eax, edi
lea ecx, [eax + ebp - 0x6181b446]
push esi
mov dword [0x45ecd0], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 4
mov dword [esp + 0x1c], eax
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, dword [0x45ecdc]
mov dword [esp + 0x50], eax
push 1
mov eax, esi
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ecd8]
add edx, ecx
imul ecx, ecx, 0x151f392d
mov ebx, eax
imul edx, edx, 0x5295f78d
add ebx, edx
mov eax, 0x2a215c6f
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
mov edi, dword [0x45ece0]
mov edx, esi
imul edx, edx, 0x140cef57
shr eax, 0x1f
sub ebx, eax
sub ebx, edx
sub ebx, ecx
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea ecx, [ebx + edi - 0x6181b446]
mov ebx, dword [0x45ece8]
mov dword [esp + 0x44], eax
mov dword [0x45ecd4], ecx
mov dword [esp + 0x48], eax
mov eax, ebx
cdq
mov ebp, eax
push 1
mov eax, ecx
mov dword [esp + 0x28], edx
cdq
push 0xeae0c6d3
push edx
push eax
mov dword [esp + 0x30], ebp
call fcn.004319f0
mov ecx, dword [esp + 0x24]
push 0xfffffffffffffffe
push 0x140cef57
push ecx
push ebp
mov dword [esp + 0x20], eax
call fcn.004319f0
mov edx, dword [esp + 0x24]
mov ebp, eax
mov eax, dword [esp + 0x10]
push 2
push 0x6b66a94
sub ebp, eax
mov eax, dword [esp + 0x28]
push edx
push eax
call fcn.004319f0
imul ebx, ebx, 0x6181b446
add ebp, eax
mov eax, 0x2a215c6f
mul edi
mov ecx, edi
sub ecx, edx
shr ecx, 1
add ecx, edx
mov edx, dword [0x45ecc8]
imul edx, edx, 0x151f392d
mov eax, edi
imul eax, eax, 0x242d3a05
shr ecx, 0x1f
add ebp, ecx
sub ebp, ebx
sub ebp, edx
sub ebp, eax
mov eax, dword [0x45ece4]
cdq
mov ebx, eax
mov eax, dword [0x45eccc]
push 0xfffffffffffffffe
mov dword [0x45ecd8], ebp
mov ebp, edx
cdq
push 0xad6a0873
push edx
push eax
mov dword [esp + 0x40], 0x1c
mov dword [esp + 0x20], 0
mov dword [esp + 0x3c], ebp
call fcn.004319f0
mov edx, dword [0x45eccc]
mov ecx, dword [0x45ecd0]
add ecx, edx
imul ecx, ecx, 0x79faf08a
push 2
push 0xb57eb16
push ebp
sub eax, ecx
push ebx
mov dword [esp + 0x28], eax
call fcn.004319f0
mov ecx, dword [esp + 0x18]
push 1
add ecx, eax
push 0xeae0c6d3
mov eax, ebp
push eax
push ebx
mov dword [esp + 0x28], ecx
call fcn.004319f0
mov ecx, dword [esp + 0x18]
imul edi, edi, 0x2c857103
imul esi, esi, 0x6181b446
mov edx, dword [esp + 0x50]
add ecx, eax
sub ecx, edi
add ecx, esi
mov dword [0x45ecdc], ecx
lea ecx, [esp + 0x30]
push ecx
push edx
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x410482
mov eax, dword [0x45eccc]
mov ebp, dword [0x45ecd0]
mov ebx, dword [0x45ece8]
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
lea esi, [ebx + ebp]
push eax
imul esi, esi, 0x4f64023c
call fcn.004319f0
mov edi, eax
push 1
mov eax, ebx
cdq
push 0x86050f76
push edx
push eax
sub edi, esi
call fcn.004319f0
mov edx, dword [0x45ecdc]
add edi, eax
imul edx, edx, 0x6181b446
mov eax, dword [0x45ecd4]
imul eax, eax, 0x6b66a94
sub edi, eax
mov eax, dword [0x45ecd8]
mov ecx, eax
imul ecx, ecx, 0x2c857103
sub edi, ecx
mov ecx, dword [esp + 0x14]
sub edi, edx
cmp dword [esp + 0x3c], ecx
mov dword [0x45ece0], edi
jne 0x410363
cdq
mov dword [esp + 0x18], eax
mov eax, dword [0x45ece4]
push 0xfffffffffffffffd
mov dword [esp + 0x20], edx
cdq
push 0xf4a814ea
push edx
push eax
call fcn.004319f0
mov edx, dword [0x45ecd4]
mov esi, dword [0x45ecc8]
mov ebp, eax
lea eax, [esi + edx]
imul eax, eax, 0x242d3a05
sub ebp, eax
mov eax, dword [str._r_____r____]
push 1
cdq
push 0xb09bfdc4
push edx
push eax
call fcn.004319f0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push 1
push 0x86050f76
push ecx
push edx
add ebp, eax
call fcn.004319f0
mov ecx, dword [esp + 0x18]
push 1
sub ebp, eax
mov eax, dword [esp + 0x20]
push 0xeae0c6d3
push eax
push ecx
call fcn.004319f0
mov edx, dword [esp + 0x38]
sub ebp, eax
mov eax, dword [str._r_____r____]
imul eax, eax, 0x151f392d
sub ebp, eax
mov dword [0x45ece4], ebp
mov dword [esp + 0x10], edx
jmp 0x410494
mov esi, dword [0x45ecc8]
push 1
mov eax, esi
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov edx, dword [0x45ecd8]
add edx, ebp
imul ebp, ebp, 0x151f392d
imul edx, edx, 0x140cef57
mov ecx, eax
sub ecx, edx
mov eax, 0x4d7937c3
mul dword [str._r_____r____]
shr edx, 0x1e
sub ecx, edx
mov eax, 0x2a215c6f
mul esi
mov eax, dword [0x45ece4]
sub esi, edx
imul eax, eax, 0x6181b446
shr esi, 1
add esi, edx
mov edx, dword [esp + 0x50]
shr esi, 0x1f
add ecx, esi
sub ecx, eax
add ecx, ebp
mov dword [0x45ece8], ecx
lea ecx, [esp + 0x30]
push ecx
push edx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
je 0x410482
mov ebx, dword [0x45ecd0]
push 1
mov eax, ebx
cdq
push 0xebf310a9
push edx
push eax
call fcn.004319f0
mov ebp, dword [0x45ece4]
mov dword [esp + 0x18], eax
push 1
mov eax, ebp
cdq
push 0x5295f78d
push edx
push eax
call fcn.004319f0
mov ecx, dword [esp + 0x18]
mov edi, dword [0x45ece0]
sub ecx, eax
mov eax, 0x4d7937c3
mul ebx
mov eax, edi
imul eax, eax, 0x7f4ea4e2
shr edx, 0x1e
add ecx, edx
sub ecx, eax
mov eax, 0x2a01e433
imul ebx
mov eax, dword [esp + 0x3c]
sar edx, 0x1c
add ecx, edx
mov esi, edx
mov edx, dword [esp + 0x14]
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45ecc8]
imul ecx, ecx, 0x6181b446
add esi, ecx
cmp eax, edx
mov dword [0x45ecc8], esi
je 0x410534
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x30]
push eax
push ecx
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x4103e0
mov ebx, dword [0x45ece8]
mov esi, dword [0x45ecc8]
mov edi, dword [0x45ece0]
mov eax, ebx
cdq
mov ebp, eax
mov eax, dword [0x45ecd4]
push 1
mov dword [esp + 0x28], edx
cdq
push 0xeae0c6d3
push edx
push eax
mov dword [esp + 0x30], ebp
call fcn.004319f0
mov ecx, dword [esp + 0x24]
push 0xfffffffffffffffe
push 0x140cef57
push ecx
push ebp
mov dword [esp + 0x28], eax
call fcn.004319f0
mov edx, dword [esp + 0x24]
mov ebp, eax
mov eax, dword [esp + 0x18]
push 2
push 0x6b66a94
sub ebp, eax
mov eax, dword [esp + 0x28]
push edx
push eax
call fcn.004319f0
imul ebx, ebx, 0x6181b446
imul esi, esi, 0x151f392d
add ebp, eax
mov eax, 0x2a215c6f
mul edi
mov ecx, edi
imul edi, edi, 0x242d3a05
sub ecx, edx
shr ecx, 1
add ecx, edx
mov edx, dword [esp + 0x50]
shr ecx, 0x1f
add ebp, ecx
sub ebp, ebx
sub ebp, esi
sub ebp, edi
push edx
mov dword [0x45ecd8], ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov eax, dword [0x45ecdc]
push 2
cdq
push 0xb57eb16
push edx
push eax
call fcn.004319f0
mov dword [esp + 0x18], eax
push 0xfffffffffffffffe
mov eax, ebx
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
mov ebx, dword [0x45ece8]
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [0x45ecd8]
mov edx, ebx
imul edx, edx, 0x6b66a94
add eax, edx
mov edx, ecx
imul edx, edx, 0xb57eb16
add eax, edx
mov dword [esp + 0x18], eax
mov eax, 0x2a01e433
imul ecx
mov ecx, dword [esp + 0x18]
sar edx, 0x1c
add ecx, edx
mov eax, edx
mov edx, dword [esp + 0x38]
shr eax, 0x1f
add eax, ecx
mov ecx, esi
imul ecx, ecx, 0x5295f78d
add eax, ecx
sub eax, ebp
sub eax, 0x6181b446
mov dword [0x45ecd0], eax
mov dword [esp + 0x10], edx
jmp 0x410494