Function at 0x100f67d0
Capabilities:
Resume thread

Disassembly:
sub esp, 0x2dc
mov eax, dword [0x101ce2f4]
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 0x100f6800
mov ecx, dword [0x101e759c]
mov dword [eax], ecx
mov al, al
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp dword [0x101e7594], eax
je 0x100f682b
mov eax, 0x10dd
pop ebp
mov ecx, dword [esp + 0x2d8]
xor ecx, esp
call fcn.1011717a
add esp, 0x2dc
ret 4
cmp dword [0x101e7598], ebp
je 0x100f6841
mov edx, edx
call fcn.100f66d0
test ch, ch
jmp 0x100f6b67
push ebx
push esi
push edi
test eax, eax
test edi, edi
mov ebx, ebx
mov esi, dword [0x101e75a4]
cmp esi, ebp
je 0x100f693c
mov ebx, 0xd
lea ecx, [ecx]
cmp dword [esi + 4], ebp
je 0x100f68dc
mov eax, dword [esi + 0x10]
mov ecx, ecx
mov edx, dword [esi + 0x10]
mov edi, dword [edx + 0x20]
test esi, esi
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jge 0x100f68b2
lea ecx, [ecx]
mov dword [esp + 0x10], ebp
test eax, eax
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x10]
push ecx
push ebp
push eax
add edx, edi
push edx
call fcn.100f72e0
test eax, eax
cmp dword [esp + 0x10], ebp
jne 0x100f68b2
mov edi, eax
sub edi, dword [esi + 0x10]
push edx
pop edx
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jl 0x100f6880
mov eax, dword [esi + 0x10]
movzx ecx, byte [eax + 0x17]
cmp edi, ecx
je 0x100f68d0
mov dword [0x101e7598], ebx
mov al, al
mov edx, dword [esi + 8]
mov dword [0x101e759c], edx
nop
nop
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
test ah, ah
jmp 0x100f6932
mov edx, edx
mov cl, cl
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 al, al
mov ah, ah
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x18]
add eax, 4
cmp eax, ecx
jae 0x100f691c
lea esp, [esp]
mov byte [eax], 0xcc
add eax, 1
mov edx, edx
cmp eax, ecx
jb 0x100f6910
test eax, 0x1606
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
test eax, 0x4e79
test ah, ah
mov dh, dh
mov esi, dword [esi]
cmp esi, ebp
jne 0x100f6860
mov edi, dword [0x101e75a0]
cmp edi, ebp
je 0x100f6a22
mov ebp, dword [sym.imp.KERNEL32.DLL_GetThreadContext]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetThreadContext]
test ah, ah
mov dword [esp + 0x1c], 0x10001
mov dh, dh
mov eax, dword [edi + 4]
lea edx, [esp + 0x1c]
push edx
push eax
call ebp
test eax, eax
je 0x100f6a16
mov esi, dword [0x101e75a4]
test esi, esi
je 0x100f6a16
mov eax, dword [esp + 0xd4]
lea ebx, [ebx]
cmp dword [esi + 4], 0
je 0x100f69cd
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jb 0x100f6a0c
lea edx, [ecx + 4]
cmp eax, edx
jae 0x100f6a0c
sub eax, ecx
mov dword [esp + 0xd4], eax
test ah, ah
mov eax, dword [esi + 0xc]
add dword [esp + 0xd4], eax
test eax, 0x4602
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
push eax
pop eax
jmp 0x100f6a05
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jb 0x100f6a0c
mov edx, dword [esi + 0x10]
movzx edx, byte [edx + 0x17]
add edx, ecx
cmp eax, edx
jae 0x100f6a0c
sub eax, ecx
mov dword [esp + 0xd4], eax
test bh, bh
mov eax, dword [esi + 0x10]
add dword [esp + 0xd4], eax
mov eax, eax
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
mov cl, cl
mov eax, dword [esp + 0xd4]
mov esi, dword [esi]
test esi, esi
jne 0x100f6990
mov edi, dword [edi]
test edi, edi
jne 0x100f6956
xor ebp, ebp
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov ebx, eax
test ecx, ecx
mov esi, dword [0x101e75a4]
cmp esi, ebp
je 0x100f6ad9
mov ebp, dword [sym.imp.KERNEL32.DLL_FlushInstructionCache]
mov ebx, ebx
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.100c8470
push ecx
pop ecx
mov edx, dword [esi + 0x10]
movzx eax, byte [edx + 0x17]
mov ecx, dword [esi + 0xc]
push eax
push ecx
push ebx
call ebp
test eax, eax
xor ecx, ecx
cmp dword [esi + 4], ecx
je 0x100f6ab9
mov eax, dword [esi + 0x10]
cmp eax, ecx
je 0x100f6ab9
mov edx, eax
and edx, 0xffff0000
mov dl, dl
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 al, al
mov edi, dword [edx + 8]
mov dword [eax + 0x18], edi
mov eax, eax
mov dword [edx + 8], eax
push eax
pop eax
test edi, edi
mov dword [esi + 0x10], ecx
mov eax, eax
mov ecx, ecx
mov edi, dword [esi]
mov dl, dl
push esi
call fcn.10105b4b
add esp, 4
mov ebp, ebp
mov esi, edi
test eax, 0x694c
test edi, edi
jne 0x100f6a40
xor ebp, ebp
mov dword [0x101e75a4], ebp
test edi, edi
mov esi, dword [0x101e7588]
cmp esi, ebp
je 0x100f6b0d
jmp 0x100f6af0
test ecx, ecx
lea edx, [esp + 0x14]
push edx
push 0x20
push 0x10000
push esi
call fcn.100c8470
test al, al
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x100f6af0
test al, al
mov esi, dword [0x101e75a0]
cmp esi, ebp
je 0x100f6b3f
mov ebx, dword [sym.imp.KERNEL32.DLL_ResumeThread]
nop
mov eax, dword [esi + 4]
push eax
call ebx
push ebx
pop ebx
mov edi, dword [esi]
test edx, edx
push esi
call fcn.10105b4b
add esp, 4
test esi, esi
mov esi, edi
mov esi, esi
cmp edi, ebp
jne 0x100f6b20
mov dword [0x101e75a0], ebp
mov ebp, ebp
mov dword [0x101e7594], ebp
mov eax, eax
mov eax, dword [esp + 0x18]
cmp eax, ebp
pop edi
pop esi
pop ebx
je 0x100f6b67
mov ecx, dword [0x101e759c]
mov dword [eax], ecx
test eax, 0x71c9
mov ecx, dword [esp + 0x2dc]
mov eax, dword [0x101e7598]
pop ebp
xor ecx, esp
call fcn.1011717a
add esp, 0x2dc
ret 4