Function at 0x100f37d0
Capabilities:
Resume thread

Disassembly:
sub esp, 0x2dc
mov eax, dword [0x101cf40c]
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 0x100f3800
mov ecx, dword [0x102e72d4]
mov dword [eax], ecx
mov edx, edx
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp dword [0x102e72cc], eax
je 0x100f382b
mov eax, 0x10dd
pop ebp
mov ecx, dword [esp + 0x2d8]
xor ecx, esp
call fcn.101179ba
add esp, 0x2dc
ret 4
cmp dword [0x102e72d0], ebp
je 0x100f3841
mov ah, ah
call fcn.100f36d0
mov al, al
jmp 0x100f3b49
push ebx
push esi
push edi
mov cl, cl
mov dh, dh
mov dh, dh
mov esi, dword [0x102e72dc]
cmp esi, ebp
je 0x100f3936
mov ebx, 0xd
lea ecx, [ecx]
cmp dword [esi + 4], ebp
je 0x100f38de
mov eax, dword [esi + 0x10]
mov bh, bh
mov edx, dword [esi + 0x10]
mov edi, dword [edx + 0x20]
push edx
pop edx
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jge 0x100f38b2
lea ecx, [ecx]
mov dword [esp + 0x10], ebp
mov edx, edx
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x10]
push ecx
push ebp
push eax
add edx, edi
push edx
call fcn.100f43a0
mov ebp, ebp
cmp dword [esp + 0x10], ebp
jne 0x100f38b2
mov edi, eax
sub edi, dword [esi + 0x10]
mov cl, cl
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jl 0x100f3880
mov eax, dword [esi + 0x10]
movzx ecx, byte [eax + 0x17]
cmp edi, ecx
je 0x100f38d2
mov dword [0x102e72d0], ebx
mov dh, dh
mov edx, dword [esi + 8]
mov dword [0x102e72d4], edx
push ecx
pop ecx
mov eax, eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
mov ah, ah
jmp 0x100f392c
mov eax, eax
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
add eax, dword [esi + 0xc]
lea edx, [eax + 5]
nop
mov byte [eax], 0xe9
add eax, 1
sub ecx, edx
mov dword [eax], ecx
nop
mov cl, cl
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x18]
add eax, 4
cmp eax, ecx
jae 0x100f391c
jmp 0x100f3910
mov byte [eax], 0xcc
add eax, 1
mov bl, bl
cmp eax, ecx
jb 0x100f3910
mov ecx, ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ebp, ebp
xchg ebx, eax
xchg ebx, eax
push ebx
pop ebx
mov esi, dword [esi]
cmp esi, ebp
jne 0x100f3860
mov edi, dword [0x102e72d8]
cmp edi, ebp
je 0x100f3a0f
mov ebp, dword [sym.imp.KERNEL32.DLL_GetThreadContext]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetThreadContext]
push ecx
pop ecx
mov dword [esp + 0x1c], 0x10001
mov ah, ah
mov eax, dword [edi + 4]
lea edx, [esp + 0x1c]
push edx
push eax
call ebp
test eax, eax
je 0x100f3a03
mov esi, dword [0x102e72dc]
test esi, esi
je 0x100f3a03
mov eax, dword [esp + 0xd4]
cmp dword [esi + 4], 0
je 0x100f39be
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jb 0x100f39fd
lea edx, [ecx + 4]
cmp eax, edx
jae 0x100f39fd
sub eax, ecx
mov dword [esp + 0xd4], eax
mov edx, edx
mov eax, dword [esi + 0xc]
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
mov ecx, ecx
jmp 0x100f39f6
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jb 0x100f39fd
mov edx, dword [esi + 0x10]
movzx edx, byte [edx + 0x17]
add edx, ecx
cmp eax, edx
jae 0x100f39fd
sub eax, ecx
mov dword [esp + 0xd4], eax
mov al, al
mov eax, dword [esi + 0x10]
add dword [esp + 0xd4], eax
mov esi, esi
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
mov esi, esi
mov eax, dword [esp + 0xd4]
mov esi, dword [esi]
test esi, esi
jne 0x100f3984
mov edi, dword [edi]
test edi, edi
jne 0x100f3950
xor ebp, ebp
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov ebx, eax
mov ch, ch
mov esi, dword [0x102e72dc]
cmp esi, ebp
je 0x100f3ac4
mov ebp, dword [sym.imp.KERNEL32.DLL_FlushInstructionCache]
lea ecx, [ecx]
mov 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.100c6980
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 dh, dh
xor ecx, ecx
cmp dword [esi + 4], ecx
je 0x100f3aa8
mov eax, dword [esi + 0x10]
cmp eax, ecx
je 0x100f3aa8
mov edx, eax
and edx, 0xffff0000
nop
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
push eax
pop eax
mov edi, dword [edx + 8]
mov dword [eax + 0x18], edi
push ebx
pop ebx
mov dword [edx + 8], eax
mov ah, ah
mov esi, esi
mov dword [esi + 0x10], ecx
mov al, al
mov ah, ah
mov edi, dword [esi]
mov ebx, ebx
push esi
call fcn.1010638b
add esp, 4
nop
mov esi, edi
mov bl, bl
test edi, edi
jne 0x100f3a30
xor ebp, ebp
mov dword [0x102e72dc], ebp
mov dl, dl
mov esi, dword [0x102e72c0]
cmp esi, ebp
je 0x100f3af3
mov ebx, ebx
lea edx, [esp + 0x14]
push edx
push 0x20
push 0x10000
push esi
call fcn.100c6980
mov ebx, ebx
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x100f3ad6
mov eax, eax
mov esi, dword [0x102e72d8]
cmp esi, ebp
je 0x100f3b24
mov ebx, dword [sym.imp.KERNEL32.DLL_ResumeThread]
mov eax, dword [esi + 4]
push eax
call ebx
mov edx, edx
mov edi, dword [esi]
xchg ebx, eax
xchg ebx, eax
push esi
call fcn.1010638b
add esp, 4
mov bl, bl
mov esi, edi
mov ebx, ebx
cmp edi, ebp
jne 0x100f3b05
mov dword [0x102e72d8], ebp
mov edi, edi
mov dword [0x102e72cc], ebp
mov ebx, ebx
mov eax, dword [esp + 0x18]
cmp eax, ebp
pop edi
pop esi
pop ebx
je 0x100f3b49
mov ecx, dword [0x102e72d4]
mov dword [eax], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x2dc]
mov eax, dword [0x102e72d0]
pop ebp
xor ecx, esp
call fcn.101179ba
add esp, 0x2dc
ret 4