Function at 0x100f7130
Capabilities:
Resume thread

Disassembly:
sub esp, 0x2dc
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x2e0]
push ebp
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0xc], eax
je 0x100f7160
mov ecx, dword [0x102e407c]
mov dword [eax], ecx
push eax
pop eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp dword [0x102e4074], eax
je 0x100f718b
mov eax, 0x10dd
pop ebp
mov ecx, dword [esp + 0x2d8]
xor ecx, esp
call fcn.10117937
add esp, 0x2dc
ret 4
cmp dword [0x102e4078], ebp
je 0x100f71a1
mov ecx, ecx
call fcn.100f7030
mov bl, bl
jmp 0x100f74ab
push ebx
push esi
push edi
mov dl, dl
mov bh, bh
mov bl, bl
mov esi, dword [0x102e4084]
cmp esi, ebp
je 0x100f7294
mov ebx, 0xd
lea ecx, [ecx]
cmp dword [esi + 4], ebp
je 0x100f723d
mov eax, dword [esi + 0x10]
mov ebp, ebp
mov edx, dword [esi + 0x10]
mov edi, dword [edx + 0x20]
mov ch, ch
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jge 0x100f7211
lea ecx, [ecx]
mov dword [esp + 0x10], ebp
mov ecx, ecx
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x10]
push ecx
push ebp
push eax
add edx, edi
push edx
call fcn.100f7c00
nop
cmp dword [esp + 0x10], ebp
jne 0x100f7211
mov edi, eax
sub edi, dword [esi + 0x10]
mov ebx, ebx
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jl 0x100f71e0
mov eax, dword [esi + 0x10]
movzx ecx, byte [eax + 0x17]
cmp edi, ecx
je 0x100f7231
mov dword [0x102e4078], ebx
mov esi, esi
mov edx, dword [esi + 8]
mov dword [0x102e407c], edx
mov ebp, ebp
mov ah, ah
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
mov dl, dl
jmp 0x100f728a
mov edx, edx
mov ch, ch
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add eax, dword [esi + 0xc]
lea edx, [eax + 5]
mov cl, cl
mov byte [eax], 0xe9
add eax, 1
sub ecx, edx
mov dword [eax], ecx
mov esi, esi
push ebx
pop ebx
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x18]
add eax, 4
cmp eax, ecx
jae 0x100f727c
lea ecx, [ecx]
mov byte [eax], 0xcc
add eax, 1
push eax
pop eax
cmp eax, ecx
jb 0x100f7270
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
nop
push ecx
pop ecx
mov bl, bl
mov esi, dword [esi]
cmp esi, ebp
jne 0x100f71c0
mov edi, dword [0x102e4080]
cmp edi, ebp
je 0x100f736e
mov ebp, dword [sym.imp.KERNEL32.DLL_GetThreadContext]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetThreadContext]
mov edi, edi
mov esi, esi
mov dword [esp + 0x1c], 0x10001
mov ecx, ecx
mov eax, dword [edi + 4]
lea edx, [esp + 0x1c]
push edx
push eax
call ebp
test eax, eax
je 0x100f7362
mov esi, dword [0x102e4084]
test esi, esi
je 0x100f7362
mov eax, dword [esp + 0xd4]
cmp dword [esi + 4], 0
je 0x100f731e
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jb 0x100f735c
lea edx, [ecx + 4]
cmp eax, edx
jae 0x100f735c
sub eax, ecx
mov dword [esp + 0xd4], eax
mov cl, cl
mov eax, dword [esi + 0xc]
add dword [esp + 0xd4], eax
mov cl, cl
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
mov bl, bl
jmp 0x100f7355
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jb 0x100f735c
mov edx, dword [esi + 0x10]
movzx edx, byte [edx + 0x17]
add edx, ecx
cmp eax, edx
jae 0x100f735c
sub eax, ecx
mov dword [esp + 0xd4], eax
mov cl, cl
mov eax, dword [esi + 0x10]
add dword [esp + 0xd4], eax
xchg ebx, eax
xchg ebx, eax
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
nop
mov eax, dword [esp + 0xd4]
mov esi, dword [esi]
test esi, esi
jne 0x100f72e4
mov edi, dword [edi]
test edi, edi
jne 0x100f72b0
xor ebp, ebp
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov ebx, eax
mov bl, bl
mov esi, dword [0x102e4084]
cmp esi, ebp
je 0x100f7426
mov ebp, dword [sym.imp.KERNEL32.DLL_FlushInstructionCache]
lea esp, [esp]
mov bh, bh
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x10]
push eax
movzx eax, byte [edx + 0x17]
push ecx
mov ecx, dword [esi + 0xc]
push eax
push ecx
call fcn.100c8760
mov esi, esi
mov edx, dword [esi + 0x10]
movzx eax, byte [edx + 0x17]
mov ecx, dword [esi + 0xc]
push eax
push ecx
push ebx
call ebp
mov dl, dl
xor ecx, ecx
cmp dword [esi + 4], ecx
je 0x100f7409
mov eax, dword [esi + 0x10]
cmp eax, ecx
je 0x100f7409
mov edx, eax
and edx, 0xffff0000
mov esi, esi
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov ebp, ebp
mov edi, dword [edx + 8]
mov dword [eax + 0x18], edi
mov ah, ah
mov dword [edx + 8], eax
push ebx
pop ebx
xchg ebx, eax
xchg ebx, eax
mov dword [esi + 0x10], ecx
push ecx
pop ecx
mov cl, cl
mov edi, dword [esi]
push edx
pop edx
push esi
call fcn.1010959d
add esp, 4
mov bh, bh
mov esi, edi
push ecx
pop ecx
test edi, edi
jne 0x100f7390
xor ebp, ebp
mov dword [0x102e4084], ebp
mov al, al
mov esi, dword [0x102e4068]
cmp esi, ebp
je 0x100f7455
mov bh, bh
lea edx, [esp + 0x14]
push edx
push 0x20
push 0x10000
push esi
call fcn.100c8760
push eax
pop eax
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x100f7438
push edx
pop edx
mov esi, dword [0x102e4080]
cmp esi, ebp
je 0x100f7486
mov ebx, dword [sym.imp.KERNEL32.DLL_ResumeThread]
mov eax, dword [esi + 4]
push eax
call ebx
mov al, al
mov edi, dword [esi]
mov edx, edx
push esi
call fcn.1010959d
add esp, 4
mov cl, cl
mov esi, edi
push eax
pop eax
cmp edi, ebp
jne 0x100f7467
mov dword [0x102e4080], ebp
push edx
pop edx
mov dword [0x102e4074], ebp
push ecx
pop ecx
mov eax, dword [esp + 0x18]
cmp eax, ebp
pop edi
pop esi
pop ebx
je 0x100f74ab
mov ecx, dword [0x102e407c]
mov dword [eax], ecx
push ebx
pop ebx
mov ecx, dword [esp + 0x2dc]
mov eax, dword [0x102e4078]
pop ebp
xor ecx, esp
call fcn.10117937
add esp, 0x2dc
ret 4