Function at 0x102906e
Capabilities:
Reference absolute stream path on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
push esi
push edi
xor edi, edi
push ebx
mov dword [ebp - 4], edi
call dword [eax + 0x98]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
push ebx
mov dword [ebp - 0xc], edi
mov dword [ebp + 8], edi
call dword [eax + 0x98]
push eax
call fcn.010250ce
mov dword [ebp - 0x20], eax
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 8], eax
mov esi, 0x100280c
cmp dword [ebp - 0x10], edi
je 0x10290f3
lea eax, [ebp - 0xc]
push eax
push 0x7fffffff
push dword [ebp - 0x10]
call fcn.01019eeb
test eax, eax
setge al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x10126c0
push dword [0x102e5ac]
push 4
call fcn.0102c428
cmp dword [ebp - 0xc], edi
jne 0x10290fe
mov eax, dword [ebp - 8]
mov dword [ebp + 8], eax
jmp 0x102922f
lea eax, [ebp + 8]
push eax
push 0x7fffffff
push dword [ebp - 8]
call fcn.01019eeb
test eax, eax
setge al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x10125e0
push dword [0x102e5ac]
push 4
call fcn.0102c428
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
lea eax, [eax + ecx + 2]
xor ecx, ecx
push 2
pop edx
mov dword [ebp - 0x14], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0102af97
pop ecx
mov dword [ebp + 8], eax
cmp eax, edi
jne 0x10291a8
mov dword [ebp - 4], 0x8007000e
mov eax, dword [0x102e010]
cmp eax, 0x102e010
je 0x10293fa
test dword [eax + 0x9c], 0x10000
je 0x10293fa
cmp byte [eax + 0x99], 2
jb 0x10293fa
push 0x1011618
push 0xc
push dword [eax + 0x94]
push dword [eax + 0x90]
call fcn.010165d0
jmp 0x10293fa
push dword [ebp - 8]
push dword [ebp - 0x14]
push eax
call fcn.01019e7c
cmp eax, edi
setge al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x1012500
push dword [0x102e5ac]
push 4
call fcn.0102c428
push 0x1001290
push dword [ebp - 0x14]
push dword [ebp + 8]
call fcn.0101735d
cmp eax, edi
setge al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x1012420
push dword [0x102e5ac]
push 4
call fcn.0102c428
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp + 8]
call fcn.0101735d
cmp eax, edi
setge al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x1012340
push dword [0x102e5ac]
push 4
call fcn.0102c428
mov eax, dword [0x102e010]
cmp eax, 0x102e010
je 0x102926b
test dword [eax + 0x9c], 0x10000
je 0x102926b
cmp byte [eax + 0x99], 5
jb 0x102926b
push dword [ebp + 8]
push 0x1011618
push 0xd
push dword [eax + 0x94]
push dword [eax + 0x90]
call fcn.01016875
mov eax, dword [ebx]
push ebx
mov dword [ebp - 0x10], 3
mov dword [ebp - 0x14], 0x80
mov dword [ebp - 0x18], edi
call dword [eax + 0x90]
dec eax
neg eax
sbb al, al
inc al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x1012260
push dword [0x102e5ac]
push 4
call fcn.0102c428
mov eax, dword [ebx]
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x18]
push ecx
push ebx
call dword [eax + 0x9c]
movzx eax, word [ebp - 0x14]
push edi
or eax, 0x40000000
push eax
movzx eax, word [ebp - 0x10]
push 3
push edi
push eax
push dword [ebp - 0x1c]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
mov ebx, 0x80070000
cmp eax, 0xffffffff
jne 0x102934c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jg 0x10292fa
mov dword [ebp - 4], eax
jmp 0x1029307
mov ecx, eax
and ecx, 0xffff
or ecx, ebx
mov dword [ebp - 4], ecx
mov ecx, dword [0x102e010]
cmp ecx, 0x102e010
je 0x1029343
test dword [ecx + 0x9c], 0x10000
je 0x1029343
cmp byte [ecx + 0x99], 2
jb 0x1029343
push eax
push 0x1011618
push 0xe
push dword [ecx + 0x94]
push dword [ecx + 0x90]
call fcn.010164b8
cmp dword [ebp - 4], edi
jl 0x10293fa
push edi
push 0x101e464
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_BindIoCompletionCallback]
test eax, eax
jne 0x10293b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jg 0x102936e
mov dword [ebp - 4], eax
jmp 0x102937b
mov ecx, eax
and ecx, 0xffff
or ecx, ebx
mov dword [ebp - 4], ecx
mov ecx, dword [0x102e010]
cmp ecx, 0x102e010
je 0x10293b7
test dword [ecx + 0x9c], 0x10000
je 0x10293b7
cmp byte [ecx + 0x99], 2
jb 0x10293b7
push eax
push 0x1011618
push 0xf
push dword [ecx + 0x94]
push dword [ecx + 0x90]
call fcn.010164b8
cmp dword [ebp - 4], edi
jge 0x10293ec
cmp dword [ebp - 8], 0xffffffff
je 0x10293fa
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, edi
setne al
movzx eax, al
push eax
push esi
push edi
push edi
push edi
push 0x1012180
push dword [0x102e5ac]
push 4
call fcn.0102c428
jmp 0x10293fa
mov ecx, dword [ebp - 0x20]
push dword [ebp - 8]
add ecx, 0x54
call fcn.0101e36f
cmp dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
je 0x102940b
push dword [ebp + 8]
call fcn.0102afb2
pop ecx
mov eax, dword [ebp - 4]
leave
ret 4