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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
mov eax, dword [0x101a4c2c]
xor eax, esp
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [esp + 0x14], eax
lea edi, [esp + 0x3c]
mov eax, dword [ebp + 0x20]
xor ebx, ebx
push 8
mov dword [esp + 0x28], eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x14], edx
pop ecx
rep stosd dword es:[edi], eax
test edx, edx
je 0x100f7b3f
cmp dword [esp + 0x14], eax
je 0x100f7b3f
cmp dword [ebp + 0xc], eax
jbe 0x100f7b3f
cmp dword [ebp + 0x18], eax
jne 0x100f7b58
cmp dword [ebp + 0x14], eax
je 0x100f7b5d
mov eax, 0x80070057
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10166ce0
mov esp, ebp
pop ebp
ret 0x1c
cmp dword [ebp + 0x14], eax
jbe 0x100f7b3f
cmp dword [esp + 0x24], eax
je 0x100f7b3f
cmp dword [ebp + 0x1c], eax
jbe 0x100f7b3f
mov ecx, dword [esp + 0x10]
xor edx, edx
push 0
call fcn.100ff4d0
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x100f81d0
mov ecx, edi
call fcn.100e1bc9
test eax, eax
je 0x100f81bf
mov ecx, dword [esp + 0x10]
push 2
pop edx
call fcn.1010c57f
mov esi, eax
test esi, esi
je 0x100f81bf
mov edx, dword [esi + 0x1c]
mov ecx, edi
push 1
push 0
push dword [esp + 0x1c]
call fcn.100fed27
test eax, eax
je 0x100f81bf
mov ecx, edi
call fcn.100fef2a
test eax, eax
je 0x100f81bf
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.100ff013
mov ecx, dword [edi + 0x18]
push dword [edi + 0x38]
mov ecx, dword [ecx + 0x14]
call fcn.1010b537
mov dword [esp + 0x38], eax
test eax, eax
je 0x100f81d0
mov ecx, dword [edi + 0x28]
mov esi, dword [ecx + 4]
cmp esi, 8
jbe 0x100f7c15
push edi
call fcn.100ff470
jmp 0x100f81d0
test esi, esi
je 0x100f7cd9
add ecx, 0x18
lea eax, [esp + 0x3c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xc]
dec esi
test eax, eax
je 0x100f7cca
and dword [esp + 0x10], 0
mov edx, 0x10024634
push eax
lea eax, [esp + 0x14]
mov ecx, 0x10024684
push eax
call fcn.1010fffd
mov ebx, eax
test ebx, ebx
jns 0x100f7c6c
cmp ebx, 0x80040111
je 0x100f7c68
cmp ebx, 0x80004002
jne 0x100f7cd9
xor ebx, ebx
jmp 0x100f7cc6
cmp dword [0x101a5fc4], 0
mov ecx, dword [esp + 0x10]
je 0x100f7d29
cmp dword [0x101a5fc0], 0
je 0x100f7d29
test ecx, ecx
je 0x100f7d29
push dword [esp + 0x14]
mov edx, ecx
mov ecx, dword [esp + 0x24]
push 0x10024634
push 0x10024684
mov ecx, dword [ecx]
call fcn.1010ff95
test eax, eax
jns 0x100f7cbb
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x20]
add ecx, 0x78
mov dword [esp + 0x20], ecx
test esi, esi
jne 0x100f7c2c
mov ecx, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x2c], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
test ebx, ebx
js 0x100f816d
cmp edx, dword [ecx]
jae 0x100f816d
mov edx, dword [eax]
mov ecx, 0x10019f6c
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x100f7d31
test si, si
je 0x100f7d25
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x100f7d31
add eax, 4
add ecx, 4
test si, si
jne 0x100f7d03
xor eax, eax
jmp 0x100f7d36
mov eax, dword [esp + 0x14]
mov dword [eax], ecx
jmp 0x100f7cbf
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7f49
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], 0xa
jne 0x100f8168
cmp dword [eax + 0x10], 0x10
jne 0x100f8168
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
xor eax, eax
and dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], eax
cmp dword [esi], eax
jbe 0x100f7dda
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, 0x10019fbc
mov si, word [ecx]
cmp si, word [edx]
jne 0x100f7da7
test si, si
je 0x100f7da3
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x100f7da7
add ecx, 4
add edx, 4
test si, si
jne 0x100f7d81
xor ecx, ecx
jmp 0x100f7dac
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x100f7dc0
cmp dword [eax + 8], 0xa
jne 0x100f7dc0
cmp dword [eax + 0x10], 8
je 0x100f7e42
mov esi, dword [esp + 0x10]
add eax, 0x18
mov ecx, dword [esp + 0x24]
inc esi
mov dword [esp + 0x10], esi
cmp esi, dword [ecx]
jb 0x100f7d7a
mov eax, dword [esp + 0x1c]
mov esi, ecx
mov edx, dword [esp + 0x38]
mov ecx, edi
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x30]
call fcn.100f78a5
test eax, eax
je 0x100f8161
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], eax
cmp dword [esi], eax
jbe 0x100f7e7c
mov esi, dword [esi + 4]
mov eax, dword [esi]
mov edx, 0x10019f90
mov di, word [eax]
cmp di, word [edx]
mov edi, dword [esp + 0x34]
jne 0x100f7e4b
cmp word [eax], cx
je 0x100f7e3e
mov di, word [eax + 2]
cmp di, word [edx + 2]
mov word [esp + 0x20], di
mov edi, dword [esp + 0x34]
jne 0x100f7e4b
add eax, 4
add edx, 4
cmp word [esp + 0x20], cx
jne 0x100f7e0d
xor eax, eax
jmp 0x100f7e50
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x24]
jmp 0x100f7dda
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f7e5a
cmp dword [esi + 8], 2
je 0x100f7e70
mov eax, dword [esp + 0x10]
add esi, 0x18
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edx]
jb 0x100f7e06
jmp 0x100f7e7c
imul ecx, dword [esp + 0x10], 0x18
mov eax, dword [esp + 0x24]
add ecx, dword [eax + 4]
test ebx, ebx
js 0x100f7e96
cmp dword [esp + 0x18], 0
jne 0x100f7e96
test ecx, ecx
je 0x100f7e91
and dword [ecx + 0x10], 0
jmp 0x100f7e96
mov ebx, 0x80004005
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 0x72]
test ax, ax
je 0x100f7ead
lea ecx, [edx + eax]
jmp 0x100f7eaf
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
test ebx, ebx
js 0x100f8140
xor edx, edx
mov dword [esp + 0x1c], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x100f8140
mov esi, dword [esi + edx + 0x34]
mov dword [esp + 0x18], esi
mov esi, dword [esp + eax*4 + 0x3c]
mov dword [esp + 0x30], esi
test esi, esi
je 0x100f7f2c
push dword [esp + 0x28]
mov eax, dword [edi + 0x2c]
mov esi, dword [esi]
push ecx
push dword [esp + 0x20]
movzx ecx, word [eax + 0x46]
push eax
movzx eax, word [eax + 0x44]
add ecx, eax
push ecx
push dword [edi + 0x10]
mov ecx, dword [esi + 0xc]
push dword [esp + 0x48]
call dword [0x101a77c4]
call dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x20]
add ecx, dword [esp + 0x18]
add edx, 0x78
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
test ebx, ebx
jns 0x100f7ec7
jmp 0x100f8140
mov ecx, 0x10019f10
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x100f7f76
test si, si
je 0x100f7f72
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x100f7f76
add eax, 4
add ecx, 4
test si, si
jne 0x100f7f50
xor eax, eax
jmp 0x100f7f7b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f804c
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], 2
jne 0x100f8168
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 0x72]
test ax, ax
je 0x100f7fa8
lea ecx, [edx + eax]
jmp 0x100f7faa
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
test ebx, ebx
js 0x100f8140
xor edx, edx
mov dword [esp + 0x18], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x100f8140
mov esi, dword [esi + edx + 0x34]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + eax*4 + 0x3c]
mov dword [esp + 0x30], esi
test esi, esi
je 0x100f802b
mov eax, dword [esp + 0x14]
mov edx, dword [edi + 0x2c]
add eax, 0x10
mov esi, dword [esi]
push eax
push ecx
push dword [esp + 0x24]
movzx ecx, word [edx + 0x46]
movzx eax, word [edx + 0x44]
push edx
add ecx, eax
push ecx
push dword [edi + 0x10]
mov ecx, dword [esi + 0x10]
push dword [esp + 0x48]
call dword [0x101a77c4]
call dword [esi + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x28]
add ecx, dword [esp + 0x1c]
add edx, 0x78
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
test ebx, ebx
jns 0x100f7fc2
jmp 0x100f8140
mov eax, 0x10019ef0
mov cx, word [edx]
cmp cx, word [eax]
jne 0x100f8077
test cx, cx
je 0x100f8073
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x100f8077
add edx, 4
add eax, 4
test cx, cx
jne 0x100f8051
xor eax, eax
jmp 0x100f807c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100f8140
mov eax, dword [esp + 0x14]
cmp dword [eax + 8], 2
jne 0x100f8168
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 0x72]
test ax, ax
je 0x100f80a9
lea ecx, [edx + eax]
jmp 0x100f80ab
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
test ebx, ebx
js 0x100f8140
xor edx, edx
mov dword [esp + 0x18], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x100f8140
mov esi, dword [esi + edx + 0x34]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + eax*4 + 0x3c]
mov dword [esp + 0x30], esi
test esi, esi
je 0x100f8128
mov eax, dword [esp + 0x14]
mov edx, dword [edi + 0x2c]
add eax, 0x10
mov esi, dword [esi]
push eax
push ecx
push dword [esp + 0x24]
movzx ecx, word [edx + 0x46]
movzx eax, word [edx + 0x44]
push edx
add ecx, eax
push ecx
push dword [edi + 0x10]
mov ecx, dword [esi + 0x14]
push dword [esp + 0x48]
call dword [0x101a77c4]
call dword [esi + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x28]
add ecx, dword [esp + 0x1c]
add edx, 0x78
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
test ebx, ebx
jns 0x100f80c3
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
inc edx
add eax, 0x18
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], eax
test ebx, ebx
js 0x100f816d
mov ecx, dword [esp + 0x24]
jmp 0x100f7cf2
mov ebx, 0x80004005
jmp 0x100f816d
mov ebx, 0x80070057
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [eax + 4], ecx
jbe 0x100f81a9
mov edx, dword [esp + ecx*4 + 0x3c]
test edx, edx
je 0x100f819c
mov eax, dword [edx]
push edx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101a77c4]
call esi
mov ecx, dword [esp + 0x2c]
and dword [esp + ecx*4 + 0x3c], 0
mov eax, dword [edi + 0x28]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax + 4]
jb 0x100f817b
mov ecx, dword [esp + 0x38]
call fcn.1010b565
push edi
call fcn.100ff470
mov eax, ebx
jmp 0x100f7b44
push edi
call fcn.100ff470
test esi, esi
je 0x100f81d0
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x80004005
jmp 0x100f7b44