Function at 0x100d45d0
Capabilities:
Resume thread

Disassembly:
sub esp, 0x2dc
mov eax, dword [0x101a53c4]
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 0x100d4600
mov ecx, dword [0x102bd1fc]
mov dword [eax], ecx
mov ebx, ebx
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
cmp dword [0x102bd1f4], eax
je 0x100d462b
mov eax, 0x10dd
pop ebp
mov ecx, dword [esp + 0x2d8]
xor ecx, esp
call fcn.100f5016
add esp, 0x2dc
ret 4
cmp dword [0x102bd1f8], ebp
je 0x100d4641
mov edx, edx
call fcn.100d44d0
mov ebx, ebx
jmp 0x100d4948
push ebx
push esi
push edi
push eax
pop eax
mov edi, edi
push eax
pop eax
mov esi, dword [0x102bd204]
cmp esi, ebp
je 0x100d4735
mov ebx, 0xd
lea ecx, [ecx]
cmp dword [esi + 4], ebp
je 0x100d46de
mov eax, dword [esi + 0x10]
mov edx, edx
mov edx, dword [esi + 0x10]
mov edi, dword [edx + 0x20]
push eax
pop eax
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jge 0x100d46b2
lea ecx, [ecx]
mov dword [esp + 0x10], ebp
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x10]
push ecx
push ebp
push eax
add edx, edi
push edx
call fcn.100d51a0
push ebx
pop ebx
cmp dword [esp + 0x10], ebp
jne 0x100d46b2
mov edi, eax
sub edi, dword [esi + 0x10]
push ebx
pop ebx
mov ecx, dword [esi + 0x10]
movzx edx, byte [ecx + 0x17]
cmp edi, edx
jl 0x100d4680
mov eax, dword [esi + 0x10]
movzx ecx, byte [eax + 0x17]
cmp edi, ecx
je 0x100d46d2
mov dword [0x102bd1f8], ebx
push edx
pop edx
mov edx, dword [esi + 8]
mov dword [0x102bd1fc], edx
mov bh, bh
mov ebx, ebx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [eax], ecx
mov cl, cl
jmp 0x100d472b
push ebx
pop ebx
mov ebx, ebx
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 dl, dl
mov byte [eax], 0xe9
add eax, 1
sub ecx, edx
mov dword [eax], ecx
mov eax, eax
mov esi, esi
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0x18]
add eax, 4
cmp eax, ecx
jae 0x100d471c
mov edi, edi
mov byte [eax], 0xcc
add eax, 1
mov ebx, ebx
cmp eax, ecx
jb 0x100d4710
mov al, al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov ah, ah
nop
mov dl, dl
mov esi, dword [esi]
cmp esi, ebp
jne 0x100d4660
mov edi, dword [0x102bd200]
cmp edi, ebp
je 0x100d480f
mov ebp, dword [sym.imp.KERNEL32.DLL_GetThreadContext]
mov ebx, dword [sym.imp.KERNEL32.DLL_SetThreadContext]
nop
mov cl, cl
mov dword [esp + 0x1c], 0x10001
mov ch, ch
mov eax, dword [edi + 4]
lea edx, [esp + 0x1c]
push edx
push eax
call ebp
test eax, eax
je 0x100d4803
mov esi, dword [0x102bd204]
test esi, esi
je 0x100d4803
mov eax, dword [esp + 0xd4]
cmp dword [esi + 4], 0
je 0x100d47be
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jb 0x100d47fd
lea edx, [ecx + 4]
cmp eax, edx
jae 0x100d47fd
sub eax, ecx
mov dword [esp + 0xd4], eax
mov ecx, ecx
mov eax, dword [esi + 0xc]
add dword [esp + 0xd4], eax
mov bl, bl
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
mov esi, esi
jmp 0x100d47f6
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jb 0x100d47fd
mov edx, dword [esi + 0x10]
movzx edx, byte [edx + 0x17]
add edx, ecx
cmp eax, edx
jae 0x100d47fd
sub eax, ecx
mov dword [esp + 0xd4], eax
mov bh, bh
mov eax, dword [esi + 0x10]
add dword [esp + 0xd4], eax
mov bh, bh
mov edx, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push edx
call ebx
push ebx
pop ebx
mov eax, dword [esp + 0xd4]
mov esi, dword [esi]
test esi, esi
jne 0x100d4784
mov edi, dword [edi]
test edi, edi
jne 0x100d4750
xor ebp, ebp
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
mov ebx, eax
mov ch, ch
mov esi, dword [0x102bd204]
cmp esi, ebp
je 0x100d48c6
mov ebp, dword [sym.imp.KERNEL32.DLL_FlushInstructionCache]
lea ecx, [ecx]
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.100a8310
mov cl, cl
mov edx, dword [esi + 0x10]
movzx eax, byte [edx + 0x17]
mov ecx, dword [esi + 0xc]
push eax
push ecx
push ebx
call ebp
mov ah, ah
xor ecx, ecx
cmp dword [esi + 4], ecx
je 0x100d48a9
mov eax, dword [esi + 0x10]
cmp eax, ecx
je 0x100d48a9
mov edx, eax
and edx, 0xffff0000
mov al, al
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
xchg ebx, eax
xchg ebx, eax
mov edi, dword [edx + 8]
mov dword [eax + 0x18], edi
push edx
pop edx
mov dword [edx + 8], eax
mov ebx, ebx
mov al, al
mov dword [esi + 0x10], ecx
mov edi, edi
mov ah, ah
mov edi, dword [esi]
mov dh, dh
push esi
call fcn.100e39f0
add esp, 4
mov ch, ch
mov esi, edi
mov eax, eax
test edi, edi
jne 0x100d4830
xor ebp, ebp
mov dword [0x102bd204], ebp
mov ecx, ecx
mov esi, dword [0x102bd1e8]
cmp esi, ebp
je 0x100d48f5
mov ebp, ebp
lea edx, [esp + 0x14]
push edx
push 0x20
push 0x10000
push esi
call fcn.100a8310
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esi + 4]
cmp esi, ebp
jne 0x100d48d8
nop
mov esi, dword [0x102bd200]
cmp esi, ebp
je 0x100d4924
mov ebx, dword [sym.imp.KERNEL32.DLL_ResumeThread]
mov eax, dword [esi + 4]
push eax
call ebx
push ecx
pop ecx
mov edi, dword [esi]
mov esi, esi
push esi
call fcn.100e39f0
add esp, 4
mov al, al
mov esi, edi
nop
cmp edi, ebp
jne 0x100d4906
mov dword [0x102bd200], ebp
mov dl, dl
mov dword [0x102bd1f4], ebp
mov cl, cl
mov eax, dword [esp + 0x18]
cmp eax, ebp
pop edi
pop esi
pop ebx
je 0x100d4948
mov ecx, dword [0x102bd1fc]
mov dword [eax], ecx
nop
mov ecx, dword [esp + 0x2dc]
mov eax, dword [0x102bd1f8]
pop ebp
xor ecx, esp
call fcn.100f5016
add esp, 0x2dc
ret 4