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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x10285008]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x101ef747
mov eax, 0x1018
jmp 0x101efa58
mov ecx, edi
call fcn.100d4e03
cmp dword [ebp + 0x24], 0
je 0x101ef75e
push dword [ebp + 0x24]
mov ecx, edi
call fcn.100f8742
mov esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x28]
shr eax, 0x1e
and al, 1
mov dword [edi + 0x14], ebx
mov byte [edi], al
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10], eax
test ebx, ebx
jne 0x101ef783
mov eax, 0x1026
jmp 0x101efa58
xor edx, edx
xor ebx, ebx
inc edx
cmp dword [ebp + 0x24], ebx
jne 0x101ef806
push dword [ebp + 0x20]
mov eax, dword [esi + 4]
mov ecx, edi
push ebx
mov dword [edi + 0x18], eax
call fcn.101f12e2
test eax, eax
jne 0x101efa58
test dword [esi + 0x28], 0x30100
jne 0x101ef803
test byte [esi + 0x28], 0x40
je 0x101ef803
push 0xb
pop eax
cmp word [edi + 0x20], ax
jne 0x101ef803
mov ecx, dword [esp + 0xc]
call fcn.10166cb2
mov dword [esp + 0xc], eax
test eax, eax
je 0x101ef803
mov ecx, dword [eax]
push dword [edi + 0x28]
mov esi, dword [ecx + 0x1dc]
mov ecx, esi
call dword [0x102dc578]
mov ecx, dword [esp + 0x10]
call esi
test eax, eax
je 0x101ef800
push dword [ebp + 0x20]
mov ecx, edi
push 1
call fcn.101eb15b
test eax, eax
jne 0x101efa58
mov esi, dword [ebp + 0x14]
xor edx, edx
inc edx
mov eax, dword [esi + 0x28]
test eax, 0x100
je 0x101ef8bb
push 0x58
pop esi
push esi
lea eax, [esp + 0x2c]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x10]
push 0x21
push esi
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
jne 0x101ef841
mov eax, esi
jmp 0x101ef844
add eax, 2
xor ecx, ecx
mov word [esp + 0x18], cx
lea ecx, [esp + 0x28]
push ecx
push eax
mov eax, dword [edi + 0x14]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
push dword [eax + 0x50]
call dword [sym.imp.dbghelp.dll_SymGetTypeFromNameW]
test eax, eax
je 0x101ef8b1
lea eax, [esp + 0x18]
push eax
push 0xb
pop eax
push eax
mov eax, dword [edi + 0x14]
push dword [esp + 0x34]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
push dword [eax + 0x50]
call dword [sym.imp.dbghelp.dll_SymGetTypeInfo]
test eax, eax
je 0x101ef8b1
lea eax, [esp + 0x18]
mov dword [edi + 0x48], ebx
push eax
mov ecx, edi
mov dword [edi + 0x4c], ebx
call fcn.101ec7b9
test eax, eax
jne 0x101efa58
call fcn.100f87c4
jmp 0x101ef8d8
mov eax, 0x1024
jmp 0x101efa58
test eax, 0x80000
je 0x101ef8cc
mov eax, 0x103b
jmp 0x101efa58
cmp dword [esi + 0x48], 7
jne 0x101ef8df
cmp dword [esi + 8], 0xffffffff
je 0x101ef8df
xor eax, eax
jmp 0x101efa58
mov ecx, 0x4000
test al, 8
je 0x101ef908
push dword [ebp + 0x28]
mov ecx, dword [edi + 0x14]
push dword [esi + 0x40]
call fcn.10164f6c
push 2
pop ecx
mov word [edi + 0x22], cx
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], eax
jmp 0x101ef977
test al, 0x10
je 0x101ef95d
mov ecx, dword [edi + 0x14]
call fcn.10166cb2
test eax, eax
je 0x101ef930
mov eax, dword [eax + 0x24]
cmp dword [eax], 0x14c
jne 0x101ef930
cmp dword [esi + 0x40], 0x7536
jne 0x101ef930
mov byte [edi + 0x24], 1
push dword [ebp + 0x28]
mov ecx, dword [edi + 0x14]
push dword [esi + 0x40]
call fcn.10164f6c
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
push 4
mov dword [edi + 0x38], ecx
mov ecx, dword [edi + 0x44]
mov dword [edi + 0x3c], edx
mov dword [edi + 0x40], eax
pop esi
mov word [edi + 0x22], si
test ecx, ecx
je 0x101ef994
jmp 0x101ef97e
test al, 0x20
je 0x101ef9bf
push 8
pop edx
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov dword [edi + 0x40], ebx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x38], eax
mov word [edi + 0x22], dx
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x101ef991
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x102dc578]
call esi
mov dword [edi + 0x44], ebx
push 4
pop esi
mov ecx, dword [esp + 0x10]
mov eax, 0x10063d70
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x101efa1b
test dx, dx
je 0x101efa22
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x101efa1b
add ecx, esi
add eax, esi
test dx, dx
jne 0x101ef99d
jmp 0x101efa22
test ecx, eax
je 0x101ef9c7
push 0x10
jmp 0x101ef963
test eax, 0x30000
je 0x101ef964
test eax, 0x40000
je 0x101ef9dd
mov eax, dword [esi + 0x30]
mov dword [edi + 0x34], eax
jmp 0x101ef9e0
mov dword [edi + 0x34], ebx
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov dword [edi + 0x3c], ecx
mov ecx, dword [edi + 0x44]
mov word [edi + 0x22], dx
mov dword [edi + 0x38], eax
mov dword [edi + 0x40], ebx
test ecx, ecx
je 0x101efa0d
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x102dc578]
call esi
mov dword [edi + 0x44], ebx
mov eax, 0x2000
or word [edi + 0x22], ax
jmp 0x101ef991
sbb ebx, ebx
xor eax, eax
inc eax
or ebx, eax
test ebx, ebx
jne 0x101efa46
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xc]
call fcn.101ce29a
test eax, eax
je 0x101efa46
cmp dword [esp + 0xc], ebx
je 0x101efa46
mov eax, 0x4000
or word [edi + 0x22], ax
mov ax, word [ebp + 0x18]
mov ecx, edi
push dword [ebp + 0x1c]
or word [edi + 0x22], ax
call fcn.101ec216
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10236010
mov esp, ebp
pop ebp
ret 0x24