Function at 0x10120f75
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.1012748c
mov edi, eax
mov dword [ebp - 0x24], edi
test edi, edi
je 0x10121627
cmp dword [ebp + 0x14], esi
jne 0x10120fd0
mov ecx, dword [edi + 0x10]
push 2
pop edx
call fcn.101341c4
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10121627
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 0x10120ff7
cmp ax, 7
je 0x10120ff7
cmp ax, 0x16
je 0x10120ff7
cmp ax, 0x1e
jne 0x10121006
mov ecx, edi
call fcn.101092d1
test eax, eax
je 0x10121619
mov edx, dword [ebp - 0x10]
xor ebx, ebx
push esi
push ebx
push dword [ebp + 0x14]
mov ecx, edi
call fcn.10126a7e
test eax, eax
je 0x10121619
mov ecx, edi
call fcn.10126ecf
test eax, eax
je 0x10121619
push ebx
push ebx
xor edx, edx
mov ecx, edi
call fcn.10126fbe
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x38]
push ebx
push 0x200
mov ecx, dword [ecx + 0x14]
call fcn.101338dc
push ecx
push 1
push ebx
xor edx, edx
mov ecx, edi
call fcn.1012372f
mov ecx, edi
call fcn.10109757
test eax, eax
je 0x10121619
mov ebx, dword [ebp + 0xc]
mov edx, dword [edi + 0x2c]
mov dword [ebp - 8], edx
test ebx, ebx
je 0x101210e6
mov ecx, dword [ebp + 8]
call fcn.10101d7e
test eax, eax
je 0x101210e6
mov eax, dword [edi + 0x28]
mov ebx, dword [eax + 4]
lea esi, [eax + 0x14]
test ebx, ebx
je 0x101210e3
xor eax, eax
dec ebx
cmp dword [esi + 0x10], eax
je 0x101210d8
cmp dword [esi + 0x24], eax
je 0x101210d8
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
xor eax, eax
push dword [esi + 0x1c]
push edx
push eax
push ecx
push dword [ebp - 0x14]
mov edx, edi
mov ecx, esi
push dword [ebp - 0x18]
call fcn.100ff189
cmp eax, 0x80004001
je 0x101210d0
cmp eax, 0x4dc01
je 0x10121122
test eax, eax
js 0x1012160c
mov edx, dword [ebp - 8]
xor eax, eax
mov ecx, dword [ebp + 8]
add esi, 0x78
test ebx, ebx
jne 0x10121091
or dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp + 0xc]
mov eax, dword [edi + 0x24]
xor edx, edx
mov esi, edx
mov dword [ebp - 0x10], esi
cmp dword [eax + 0x128], edx
jne 0x1012110b
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.0x1012111b.19
jmp dword [eax*4 + 0x10121639]
xor esi, esi
inc esi
or dword [ebp - 4], 0xffffffff
jmp 0x10121531
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x40]
mov dword [ebp - 4], eax
mov esi, edx
jmp 0x10121531
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x42]
jmp 0x10121135
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x44]
jmp 0x10121135
mov eax, dword [ebp - 8]
movzx eax, word [eax + 0x46]
jmp 0x10121135
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x48]
jmp 0x10121135
test ebx, ebx
je 0x1012116b
xor eax, eax
mov word [ebx], ax
mov dword [ebp - 4], edx
jmp 0x10121138
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + 0x3c]
mov edx, ecx
mov dword [ebp - 4], ecx
test esi, esi
je 0x10121194
mov eax, dword [edi + 0x30]
test dword [eax + 4], 0x2000
je 0x10121194
mov eax, 0x270f
cmp ecx, eax
jb 0x101211a1
mov eax, 0x7fff
cmp edx, eax
jb 0x1012152d
mov dword [ebp - 4], eax
jmp 0x1012152d
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 0x101211d7
mov ecx, dword [esi + 0xd4]
test ecx, ecx
je 0x101211d7
mov eax, dword [esi + 0x13c]
add eax, ecx
je 0x101211d7
xor eax, eax
inc eax
jmp 0x101211a1
xor eax, eax
jmp 0x101211a1
mov eax, dword [ebp - 8]
test dword [eax + 0x48], 0x4000
jne 0x101211ee
mov eax, edx
jmp 0x10121135
mov ecx, dword [edi + 0x24]
cmp dword [ecx + 0x128], edx
jne 0x10121201
push 6
pop eax
jmp 0x10121135
xor edx, edx
inc edx
call fcn.10134aab
xor edx, edx
jmp 0x10121135
mov ecx, dword [edi + 0x24]
cmp dword [ecx + 0x128], edx
je 0x10121225
call fcn.1017a0b4
jmp 0x101211a1
mov edx, dword [ebp - 8]
movzx eax, word [edx + 0x44]
mov eax, dword [eax + edx + 4]
and eax, 0x200
test byte [ecx + 0x88], 4
je 0x1012124f
neg eax
sbb eax, eax
and eax, 0xb4
add eax, 0x5a
jmp 0x101211a1
neg eax
sbb eax, eax
and eax, 0xffffff4c
add eax, 0x10e
jmp 0x101211a1
push dword [ebp + 0x10]
push edx
push edx
push edx
mov edx, ebx
mov ecx, edi
call fcn.10121729
jmp 0x101211a1
push dword [ebp + 0x10]
push edx
push edx
push ebx
xor edx, edx
jmp 0x1012126a
push dword [ebp + 0x10]
push edx
push ebx
push edx
jmp 0x1012127c
push ecx
mov ecx, edi
call fcn.10121a1a
jmp 0x101211a1
mov edx, ebx
mov ecx, edi
call fcn.10121b58
jmp 0x101211a1
mov edx, ebx
mov ecx, edi
call fcn.10102b43
jmp 0x101211a1
mov edx, ebx
mov ecx, edi
call fcn.10102b99
jmp 0x101211a1
test esi, esi
je 0x101212d3
mov eax, dword [edi + 0x30]
test dword [eax + 4], 0x2000
jne 0x101211d2
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 0x101211d7
mov ecx, dword [esi + 0xf0]
jmp 0x101211c4
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x88]
shr eax, 3
and eax, 1
jmp 0x10121135
mov edx, ebx
mov ecx, edi
call fcn.10102d5a
jmp 0x101211a1
test ebx, ebx
je 0x1012132b
push 0x20
mov edx, 0x1002f040
mov ecx, ebx
call fcn.10133d12
mov dword [ebp - 4], 1
jmp 0x1012152d
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x74]
mov dword [ebp - 4], eax
test eax, eax
jne 0x10121138
or dword [ebp - 4], 0xffffffff
jmp 0x10121138
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x78]
jmp 0x1012133d
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 0x7c]
jmp 0x1012133d
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 8]
shr eax, 0xa
jmp 0x10121135
mov eax, dword [edi + 0x24]
cmp dword [eax + 0x128], edx
je 0x1012138a
mov eax, dword [edi + 0x18]
test dword [eax + 0xc], 0x100000
je 0x1012142e
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0x28]
call fcn.10179abc
mov ebx, eax
mov dword [ebp - 0x28], ebx
test ebx, ebx
je 0x1012142c
mov ecx, ebx
call fcn.10102c5d
mov dword [ebp - 4], eax
test eax, eax
je 0x10121420
cmp dword [ebp + 0xc], 0
je 0x10121420
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
mov eax, ecx
mov dword [ebp - 0x10], eax
cmp word [ebx], cx
je 0x1012141d
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
cmp esi, 0xffffffff
je 0x101213d5
cmp esi, 0x40
jl 0x10121414
push 0x40
mov edx, ebx
mov ecx, edi
call fcn.10133d12
mov ecx, ebx
sub edi, 0xffffff80
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xc]
jne 0x101213e8
sub ecx, edx
sar ecx, 1
lea ebx, [ebx + ecx*2]
add ebx, 2
cmp esi, 0xffffffff
je 0x10121406
sub esi, 0x40
mov eax, dword [ebp - 0x10]
xor ecx, ecx
inc eax
mov dword [ebp - 0x10], eax
cmp word [ebx], cx
jne 0x101213cb
mov ebx, dword [ebp - 0x28]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 4], eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1012152d
xor edx, edx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], 1
test ebx, ebx
je 0x1012152d
cmp dword [ebp + 0x10], 0xffffffff
je 0x10121454
cmp dword [ebp + 0x10], 0x40
jge 0x10121454
mov dword [ebp - 4], edx
jmp 0x1012152d
call fcn.10135d7d
mov ecx, dword [edi + 0x24]
mov edx, dword [ecx + 0x88]
test eax, eax
je 0x10121475
test edx, 0x400
je 0x10121490
mov edx, 0x1002a7a8
jmp 0x10121482
test edx, 0x200
je 0x10121490
mov edx, 0x1002a7b0
push 0x40
mov ecx, ebx
call fcn.10133d12
jmp 0x1012152d
mov eax, dword [ecx + 0xcc]
test eax, eax
je 0x101214bf
mov edx, dword [ecx + 0x13c]
add edx, eax
je 0x101214bf
push dword [edx + 0x14]
call fcn.101349b5
test eax, eax
je 0x101214bf
push ecx
push ebx
mov edx, eax
mov ecx, edi
call fcn.10130d9c
test eax, eax
jne 0x1012152d
or dword [ebp - 4], 0xffffffff
jmp 0x1012152d
mov esi, dword [edi + 0x24]
cmp dword [esi + 0x128], edx
je 0x10121503
lea eax, [ebp - 0x28]
mov ebx, edx
push eax
push 1
mov edx, 0x1002fa2c
mov ecx, esi
call fcn.101348f4
test eax, eax
jne 0x101214fe
lea eax, [ebp - 0x28]
mov edx, 0x1002fa44
push eax
push 1
mov ecx, esi
call fcn.101348f4
test eax, eax
je 0x1012150c
xor ebx, ebx
inc ebx
jmp 0x1012150c
mov ecx, edi
call fcn.101317f5
mov ebx, eax
mov dword [ebp - 4], ebx
jmp 0x1012152d
push edx
mov edx, ebx
mov ecx, edi
call fcn.10121bf0
jmp 0x101211a1
push ebx
xor edx, edx
jmp 0x10121514
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 0x101215e5
dec eax
xor edx, edx
mov dword [ebp - 0x10], eax
cmp dword [ecx + 0x10], edx
je 0x101215d4
mov ebx, dword [ebp - 4]
cmp dword [ecx + 0x24], edx
je 0x1012158f
lea eax, [ebp - 4]
mov edx, edi
push eax
push ebx
push dword [ecx + 0x1c]
push dword [ebp - 8]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.100ff189
cmp eax, 0x80004001
je 0x101215ce
cmp eax, 0x4dc01
jne 0x101215ce
xor esi, esi
inc esi
jmp 0x101215ce
test byte [ecx + 0x3c], 0x40
je 0x1012159a
mov eax, dword [ecx + 0x58]
jmp 0x101215a5
push 6
pop edx
call fcn.10138916
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x101215d1
push ebx
push dword [ecx + 0x1c]
mov ecx, eax
push dword [ebp - 8]
push dword [ebp + 0xc]
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
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
add ecx, 0x78
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x1012154b
mov edx, dword [ebp - 0x28]
cmp dword [ebp + 0xc], 0
jne 0x10121619
mov ebx, dword [ebp - 4]
cmp ebx, 0xffffffff
je 0x10121619
cmp edx, 0xffffffff
je 0x10121619
cmp ebx, edx
jae 0x10121619
mov ecx, dword [ebp + 8]
call fcn.10101d7e
test eax, eax
je 0x10121619
test ebx, ebx
jne 0x10121612
or dword [ebp - 4], 0xffffffff
jmp 0x10121619
test esi, esi
jne 0x10121619
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10121627
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call fcn.10127420
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0x10