Function at 0x100fffda
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 [0x101d5abc]
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 + 0x20], eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x28], edx
pop ecx
rep stosd dword es:[edi], eax
test edx, edx
je 0x10100030
cmp dword [esp + 0xc], eax
je 0x10100030
cmp dword [ebp + 0xc], eax
jbe 0x10100030
cmp dword [ebp + 0x18], eax
jne 0x10100049
cmp dword [ebp + 0x14], eax
je 0x1010004e
mov eax, 0x80070057
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101885f0
mov esp, ebp
pop ebp
ret 0x1c
cmp dword [ebp + 0x14], eax
jbe 0x10100030
cmp dword [esp + 0x1c], eax
je 0x10100030
cmp dword [ebp + 0x1c], eax
jbe 0x10100030
mov ecx, dword [esp + 0x24]
xor edx, edx
push 0
call fcn.10109e4c
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x101006c4
mov ecx, edi
call fcn.101092d1
test eax, eax
je 0x101006b3
mov ecx, dword [esp + 0x24]
push 2
pop edx
call fcn.101341c4
mov esi, eax
test esi, esi
je 0x101006b3
mov edx, dword [esi + 0x1c]
mov ecx, edi
push 1
push 0
push dword [esp + 0x14]
call fcn.10108cf3
test eax, eax
je 0x101006b3
mov ecx, edi
call fcn.101093c2
test eax, eax
je 0x101006b3
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.1010968e
mov ecx, dword [edi + 0x18]
push dword [edi + 0x38]
mov ecx, dword [ecx + 0x14]
call fcn.10133764
mov dword [esp + 0x24], eax
test eax, eax
je 0x101006c4
mov ecx, dword [edi + 0x28]
mov esi, dword [ecx + 4]
cmp esi, 8
jbe 0x10100106
push edi
call fcn.10109de0
jmp 0x101006c4
test esi, esi
je 0x101001cb
add ecx, 0x18
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xc]
dec esi
test eax, eax
je 0x101001bc
and dword [esp + 0xc], 0
push eax
lea eax, [esp + 0x10]
push eax
push 0x10028ecc
push ecx
mov ecx, 0x10028f1c
call fcn.101381f2
mov ebx, eax
test ebx, ebx
jns 0x1010015e
cmp ebx, 0x80040111
je 0x1010015a
cmp ebx, 0x80004002
jne 0x101001cb
xor ebx, ebx
jmp 0x101001b8
cmp dword [0x101d6f44], 0
mov ecx, dword [esp + 0xc]
je 0x10100222
cmp dword [0x101d6f48], 0
je 0x10100222
test ecx, ecx
je 0x10100222
push dword [esp + 0x14]
mov edx, ecx
mov ecx, dword [esp + 0x14]
push 0x10028ecc
push 0x10028f1c
mov ecx, dword [ecx]
call fcn.1013819b
test eax, eax
jns 0x101001ad
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
add ecx, 0x78
mov dword [esp + 0x10], ecx
test esi, esi
jne 0x1010011d
mov ecx, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x38], esi
mov edx, dword [ecx + 4]
mov dword [esp + 0x2c], edx
test ebx, ebx
js 0x10100661
lea eax, [edx + 0x10]
mov dword [esp + 0x14], eax
cmp esi, dword [ecx]
jae 0x10100661
mov edx, dword [edx]
mov ecx, 0x1001e8b0
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x1010022a
test si, si
je 0x1010021e
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x1010022a
add eax, 4
add ecx, 4
test si, si
jne 0x101001fc
xor eax, eax
jmp 0x1010022f
mov eax, dword [esp + 0x14]
mov dword [eax], ecx
jmp 0x101001b1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010043e
mov eax, dword [esp + 0x14]
cmp dword [eax - 8], 0xa
jne 0x1010065c
cmp dword [eax], 0x10
jne 0x1010065c
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
xor eax, eax
and dword [esp + 0xc], eax
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], eax
cmp dword [esi], eax
jbe 0x101002d2
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, 0x1001e900
mov si, word [ecx]
cmp si, word [edx]
jne 0x1010029f
test si, si
je 0x1010029b
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1010029f
add ecx, 4
add edx, 4
test si, si
jne 0x10100279
xor ecx, ecx
jmp 0x101002a4
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x101002b8
cmp dword [eax + 8], 0xa
jne 0x101002b8
cmp dword [eax + 0x10], 8
je 0x1010033a
mov esi, dword [esp + 0xc]
add eax, 0x18
mov ecx, dword [esp + 0x1c]
inc esi
mov dword [esp + 0xc], esi
cmp esi, dword [ecx]
jb 0x10100272
mov eax, dword [esp + 0x18]
mov esi, ecx
mov edx, dword [esp + 0x24]
mov ecx, edi
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x28]
call fcn.100ffeea
test eax, eax
je 0x10100655
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xc], eax
cmp dword [esi], eax
jbe 0x10100374
mov esi, dword [esi + 4]
mov eax, dword [esi]
mov edx, 0x1001e8d4
mov di, word [eax]
cmp di, word [edx]
mov edi, dword [esp + 0x34]
jne 0x10100343
cmp word [eax], cx
je 0x10100336
mov di, word [eax + 2]
cmp di, word [edx + 2]
mov word [esp + 0x10], di
mov edi, dword [esp + 0x34]
jne 0x10100343
add eax, 4
add edx, 4
cmp word [esp + 0x10], cx
jne 0x10100305
xor eax, eax
jmp 0x10100348
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x1c]
jmp 0x101002d2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10100352
cmp dword [esi + 8], 2
je 0x10100368
mov eax, dword [esp + 0xc]
add esi, 0x18
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [edx]
jb 0x101002fe
jmp 0x10100374
imul ecx, dword [esp + 0xc], 0x18
mov eax, dword [esp + 0x1c]
add ecx, dword [eax + 4]
cmp dword [esp + 0x28], 0
jne 0x1010038a
test ecx, ecx
je 0x10100385
and dword [ecx + 0x10], 0
jmp 0x1010038a
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 0x101003a1
lea ecx, [edx + eax]
jmp 0x101003a3
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
test ebx, ebx
js 0x1010062f
xor edx, edx
mov dword [esp + 0x18], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x1010062f
mov esi, dword [esi + edx + 0x34]
mov dword [esp + 0x28], esi
mov esi, dword [esp + eax*4 + 0x3c]
mov dword [esp + 0x30], esi
test esi, esi
je 0x10100421
push dword [esp + 0x20]
mov eax, dword [esi]
push ecx
push dword [esp + 0x30]
mov esi, dword [eax + 0xc]
mov eax, dword [edi + 0x2c]
push eax
movzx ecx, word [eax + 0x46]
movzx eax, word [eax + 0x44]
add ecx, eax
push ecx
push dword [edi + 0x10]
mov ecx, esi
push dword [esp + 0x48]
call dword [0x101d880c]
call esi
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 + 0x10]
add ecx, dword [esp + 0x28]
add edx, 0x78
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
test ebx, ebx
jns 0x101003bb
jmp 0x1010062f
mov ecx, 0x1001e7e8
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x1010046b
test si, si
je 0x10100467
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x1010046b
add eax, 4
add ecx, 4
test si, si
jne 0x10100445
xor eax, eax
jmp 0x10100470
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10100532
mov eax, dword [esp + 0x14]
cmp dword [eax - 8], 2
jne 0x1010065c
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 8]
test ax, ax
je 0x1010049d
lea ecx, [edx + eax]
jmp 0x1010049f
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
xor edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x1010062f
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 0x10100515
push dword [esp + 0x14]
mov eax, dword [esi]
push ecx
push dword [esp + 0x20]
mov esi, dword [eax + 0x10]
mov eax, dword [edi + 0x2c]
push eax
movzx ecx, word [eax + 0x46]
movzx eax, word [eax + 0x44]
add ecx, eax
push ecx
push dword [edi + 0x10]
mov ecx, esi
push dword [esp + 0x48]
call dword [0x101d880c]
call esi
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x10]
add ecx, dword [esp + 0x18]
add edx, 0x78
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
test ebx, ebx
jns 0x101004af
jmp 0x1010062f
mov eax, 0x1001e7c8
mov cx, word [edx]
cmp cx, word [eax]
jne 0x1010055d
test cx, cx
je 0x10100559
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x1010055d
add edx, 4
add eax, 4
test cx, cx
jne 0x10100537
xor eax, eax
jmp 0x10100562
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1010062f
mov eax, dword [esp + 0x14]
cmp dword [eax - 8], 2
jne 0x1010065c
mov edx, dword [esp + 0x24]
mov ecx, edi
push eax
call fcn.100fff5d
test eax, eax
je 0x10100655
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 8]
test ax, ax
je 0x101005a3
lea ecx, [edx + eax]
jmp 0x101005a5
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
xor edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x1010062f
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 0x10100617
push dword [esp + 0x14]
mov eax, dword [esi]
push ecx
push dword [esp + 0x20]
mov esi, dword [eax + 0x14]
mov eax, dword [edi + 0x2c]
push eax
movzx ecx, word [eax + 0x46]
movzx eax, word [eax + 0x44]
add ecx, eax
push ecx
push dword [edi + 0x10]
mov ecx, esi
push dword [esp + 0x48]
call dword [0x101d880c]
call esi
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x10]
add ecx, dword [esp + 0x18]
add edx, 0x78
inc eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edx
test ebx, ebx
jns 0x101005b5
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
inc esi
add dword [esp + 0x14], 0x18
add edx, 0x18
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edx
test ebx, ebx
js 0x10100661
mov ecx, dword [esp + 0x1c]
jmp 0x101001eb
mov ebx, 0x80004005
jmp 0x10100661
mov ebx, 0x80070057
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [eax + 4], ecx
jbe 0x1010069d
mov edx, dword [esp + ecx*4 + 0x3c]
test edx, edx
je 0x10100690
mov eax, dword [edx]
push edx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101d880c]
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 0x1010066f
mov ecx, dword [esp + 0x24]
call fcn.10133796
push edi
call fcn.10109de0
mov eax, ebx
jmp 0x10100035
push edi
call fcn.10109de0
test esi, esi
je 0x101006c4
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x80004005
jmp 0x10100035