Function at 0x1011f0e4
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 + 0x18], 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 + 0x14], edx
pop ecx
rep stosd dword es:[edi], eax
test edx, edx
je 0x1011f13a
cmp dword [esp + 0x18], eax
je 0x1011f13a
cmp dword [ebp + 0xc], eax
jbe 0x1011f13a
cmp dword [ebp + 0x18], eax
jne 0x1011f153
cmp dword [ebp + 0x14], eax
je 0x1011f158
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 0x1011f13a
cmp dword [esp + 0x20], eax
je 0x1011f13a
cmp dword [ebp + 0x1c], eax
jbe 0x1011f13a
mov ecx, dword [esp + 0x10]
xor edx, edx
push 0
call fcn.1012748c
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x1011f7bb
mov ecx, edi
call fcn.101092d1
test eax, eax
je 0x1011f7aa
mov ecx, dword [esp + 0x10]
push 2
pop edx
call fcn.101341c4
mov esi, eax
test esi, esi
je 0x1011f7aa
mov edx, dword [esi + 0x1c]
mov ecx, edi
push 1
push 0
push dword [esp + 0x20]
call fcn.10126a7e
test eax, eax
je 0x1011f7aa
mov ecx, edi
call fcn.10126ecf
test eax, eax
je 0x1011f7aa
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.10126fbe
mov ecx, dword [edi + 0x18]
push dword [edi + 0x38]
mov ecx, dword [ecx + 0x14]
call fcn.10133764
mov dword [esp + 0x38], eax
test eax, eax
je 0x1011f7bb
mov ecx, dword [edi + 0x28]
mov esi, dword [ecx + 4]
cmp esi, 8
jbe 0x1011f210
push edi
call fcn.10127420
jmp 0x1011f7bb
test esi, esi
je 0x1011f2d5
add ecx, 0x18
lea eax, [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0xc]
dec esi
test eax, eax
je 0x1011f2c6
and dword [esp + 0x10], 0
push eax
lea eax, [esp + 0x14]
push eax
push 0x10028ecc
push ecx
mov ecx, 0x10028f1c
call fcn.101381f2
mov ebx, eax
test ebx, ebx
jns 0x1011f268
cmp ebx, 0x80040111
je 0x1011f264
cmp ebx, 0x80004002
jne 0x1011f2d5
xor ebx, ebx
jmp 0x1011f2c2
cmp dword [0x101d6f44], 0
mov ecx, dword [esp + 0x10]
je 0x1011f325
cmp dword [0x101d6f48], 0
je 0x1011f325
test ecx, ecx
je 0x1011f325
push dword [esp + 0x18]
mov edx, ecx
mov ecx, dword [esp + 0x18]
push 0x10028ecc
push 0x10028f1c
mov ecx, dword [ecx]
call fcn.1013819b
test eax, eax
jns 0x1011f2b7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
add ecx, 0x78
mov dword [esp + 0x14], ecx
test esi, esi
jne 0x1011f227
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x2c], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
test ebx, ebx
js 0x1011f758
cmp edx, dword [ecx]
jae 0x1011f758
mov edx, dword [eax]
mov ecx, 0x1001e8b0
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x1011f32d
test si, si
je 0x1011f321
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x1011f32d
add eax, 4
add ecx, 4
test si, si
jne 0x1011f2ff
xor eax, eax
jmp 0x1011f332
mov eax, dword [esp + 0x18]
mov dword [eax], ecx
jmp 0x1011f2bb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1011f542
mov eax, dword [esp + 0x18]
cmp dword [eax + 8], 0xa
jne 0x1011f753
cmp dword [eax + 0x10], 0x10
jne 0x1011f753
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
xor eax, eax
and dword [esp + 0x10], eax
mov dword [esp + 0x28], 1
mov dword [esp + 0x1c], eax
cmp dword [esi], eax
jbe 0x1011f3d6
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, 0x1001e900
mov si, word [ecx]
cmp si, word [edx]
jne 0x1011f3a3
test si, si
je 0x1011f39f
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1011f3a3
add ecx, 4
add edx, 4
test si, si
jne 0x1011f37d
xor ecx, ecx
jmp 0x1011f3a8
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x1011f3bc
cmp dword [eax + 8], 0xa
jne 0x1011f3bc
cmp dword [eax + 0x10], 8
je 0x1011f43e
mov esi, dword [esp + 0x10]
add eax, 0x18
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x10], esi
cmp esi, dword [ecx]
jb 0x1011f376
mov eax, dword [esp + 0x1c]
mov esi, ecx
mov edx, dword [esp + 0x38]
mov ecx, edi
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x2c]
call fcn.1011ee79
test eax, eax
je 0x1011f74c
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], eax
cmp dword [esi], eax
jbe 0x1011f478
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 0x1011f447
cmp word [eax], cx
je 0x1011f43a
mov di, word [eax + 2]
cmp di, word [edx + 2]
mov word [esp + 0x14], di
mov edi, dword [esp + 0x34]
jne 0x1011f447
add eax, 4
add edx, 4
cmp word [esp + 0x14], cx
jne 0x1011f409
xor eax, eax
jmp 0x1011f44c
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x20]
jmp 0x1011f3d6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1011f456
cmp dword [esi + 8], 2
je 0x1011f46c
mov eax, dword [esp + 0x10]
add esi, 0x18
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edx]
jb 0x1011f402
jmp 0x1011f478
imul ecx, dword [esp + 0x10], 0x18
mov eax, dword [esp + 0x20]
add ecx, dword [eax + 4]
cmp dword [esp + 0x28], 0
jne 0x1011f48e
test ecx, ecx
je 0x1011f489
and dword [ecx + 0x10], 0
jmp 0x1011f48e
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 0x1011f4a5
lea ecx, [edx + eax]
jmp 0x1011f4a7
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
test ebx, ebx
js 0x1011f72b
xor edx, edx
mov dword [esp + 0x1c], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x1011f72b
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 0x1011f525
push dword [esp + 0x24]
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 + 0x10]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [esp + 0x28]
add edx, 0x78
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
test ebx, ebx
jns 0x1011f4bf
jmp 0x1011f72b
mov ecx, 0x1001e7e8
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x1011f56f
test si, si
je 0x1011f56b
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x1011f56f
add eax, 4
add ecx, 4
test si, si
jne 0x1011f549
xor eax, eax
jmp 0x1011f574
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1011f63e
mov eax, dword [esp + 0x18]
cmp dword [eax + 8], 2
jne 0x1011f753
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 0x72]
test ax, ax
je 0x1011f5a1
lea ecx, [edx + eax]
jmp 0x1011f5a3
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], ecx
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x1011f72b
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 0x1011f61d
mov eax, dword [esi]
mov edx, dword [edi + 0x2c]
mov esi, dword [eax + 0x10]
mov eax, dword [esp + 0x18]
add eax, 0x10
push eax
movzx eax, word [edx + 0x44]
push ecx
push dword [esp + 0x24]
movzx ecx, word [edx + 0x46]
push edx
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 + 0x10]
mov edx, dword [esp + 0x24]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [esp + 0x1c]
add edx, 0x78
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
test ebx, ebx
jns 0x1011f5b3
jmp 0x1011f72b
mov eax, 0x1001e7c8
mov cx, word [edx]
cmp cx, word [eax]
jne 0x1011f669
test cx, cx
je 0x1011f665
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x1011f669
add edx, 4
add eax, 4
test cx, cx
jne 0x1011f643
xor eax, eax
jmp 0x1011f66e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1011f72b
mov eax, dword [esp + 0x18]
cmp dword [eax + 8], 2
jne 0x1011f753
mov eax, dword [edi + 0x2c]
movzx edx, word [eax + 0x44]
add edx, eax
movzx eax, word [edx + 0x72]
test ax, ax
je 0x1011f69b
lea ecx, [edx + eax]
jmp 0x1011f69d
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x10], ecx
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
mov esi, dword [edi + 0x28]
cmp eax, dword [esi + 4]
jae 0x1011f72b
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 0x1011f713
mov eax, dword [esi]
mov edx, dword [edi + 0x2c]
mov esi, dword [eax + 0x14]
mov eax, dword [esp + 0x18]
add eax, 0x10
push eax
movzx eax, word [edx + 0x44]
push ecx
push dword [esp + 0x24]
movzx ecx, word [edx + 0x46]
push edx
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 + 0x10]
mov edx, dword [esp + 0x24]
lea ebx, [eax + 0x7fffbfff]
neg ebx
sbb ebx, ebx
and ebx, eax
mov eax, dword [esp + 0x14]
add ecx, dword [esp + 0x1c]
add edx, 0x78
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
test ebx, ebx
jns 0x1011f6ad
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
inc edx
add eax, 0x18
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], eax
test ebx, ebx
js 0x1011f758
mov ecx, dword [esp + 0x20]
jmp 0x1011f2ee
mov ebx, 0x80004005
jmp 0x1011f758
mov ebx, 0x80070057
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [eax + 4], ecx
jbe 0x1011f794
mov edx, dword [esp + ecx*4 + 0x3c]
test edx, edx
je 0x1011f787
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 0x1011f766
mov ecx, dword [esp + 0x38]
call fcn.10133796
push edi
call fcn.10127420
mov eax, ebx
jmp 0x1011f13f
push edi
call fcn.10127420
test esi, esi
je 0x1011f7bb
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 0x80004005
jmp 0x1011f13f