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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
or dword [ebp - 4], 0xffffffff
mov eax, edx
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x14], eax
push edi
xor ebx, ebx
mov dword [ebp - 0x18], ecx
push esi
mov dword [ebp - 0xc], esi
inc ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], esi
call fcn.10109e4c
mov edi, eax
mov dword [ebp - 0x24], edi
test edi, edi
je 0x10102440
cmp dword [ebp + 0x14], esi
jne 0x10101e28
mov ecx, dword [edi + 0x10]
push 2
pop edx
call fcn.101341c4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10102440
mov eax, dword [eax + 0x1c]
mov ebx, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
lea ecx, [eax - 1]
movzx esi, cx
neg esi
sbb esi, esi
and esi, ebx
cmp ax, 0x1c
je 0x10101e4f
cmp ax, 7
je 0x10101e4f
cmp ax, 0x16
je 0x10101e4f
cmp ax, 0x1e
jne 0x10101e5e
mov ecx, edi
call fcn.101092d1
test eax, eax
je 0x10102432
mov edx, dword [ebp - 0x10]
xor ebx, ebx
push esi
push ebx
push dword [ebp + 0x14]
mov ecx, edi
call fcn.10108cf3
test eax, eax
je 0x10102432
mov ecx, edi
call fcn.101093c2
test eax, eax
je 0x10102432
push ebx
push ebx
xor edx, edx
mov ecx, edi
call fcn.1010968e
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x38]
push ebx
push 0x200
mov ecx, dword [ecx + 0x14]
call fcn.101338dc
push ebx
push 1
push ebx
xor edx, edx
mov ecx, edi
call fcn.10105326
mov ecx, edi
call fcn.10109757
test eax, eax
je 0x10102432
mov ebx, dword [ebp + 0xc]
mov eax, dword [edi + 0x2c]
mov dword [ebp - 8], eax
test ebx, ebx
je 0x10101f42
mov edx, dword [ebp + 8]
mov ecx, edx
call fcn.10101d7e
test eax, eax
je 0x10101f42
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + 4]
lea esi, [eax + 0x14]
test ecx, ecx
je 0x10101f42
xor eax, eax
dec ecx
mov dword [ebp - 0x10], ecx
cmp dword [esi + 0x10], eax
je 0x10101f37
cmp dword [esi + 0x24], eax
je 0x10101f37
lea eax, [ebp - 4]
mov ecx, esi
push eax
push dword [ebp - 4]
xor eax, eax
push dword [esi + 0x1c]
push dword [ebp - 8]
push eax
push edx
push dword [ebp - 0x14]
mov edx, edi
push dword [ebp - 0x18]
call fcn.100ff189
cmp eax, 0x80004001
je 0x10101f2f
cmp eax, 0x4dc01
je 0x10101f7e
test eax, eax
js 0x10102425
mov edx, dword [ebp + 8]
xor eax, eax
mov ecx, dword [ebp - 0x10]
add esi, 0x78
test ecx, ecx
jne 0x10101eeb
or dword [ebp - 4], 0xffffffff
mov eax, dword [edi + 0x24]
xor edx, edx
mov esi, edx
mov dword [ebp - 0x10], esi
cmp dword [eax + 0x128], edx
jne 0x10101f67
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x10]
push edx
push edx
push eax
call fcn.1013445b
mov esi, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp + 8]
movzx eax, cx
dec eax
cmp eax, 0x22
ja case.0x10101f77.19
jmp dword [eax*4 + 0x10102451]
xor esi, esi
inc esi
or dword [ebp - 4], 0xffffffff
jmp 0x10102341
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x40]
mov dword [ebp - 4], eax
mov esi, edx
jmp 0x10102341
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x42]
jmp 0x10101f91
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x44]
jmp 0x10101f91
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x46]
jmp 0x10101f91
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x48]
jmp 0x10101f91
test ebx, ebx
je 0x10101fc7
xor eax, eax
mov word [ebx], ax
mov dword [ebp - 4], edx
jmp 0x10101f94
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x3c]
mov edx, ecx
mov dword [ebp - 4], ecx
test esi, esi
je 0x10101fed
mov eax, dword [edi + 0x30]
test byte [eax + 0x10], 0x10
jne 0x10101fed
mov eax, 0x270f
cmp ecx, eax
jb 0x10101ffa
mov eax, 0x7fff
cmp edx, eax
jb 0x1010233d
mov dword [ebp - 4], eax
jmp 0x1010233d
mov esi, dword [edi + 0x24]
push edx
mov edx, dword [edi + 0x38]
push 3
push ecx
mov ecx, esi
call fcn.10133978
test eax, eax
je 0x10102030
mov ecx, dword [esi + 0xd4]
test ecx, ecx
je 0x10102030
mov eax, dword [esi + 0x13c]
add eax, ecx
je 0x10102030
xor eax, eax
inc eax
jmp 0x10101ffa
xor eax, eax
jmp 0x10101ffa
mov eax, dword [ebp - 8]
test dword [eax + 0x48], 0x4000
jne 0x10102047
mov eax, edx
jmp 0x10101f91
mov ecx, dword [edi + 0x24]
cmp dword [ecx + 0x128], edx
jne 0x10102063
mov eax, dword [ecx + 0x88]
and eax, 2
or eax, 1
jmp 0x10101f91
xor edx, edx
call fcn.10134aab
xor edx, edx
jmp 0x10101f91
mov ecx, dword [edi + 0x24]
call fcn.101112de
jmp 0x10101ffa
push dword [ebp + 0x10]
push edx
push edx
push edx
mov edx, ebx
mov ecx, edi
call fcn.101025b8
jmp 0x10101ffa
push dword [ebp + 0x10]
push edx
push edx
push ebx
xor edx, edx
jmp 0x10102086
push dword [ebp + 0x10]
push edx
push ebx
push edx
jmp 0x10102098
push ecx
mov ecx, edi
call fcn.1010294d
jmp 0x10101ffa
mov edx, ebx
mov ecx, edi
call fcn.10102aac
jmp 0x10101ffa
mov edx, ebx
mov ecx, edi
call fcn.10102b43
jmp 0x10101ffa
mov edx, ebx
mov ecx, edi
call fcn.10102b99
jmp 0x10101ffa
test esi, esi
je 0x101020ec
mov eax, dword [edi + 0x30]
test byte [eax + 0x10], 0x10
je 0x1010202b
mov esi, dword [edi + 0x24]
push edx
mov edx, dword [edi + 0x38]
push 0xa
push ecx
mov ecx, esi
call fcn.10133978
test eax, eax
je 0x10102030
mov ecx, dword [esi + 0xf0]
jmp 0x1010201d
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x88]
shr eax, 3
and eax, 1
jmp 0x10101f91
mov edx, ebx
mov ecx, edi
call fcn.10102d5a
jmp 0x10101ffa
mov eax, dword [edi + 0x24]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
push ecx
mov ecx, edi
mov edx, dword [eax + 8]
call fcn.101189fb
test eax, eax
je 0x10102030
test ebx, ebx
je 0x1010202b
push 0x20
mov edx, eax
mov ecx, ebx
call fcn.10133d12
jmp 0x1010202b
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x74]
mov dword [ebp - 4], eax
test eax, eax
jne 0x10101f94
or dword [ebp - 4], 0xffffffff
jmp 0x10101f94
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x78]
jmp 0x1010216c
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x7c]
jmp 0x1010216c
mov ecx, edi
call fcn.10102c05
jmp 0x10101ffa
mov eax, dword [edi + 0x24]
cmp dword [eax + 0x128], edx
je 0x101021b7
mov eax, dword [edi + 0x18]
test dword [eax + 0xc], 0x100000
je 0x10102259
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0x28]
call fcn.101463eb
mov esi, eax
mov dword [ebp - 0x28], esi
test esi, esi
je 0x10102257
mov ecx, esi
call fcn.10102c5d
mov dword [ebp - 4], eax
test eax, eax
je 0x1010224b
test ebx, ebx
je 0x1010224b
xor ecx, ecx
mov dword [ebp - 0x1c], esi
mov eax, ecx
mov dword [ebp - 0x10], eax
cmp word [esi], cx
je 0x10102248
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 0x1c]
cmp esi, 0xffffffff
je 0x10102200
cmp esi, 0x40
jl 0x1010223f
push 0x40
mov edx, edi
mov ecx, ebx
call fcn.10133d12
mov ecx, edi
sub ebx, 0xffffff80
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xc]
jne 0x10102213
sub ecx, edx
sar ecx, 1
lea edi, [edi + ecx*2]
add edi, 2
cmp esi, 0xffffffff
je 0x10102231
sub esi, 0x40
mov eax, dword [ebp - 0x10]
xor ecx, ecx
inc eax
mov dword [ebp - 0x10], eax
cmp word [edi], cx
jne 0x101021f6
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
mov dword [ebp + 0xc], ebx
mov dword [ebp - 4], eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1010233d
xor edx, edx
mov dword [ebp - 4], 1
test ebx, ebx
je 0x1010233d
cmp dword [ebp + 0x10], 0xffffffff
je 0x1010227c
cmp dword [ebp + 0x10], 0x40
jge 0x1010227c
mov dword [ebp - 4], edx
jmp 0x1010233d
call fcn.10135d7d
mov ecx, dword [edi + 0x24]
mov edx, dword [ecx + 0x88]
test eax, eax
je 0x1010229d
test edx, 0x400
je 0x101022b8
mov edx, 0x1002a7a8
jmp 0x101022aa
test edx, 0x200
je 0x101022b8
mov edx, 0x1002a7b0
push 0x40
mov ecx, ebx
call fcn.10133d12
jmp 0x1010233d
mov eax, dword [ecx + 0xcc]
test eax, eax
je 0x101022e8
mov edx, dword [ecx + 0x13c]
add edx, eax
je 0x101022e8
push dword [edx + 0x14]
call fcn.101349b5
test eax, eax
je 0x101022e8
push 0x40
push ebx
mov edx, eax
mov ecx, edi
call fcn.10115c45
test eax, eax
jne 0x1010233d
or dword [ebp - 4], 0xffffffff
jmp 0x1010233d
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x28]
push eax
push edx
mov edx, 0x10027f04
call fcn.101348f4
test eax, eax
je 0x10102030
mov edx, dword [edi + 0x38]
push eax
push 0xffff
push ecx
mov ecx, dword [edi + 0x24]
call fcn.10133978
test eax, eax
jmp 0x10102029
push edx
mov edx, ebx
mov ecx, edi
call fcn.10102e34
jmp 0x10101ffa
push ebx
xor edx, edx
jmp 0x10102324
push 0x32
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov esi, eax
mov eax, dword [edi + 0x28]
mov edx, dword [ebp - 4]
mov dword [ebp - 0x28], edx
lea ecx, [eax + 0x14]
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], ecx
test eax, eax
je 0x10102400
dec eax
xor edx, edx
mov dword [ebp - 0x10], eax
cmp dword [ecx + 0x10], edx
je 0x101023ef
mov ebx, dword [ebp - 4]
cmp dword [ecx + 0x24], edx
je 0x101023a7
lea eax, [ebp - 4]
mov edx, edi
push eax
push ebx
push dword [ecx + 0x1c]
mov ebx, dword [ebp + 0xc]
push dword [ebp - 8]
push ebx
push dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.100ff189
cmp eax, 0x80004001
je 0x101023a2
cmp eax, 0x4dc01
jne 0x101023a2
xor esi, esi
inc esi
mov ecx, dword [ebp - 0xc]
jmp 0x101023ec
test byte [ecx + 0x3c], 0x40
je 0x101023b2
mov eax, dword [ecx + 0x58]
jmp 0x101023bd
push 6
pop edx
call fcn.10138916
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x101023e9
push ebx
push dword [ecx + 0x1c]
mov ebx, dword [ebp + 0xc]
mov ecx, eax
push dword [ebp - 8]
push ebx
push dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push edi
call dword [0x101d880c]
call dword [ebp - 0x1c]
mov dword [ebp - 4], eax
jmp 0x101023a2
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
add ecx, 0x78
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x1010235b
mov edx, dword [ebp - 0x28]
test ebx, ebx
jne 0x10102432
mov ebx, dword [ebp - 4]
cmp ebx, 0xffffffff
je 0x10102432
cmp edx, 0xffffffff
je 0x10102432
cmp ebx, edx
jae 0x10102432
mov ecx, dword [ebp + 8]
call fcn.10101d7e
test eax, eax
je 0x10102432
test ebx, ebx
jne 0x1010242b
or dword [ebp - 4], 0xffffffff
jmp 0x10102432
test esi, esi
jne 0x10102432
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10102440
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call fcn.10109de0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0x10