Function at 0x1000d950
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x314
mov eax, dword [ebp + 8]
cmp dword [ebp + 8], 0
je 0x1000d972
mov ecx, dword [0x10032d60]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [0x10032d54]
mov dword [ebp - 0x2f8], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
mov eax, dword [ebp - 0x2f8]
cmp eax, ecx
je 0x1000d99f
mov dword [ebp - 8], 0x10dd
jmp 0x1000ddcb
cmp dword [0x10032d64], 0
je 0x1000d9be
call fcn.1000d700
mov eax, dword [0x10032d64]
mov dword [ebp - 8], eax
jmp 0x1000ddcb
mov dword [ebp - 0x14], 0
mov eax, dword [0x10032d58]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1000da79
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
je 0x1000da20
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
add ecx, 0x20
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + 0x36]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1001a590
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov dword [eax], ecx
jmp 0x1000da67
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x44]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000dde0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x40]
mov ecx, dword [ebp - 0x18]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000de20
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov dword [eax], ecx
jmp 0x1000da6c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
jmp 0x1000d9cd
mov eax, dword [0x10032d5c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x1000dc24
mov dword [ebp - 0x2e4], 0x10001
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x2e4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
sub esp, 8
cmp eax, 0
je 0x1000dc12
mov eax, dword [0x10032d58]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1000dc0d
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
je 0x1000db67
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x10]
cmp eax, ecx
jb 0x1000db62
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x10]
add ecx, 4
cmp eax, ecx
jae 0x1000db62
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x10]
sub eax, ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp], ecx
movzx eax, al
mov dword [esp + 4], eax
call fcn.1000de50
mov cl, al
mov eax, dword [ebp - 0x2fc]
movzx ecx, cl
add eax, ecx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x2e4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetThreadContext]
sub esp, 8
jmp 0x1000dbfb
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0xc]
cmp eax, ecx
jb 0x1000dbf6
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x10]
movzx edx, byte [edx + 0x36]
add ecx, edx
cmp eax, ecx
jae 0x1000dbf6
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0xc]
sub eax, ecx
movzx eax, al
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1000dec0
mov ecx, eax
mov eax, dword [ebp - 0x300]
add eax, ecx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x2e4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetThreadContext]
sub esp, 8
jmp 0x1000dbfb
jmp 0x1000dc00
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
jmp 0x1000dac2
jmp 0x1000dc12
jmp 0x1000dc17
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
jmp 0x1000da81
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x2e8], eax
mov eax, dword [0x10032d58]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1000dd12
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
movzx edx, byte [eax + 0x36]
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x2ec]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + 0x36]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebp - 0x2e8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
sub esp, 0xc
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
je 0x1000dcd9
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x10], 0
je 0x1000dcd9
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call fcn.1000d860
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], 0
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x304], eax
cmp eax, 0
je 0x1000dd04
mov eax, dword [ebp - 0x304]
mov dword [esp], eax
call fcn.100177e6
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0xc], eax
jmp 0x1000dc38
mov dword [0x10032d58], 0
cmp dword [ebp - 0x14], 0
je 0x1000dd38
cmp dword [0x10032d50], 0
jne 0x1000dd38
call fcn.1000df30
call fcn.1000d8b0
mov eax, dword [0x10032d5c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x1000dd9a
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
sub esp, 4
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x308], eax
cmp eax, 0
je 0x1000dd8c
mov eax, dword [ebp - 0x308]
mov dword [esp], eax
call fcn.100177e6
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x10], eax
jmp 0x1000dd45
mov dword [0x10032d5c], 0
mov dword [0x10032d54], 0
cmp dword [ebp + 8], 0
je 0x1000ddc3
mov ecx, dword [0x10032d60]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [0x10032d64]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
add esp, 0x314
pop esi
pop ebp
ret 4