Function at 0x100f6310
Capabilities:
Resume thread

Disassembly:
sub esp, 0x2dc
mov eax, dword [0x101ce2ac]
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 0x100f6340
mov ecx, dword [0x101e74dc]
mov dword [eax], ecx
mov edx, edx
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp dword [0x101e74d4], eax
je 0x100f636b
mov eax, 0x10dd
pop ebp
mov ecx, dword [esp + 0x2d8]
xor ecx, esp
call fcn.10116cb9
add esp, 0x2dc
ret 4
cmp dword [0x101e74d8], ebp
je 0x100f6381
mov eax, eax
call fcn.100f6210
mov eax, eax
jmp 0x100f668e
push ebx
push esi
push edi
test edi, edi
mov cl, cl
test cl, cl
mov esi, dword [0x101e74e4]
cmp esi, ebp
je 0x100f6476
mov ebx, 0xd
lea ecx, [ecx]
cmp dword [esi + 4], ebp
je 0x100f641e
mov eax, dword [esi + 0x10]
mov edi, edi
mov edx, dword [esi + 0x10]
mov edi, dword [edx + 0x20]
mov al, al
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jge 0x100f63f2
lea ecx, [ecx]
mov dword [esp + 0x10], ebp
test bh, bh
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x10]
push ecx
push ebp
push eax
add edx, edi
push edx
call fcn.100f6e20
mov ebp, ebp
cmp dword [esp + 0x10], ebp
jne 0x100f63f2
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 0x100f63c0
mov eax, dword [esi + 0x10]
movzx ecx, byte [eax + 0x17]
cmp edi, ecx
je 0x100f6412
mov dword [0x101e74d8], ebx
test ecx, ecx
mov edx, dword [esi + 8]
mov dword [0x101e74dc], edx
mov esi, esi
mov bh, bh
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
test bh, bh
jmp 0x100f646c
mov dh, dh
mov dl, dl
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add eax, dword [esi + 0xc]
lea edx, [eax + 5]
push eax
pop eax
mov byte [eax], 0xe9
add eax, 1
sub ecx, edx
mov dword [eax], ecx
mov ah, ah
push eax
pop eax
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x18]
add eax, 4
cmp eax, ecx
jae 0x100f645c
mov edi, edi
mov byte [eax], 0xcc
add eax, 1
push ebx
pop ebx
cmp eax, ecx
jb 0x100f6450
test bh, bh
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov eax, eax
mov eax, eax
test ch, ch
mov esi, dword [esi]
cmp esi, ebp
jne 0x100f63a0
mov edi, dword [0x101e74e0]
cmp edi, ebp
je 0x100f654f
mov ebp, dword [sym.imp.KERNEL32.DLL_GetThreadContext]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetThreadContext]
test bh, bh
mov dword [esp + 0x1c], 0x10001
mov ebp, ebp
mov eax, dword [edi + 4]
lea edx, [esp + 0x1c]
push edx
push eax
call ebp
test eax, eax
je 0x100f6543
mov esi, dword [0x101e74e4]
test esi, esi
je 0x100f6543
mov eax, dword [esp + 0xd4]
cmp dword [esi + 4], 0
je 0x100f64fe
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jb 0x100f653d
lea edx, [ecx + 4]
cmp eax, edx
jae 0x100f653d
sub eax, ecx
mov dword [esp + 0xd4], eax
test edx, edx
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
test ebx, ebx
jmp 0x100f6536
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jb 0x100f653d
mov edx, dword [esi + 0x10]
movzx edx, byte [edx + 0x17]
add edx, ecx
cmp eax, edx
jae 0x100f653d
sub eax, ecx
mov dword [esp + 0xd4], eax
mov edx, edx
mov eax, dword [esi + 0x10]
add dword [esp + 0xd4], eax
mov ah, ah
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
mov edi, edi
mov eax, dword [esp + 0xd4]
mov esi, dword [esi]
test esi, esi
jne 0x100f64c4
mov edi, dword [edi]
test edi, edi
jne 0x100f6490
xor ebp, ebp
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov ebx, eax
test eax, eax
mov esi, dword [0x101e74e4]
cmp esi, ebp
je 0x100f6606
mov ebp, dword [sym.imp.KERNEL32.DLL_FlushInstructionCache]
lea ecx, [ecx]
test bl, bl
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.100c8230
test bh, bh
mov edx, dword [esi + 0x10]
movzx eax, byte [edx + 0x17]
mov ecx, dword [esi + 0xc]
push eax
push ecx
push ebx
call ebp
mov esi, esi
xor ecx, ecx
cmp dword [esi + 4], ecx
je 0x100f65e9
mov eax, dword [esi + 0x10]
cmp eax, ecx
je 0x100f65e9
mov edx, eax
and edx, 0xffff0000
push ecx
pop ecx
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
test edx, edx
mov edi, dword [edx + 8]
mov dword [eax + 0x18], edi
mov cl, cl
mov dword [edx + 8], eax
test edi, edi
test dh, dh
mov dword [esi + 0x10], ecx
test esi, esi
mov ebx, ebx
mov edi, dword [esi]
push ebx
pop ebx
push esi
call fcn.1010568b
add esp, 4
test ebx, ebx
mov esi, edi
mov ch, ch
test edi, edi
jne 0x100f6570
xor ebp, ebp
mov dword [0x101e74e4], ebp
mov ch, ch
mov esi, dword [0x101e74c8]
cmp esi, ebp
je 0x100f6635
mov ebp, ebp
lea edx, [esp + 0x14]
push edx
push 0x20
push 0x10000
push esi
call fcn.100c8230
mov al, al
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x100f6618
mov bh, bh
mov esi, dword [0x101e74e0]
cmp esi, ebp
je 0x100f6669
mov ebx, dword [sym.imp.KERNEL32.DLL_ResumeThread]
mov eax, dword [esi + 4]
push eax
call ebx
mov dh, dh
mov edi, dword [esi]
test eax, 0x26a5
push esi
call fcn.1010568b
add esp, 4
mov al, al
mov esi, edi
push ebx
pop ebx
cmp edi, ebp
jne 0x100f6647
mov dword [0x101e74e0], ebp
mov ebx, ebx
mov dword [0x101e74d4], ebp
mov ebp, ebp
mov eax, dword [esp + 0x18]
cmp eax, ebp
pop edi
pop esi
pop ebx
je 0x100f668e
mov ecx, dword [0x101e74dc]
mov dword [eax], ecx
mov dl, dl
mov ecx, dword [esp + 0x2dc]
mov eax, dword [0x101e74d8]
pop ebp
xor ecx, esp
call fcn.10116cb9
add esp, 0x2dc
ret 4