Function at 0x100c3a60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov edi, dword [ecx]
mov dword [esp], ecx
mov eax, dword [edi + 0x68]
cmp eax, 0x80000000
je 0x100c3add
test eax, eax
jne 0x100c3d0d
test dword [edi + 0x98], 0x7fffffff
jne 0x100c3d2e
cmp dword [edi + 0x74], 0
je 0x100c3aa3
push dword [edi + 0x78]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x80], 0
je 0x100c3ac0
push dword [edi + 0x84]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x8c], 0
je 0x100c3add
push dword [edi + 0x90]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edi + 0xb8]
cmp eax, 0x80000002
jl 0x100c3b02
test eax, eax
je 0x100c3b02
push dword [edi + 0xbc]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edi + 0xc4]
cmp eax, 0x80000002
jl 0x100c3b27
test eax, eax
je 0x100c3b27
push dword [edi + 0xc8]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edi + 0x18]
test eax, eax
je 0x100c3b3e
lock dec dword [eax]
jne 0x100c3b3e
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
call fcn.10016270
mov eax, dword [edi + 0xd0]
cmp eax, 0x80000002
jl 0x100c3b63
test eax, eax
je 0x100c3b63
push dword [edi + 0xd4]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x38], 0
je 0x100c3b7a
push dword [edi + 0x3c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x44], 0
je 0x100c3b91
push dword [edi + 0x48]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebp, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
test ebp, ebp
je 0x100c3bb9
mov esi, ebx
jmp 0x100c3ba6
add esi, 8
dec ebp
je 0x100c3bb9
mov eax, dword [esi]
lock dec dword [eax]
jne 0x100c3ba0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.10016270
jmp 0x100c3ba0
cmp dword [edi + 0x50], 0
je 0x100c3bce
push ebx
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edi + 0x20]
test eax, eax
je 0x100c3be5
lock dec dword [eax]
jne 0x100c3be5
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
call fcn.10016270
mov eax, dword [edi + 0x28]
test eax, eax
je 0x100c3bfc
lock dec dword [eax]
jne 0x100c3bfc
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
call fcn.10016270
mov eax, dword [edi + 0x30]
test eax, eax
je 0x100c3c13
lock dec dword [eax]
jne 0x100c3c13
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
call fcn.10016270
mov eax, dword [edi + 0xdc]
cmp eax, 0x80000002
jl 0x100c3c38
test eax, eax
je 0x100c3c38
push dword [edi + 0xe0]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edi + 0xe8]
cmp eax, 0x80000002
jl 0x100c3c5d
test eax, eax
je 0x100c3c5d
push dword [edi + 0xec]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x5c], 0
je 0x100c3c74
push dword [edi + 0x60]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [edi + 0xac], 0x7fffffff
jne 0x100c3c99
mov eax, dword [edi + 0x16c]
lock dec dword [eax]
je 0x100c3cb8
cmp byte [edi + 0x15c], 2
jne 0x100c3cd0
jmp 0x100c3dc0
push dword [edi + 0xb0]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edi + 0x16c]
lock dec dword [eax]
jne 0x100c3c8b
lea ecx, [edi + 0x16c]
call fcn.100c8490
cmp byte [edi + 0x15c], 2
je 0x100c3dc0
lea ebx, [edi + 0x144]
mov ecx, ebx
call fcn.100c84d0
mov eax, dword [ebx]
lock dec dword [eax]
je 0x100c3d51
mov eax, dword [edi + 0x148]
lock dec dword [eax]
je 0x100c3d63
mov eax, dword [edi + 0x14c]
lock dec dword [eax]
je 0x100c3d79
mov esi, dword [edi + 0x150]
test esi, esi
jne 0x100c3d8e
jmp 0x100c3dc0
push dword [edi + 0x6c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [edi + 0x98], 0x7fffffff
je 0x100c3a8c
push dword [edi + 0x9c]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [edi + 0x74], 0
jne 0x100c3a92
jmp 0x100c3aa3
mov ecx, ebx
call fcn.100c8490
mov eax, dword [edi + 0x148]
lock dec dword [eax]
jne 0x100c3cef
mov ecx, dword [edi + 0x148]
call fcn.100c8810
mov eax, dword [edi + 0x14c]
lock dec dword [eax]
jne 0x100c3cfa
mov ecx, dword [edi + 0x14c]
call fcn.100c8890
mov esi, dword [edi + 0x150]
test esi, esi
je 0x100c3dc0
push dword [edi + 0x158]
call dword [sym.imp.kernel32.dll_CloseHandle]
lock dec dword [esi]
jne 0x100c3daa
mov ecx, dword [edi + 0x150]
call fcn.10042260
mov eax, dword [edi + 0x154]
lock dec dword [eax]
jne 0x100c3dc0
lea ecx, [edi + 0x154]
call fcn.100c88b0
mov ebp, dword [edi + 0x168]
mov ebx, dword [edi + 0x164]
test ebp, ebp
je 0x100c3df9
lea esi, [ebx + 0x10]
jmp 0x100c3de6
add esi, 0x18
dec ebp
je 0x100c3df9
mov eax, dword [esi]
lock dec dword [eax]
jne 0x100c3de0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.10016270
jmp 0x100c3de0
cmp dword [edi + 0x160], 0
je 0x100c3e11
push ebx
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
add edi, 0x108
mov ecx, edi
call fcn.10016490
mov eax, dword [esp]
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x100c3e3d
lock dec dword [eax + 4]
jne 0x100c3e3d
push eax
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret