Function at 0x100d7bb6
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 [0x1019fbfc]
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 + 0xc], eax
lea edi, [esp + 0x3c]
mov eax, dword [ebp + 0x20]
xor ebx, ebx
push 8
mov dword [esp + 0x24], eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x2c], edx
pop ecx
rep stosd dword es:[edi], eax
test edx, edx
je 0x100d7c0c
cmp dword [esp + 0xc], eax
je 0x100d7c0c
cmp dword [ebp + 0xc], eax
jbe 0x100d7c0c
cmp dword [ebp + 0x18], eax
jne 0x100d7c25
cmp dword [ebp + 0x14], eax
je 0x100d7c2a
mov eax, 0x80070057
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101637b0
mov esp, ebp
pop ebp
ret 0x1c
cmp dword [ebp + 0x14], eax
jbe 0x100d7c0c
cmp dword [esp + 0x20], eax
je 0x100d7c0c
cmp dword [ebp + 0x1c], eax
jbe 0x100d7c0c
mov ecx, dword [esp + 0x28]
xor edx, edx
push 0
call fcn.100e0f10
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x100d82ac
mov ecx, edi
call fcn.100e0408
test eax, eax
je 0x100d829b
mov ecx, dword [esp + 0x28]
push 2
pop edx
call fcn.1010a79c
mov esi, eax
test esi, esi
je 0x100d829b
mov edx, dword [esi + 0x1c]
mov ecx, edi
push 1
push 0
push dword [esp + 0x14]
call fcn.100e0080
test eax, eax
je 0x100d829b
mov ecx, edi
call fcn.100e04f3
test eax, eax
je 0x100d829b
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.100e07b7
mov ecx, dword [edi + 0x18]
push dword [edi + 0x38]
mov ecx, dword [ecx + 0x14]
call fcn.1010978e
mov dword [esp + 0x28], eax
test eax, eax
je 0x100d82ac
mov ecx, dword [edi + 0x28]
mov esi, dword [ecx + 4]
cmp esi, 8
jbe 0x100d7ce2
push edi
call fcn.100e0eb0
jmp 0x100d82ac
test esi, esi
je 0x100d7da6
add ecx, 0x18
lea eax, [esp + 0x3c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0xc]
dec esi
test eax, eax
je 0x100d7d97
and dword [esp + 0xc], 0
mov edx, 0x10024a34
push eax
lea eax, [esp + 0x10]
mov ecx, 0x10024a84
push eax
call fcn.1010dfd8
mov ebx, eax
test ebx, ebx
jns 0x100d7d39
cmp ebx, 0x80040111
je 0x100d7d35
cmp ebx, 0x80004002
jne 0x100d7da6
xor ebx, ebx
jmp 0x100d7d93
cmp dword [0x101a0f14], 0
mov ecx, dword [esp + 0xc]
je 0x100d7dfd
cmp dword [0x101a0f10], 0
je 0x100d7dfd
test ecx, ecx
je 0x100d7dfd
push dword [esp + 0x10]
mov edx, ecx
mov ecx, dword [esp + 0x20]
push 0x10024a34
push 0x10024a84
mov ecx, dword [ecx]
call fcn.1010df85
test eax, eax
jns 0x100d7d88
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
add ecx, 0x78
mov dword [esp + 0x1c], ecx
test esi, esi
jne 0x100d7cf9
mov ecx, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x38], esi
mov edx, dword [ecx + 4]
mov dword [esp + 0x2c], edx
test ebx, ebx
js 0x100d8249
lea eax, [edx + 0x10]
mov dword [esp + 0x10], eax
cmp esi, dword [ecx]
jae 0x100d8249
mov edx, dword [edx]
mov ecx, 0x1001a06c
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x100d7e05
test si, si
je 0x100d7df9
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x100d7e05
add eax, 4
add ecx, 4
test si, si
jne 0x100d7dd7
xor eax, eax
jmp 0x100d7e0a
mov eax, dword [esp + 0x10]
mov dword [eax], ecx
jmp 0x100d7d8c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d801c
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], 0xa
jne 0x100d8244
cmp dword [eax], 0x10
jne 0x100d8244
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
xor eax, eax
and dword [esp + 0xc], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], eax
cmp dword [esi], eax
jbe 0x100d7ead
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, 0x1001a0bc
mov si, word [ecx]
cmp si, word [edx]
jne 0x100d7e7a
test si, si
je 0x100d7e76
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x100d7e7a
add ecx, 4
add edx, 4
test si, si
jne 0x100d7e54
xor ecx, ecx
jmp 0x100d7e7f
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x100d7e93
cmp dword [eax + 8], 0xa
jne 0x100d7e93
cmp dword [eax + 0x10], 8
je 0x100d7f15
mov esi, dword [esp + 0xc]
add eax, 0x18
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0xc], esi
cmp esi, dword [ecx]
jb 0x100d7e4d
mov eax, dword [esp + 0x18]
mov esi, ecx
mov edx, dword [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x2c]
call fcn.100d7ad2
test eax, eax
je 0x100d823d
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xc], eax
cmp dword [esi], eax
jbe 0x100d7f4f
mov esi, dword [esi + 4]
mov eax, dword [esi]
mov edx, 0x1001a090
mov di, word [eax]
cmp di, word [edx]
mov edi, dword [esp + 0x34]
jne 0x100d7f1e
cmp word [eax], cx
je 0x100d7f11
mov di, word [eax + 2]
cmp di, word [edx + 2]
mov word [esp + 0x1c], di
mov edi, dword [esp + 0x34]
jne 0x100d7f1e
add eax, 4
add edx, 4
cmp word [esp + 0x1c], cx
jne 0x100d7ee0
xor eax, eax
jmp 0x100d7f23
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x20]
jmp 0x100d7ead
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d7f2d
cmp dword [esi + 8], 2
je 0x100d7f43
mov eax, dword [esp + 0xc]
add esi, 0x18
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [edx]
jb 0x100d7ed9
jmp 0x100d7f4f
imul ecx, dword [esp + 0xc], 0x18
mov eax, dword [esp + 0x20]
add ecx, dword [eax + 4]
test ebx, ebx
js 0x100d7f69
cmp dword [esp + 0x14], 0
jne 0x100d7f69
test ecx, ecx
je 0x100d7f64
and dword [ecx + 0x10], 0
jmp 0x100d7f69
mov ebx, 0x80004005
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 8]
test ax, ax
je 0x100d7f80
lea ecx, [edx + eax]
jmp 0x100d7f82
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], eax
test ebx, ebx
js 0x100d8217
xor edx, edx
mov dword [esp + 0x18], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x100d8217
mov esi, dword [esi + edx + 0x34]
mov dword [esp + 0x14], esi
mov esi, dword [esp + eax*4 + 0x3c]
mov dword [esp + 0x30], esi
test esi, esi
je 0x100d7fff
push dword [esp + 0x24]
mov eax, dword [edi + 0x2c]
mov esi, dword [esi]
push ecx
push dword [esp + 0x1c]
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 [0x101a27b8]
call dword [esi + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x14]
add edx, 0x78
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
test ebx, ebx
jns 0x100d7f9a
jmp 0x100d8217
mov ecx, 0x1001a010
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x100d8049
test si, si
je 0x100d8045
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x100d8049
add eax, 4
add ecx, 4
test si, si
jne 0x100d8023
xor eax, eax
jmp 0x100d804e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d8117
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], 2
jne 0x100d8244
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 8]
test ax, ax
je 0x100d807b
lea ecx, [edx + eax]
jmp 0x100d807d
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
test ebx, ebx
js 0x100d8217
xor edx, edx
mov dword [esp + 0x14], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x100d8217
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 0x100d80fa
push dword [esp + 0x10]
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 + 0x10]
push dword [esp + 0x48]
call dword [0x101a27b8]
call dword [esi + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x24]
add ecx, dword [esp + 0x18]
add edx, 0x78
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
test ebx, ebx
jns 0x100d8095
jmp 0x100d8217
mov eax, 0x10019ff0
mov cx, word [edx]
cmp cx, word [eax]
jne 0x100d8142
test cx, cx
je 0x100d813e
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x100d8142
add edx, 4
add eax, 4
test cx, cx
jne 0x100d811c
xor eax, eax
jmp 0x100d8147
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d8217
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], 2
jne 0x100d8244
mov edx, dword [esp + 0x28]
mov ecx, edi
push eax
call fcn.100d7b3f
test eax, eax
je 0x100d823d
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 8]
test ax, ax
je 0x100d8188
lea ecx, [edx + eax]
jmp 0x100d818a
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
test ebx, ebx
js 0x100d8217
xor edx, edx
mov dword [esp + 0x14], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x100d8217
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 0x100d81ff
push dword [esp + 0x10]
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 + 0x14]
push dword [esp + 0x48]
call dword [0x101a27b8]
call dword [esi + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x24]
add ecx, dword [esp + 0x18]
add edx, 0x78
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
test ebx, ebx
jns 0x100d819e
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
inc esi
add dword [esp + 0x10], 0x18
add edx, 0x18
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edx
test ebx, ebx
js 0x100d8249
mov ecx, dword [esp + 0x20]
jmp 0x100d7dc6
mov ebx, 0x80004005
jmp 0x100d8249
mov ebx, 0x80070057
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [eax + 4], ecx
jbe 0x100d8285
mov edx, dword [esp + ecx*4 + 0x3c]
test edx, edx
je 0x100d8278
mov eax, dword [edx]
push edx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101a27b8]
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 0x100d8257
mov ecx, dword [esp + 0x28]
call fcn.101097ba
push edi
call fcn.100e0eb0
mov eax, ebx
jmp 0x100d7c11
push edi
call fcn.100e0eb0
test esi, esi
je 0x100d82ac
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x80004005
jmp 0x100d7c11