Function at 0x71ce1950
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x308
mov eax, dword [0x71d5a008]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x71d7a8d4], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x308], ebx
je 0x71ce1b55
cmp dword [0x71d7a8d8], 0
je 0x71ce1b55
lea edx, [ebp - 0x2f0]
mov dword [ebp - 0x2f0], 0
lea ecx, [ebp - 0x2f4]
mov dword [ebp - 0x2f4], 0
call fcn.71ce1770
mov edi, eax
mov dword [ebp - 0x2fc], edi
test edi, edi
js 0x71ce1b42
mov ebx, dword [ebp - 0x2f0]
test ebx, ebx
je 0x71ce1b01
xor ecx, ecx
mov eax, ebx
mov edx, 4
mul edx
push 0x71d12f5c
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.71cf5a85
add esp, 8
mov dword [ebp - 0x2f0], eax
test eax, eax
je 0x71ce1af6
lea ecx, [ebx*4]
push ecx
push 0
push eax
call fcn.71cf7720
mov eax, dword [ebp - 0x2f4]
add esp, 0xc
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2f8], eax
test ebx, ebx
je 0x71ce1abc
mov esi, eax
mov eax, dword [ebp - 0x2f0]
sub eax, esi
mov dword [ebp - 0x304], eax
nop word [eax + eax]
test edi, edi
js 0x71ce1ae6
push dword [esi]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
je 0x71ce1a96
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x2ec], 0x10001
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x71ce1a83
mov ecx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x234]
mov dword [esi + ecx], eax
jmp 0x71ce1a8e
mov edi, 0x8004e004
mov dword [ebp - 0x2fc], edi
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, dword [ebp - 0x300]
add esi, 4
inc ecx
mov eax, edi
mov dword [ebp - 0x300], ecx
cmp ecx, ebx
jb 0x71ce1a40
mov dword [ebp - 0x2fc], edi
test eax, eax
js 0x71ce1ae6
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2f8], 0
mov dword [ecx], ebx
xor ebx, ebx
mov dword [ecx + 0xc], edx
mov dword [ecx + 8], eax
push dword [ebp - 0x2f0]
call fcn.71cf5a25
add esp, 4
jmp 0x71ce1b0d
mov edi, 0x80070008
mov dword [ebp - 0x2fc], edi
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
xor esi, esi
test ebx, ebx
je 0x71ce1b34
mov edi, dword [ebp - 0x2f8]
nop dword [eax]
push dword [edi + esi*4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, ebx
jb 0x71ce1b20
mov edi, dword [ebp - 0x2fc]
push dword [ebp - 0x2f8]
call fcn.71cf5a25
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.71cf548b
mov esp, ebp
pop ebp
ret
mov esi, dword [0x71d7a8c8]
xor eax, eax
test esi, esi
je 0x71ce1b84
cmp dword [0x71d7a8cc], eax
je 0x71ce1b84
cmp dword [0x71d7a8d0], eax
je 0x71ce1b84
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 4
mov ecx, esi
call dword [0x71d122ac]
call esi
mov dword [ebx + 4], eax
test eax, eax
je 0x71ce1c28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, dword [0x71d7a8cc]
lea ecx, [ebp - 0x20]
push ecx
mov dword [ebp - 0x304], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 4]
mov ecx, esi
push eax
mov dword [ebp - 0x300], eax
xor edi, edi
mov dword [ebp - 0x20], 0x1c
movups xmmword [ebp - 0x1c], xmm0
movq qword [ebp - 0xc], xmm0
call dword [0x71d122ac]
call esi
test eax, eax
je 0x71ce1c09
mov ebx, dword [ebp - 0x304]
cmp dword [ebp - 0x14], ebx
jne 0x71ce1bde
inc edi
mov esi, dword [0x71d7a8d0]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x300]
mov ecx, esi
mov dword [ebp - 0x20], 0x1c
call dword [0x71d122ac]
call esi
test eax, eax
jne 0x71ce1bd8
mov ebx, dword [ebp - 0x308]
mov dword [ebx], edi
cmp edi, 1
jbe 0x71ce1c28
mov ecx, dword [ebx + 4]
lea eax, [edi - 1]
push eax
mov dword [ebx], eax
lea edx, [ebx + 8]
lea eax, [ebx + 0xc]
push eax
call fcn.71ce1340
add esp, 8
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.71cf548b
mov esp, ebp
pop ebp
ret