Function at 0x10b7a72
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x538
mov eax, dword [0x111121c]
push ebx
push esi
push edi
push 0x20019
xor esi, esi
push esi
push reloc.WSOCK32.dll_bind
mov dword [ebp - 0x4d8], ecx
push 0x101acb8
lea ecx, [ebp - 0x538]
mov dword [ebp - 4], eax
mov dword [ebp - 0x4d4], esi
call fcn.01064063
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x51c]
call fcn.01063fa0
lea ecx, [ebp - 0x51c]
call fcn.0106434b
test eax, eax
jne 0x10b7ce0
push 0x60
push 0x101acb8
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
push 0x60
push dword [ebp - 0x510]
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatBuffW]
push 0x20019
push esi
push reloc.WSOCK32.dll_bind
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x504]
call fcn.01064063
push 0x101ad2c
lea ecx, [ebp - 0x504]
call fcn.010640b9
push eax
lea ecx, [ebp - 0x4dc]
call fcn.010382f9
mov eax, dword [ebp - 0x4dc]
cmp eax, esi
je 0x10b7cc9
cmp word [eax], si
je 0x10b7cb1
push dword [ebp - 0x510]
lea ecx, [ebp - 0x4e4]
call fcn.010382f9
mov ebx, dword [ebp - 0x4e4]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push 0x101af48
push ebx
call edi
test eax, eax
je 0x10b7c9e
push 0x101af98
push ebx
call edi
test eax, eax
je 0x10b7c9e
push 0x101aef8
push ebx
call edi
test eax, eax
je 0x10b7c9e
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x10b7bba
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov edi, eax
jmp 0x10b7bbc
xor edi, edi
cmp edi, esi
je 0x10b7c9e
push ebx
call fcn.010b7776
push 0x101ad38
lea ecx, [ebp - 0x504]
mov ebx, eax
call fcn.010640b9
push eax
lea ecx, [ebp - 0x4e0]
call fcn.010382f9
push 0x101ad40
lea ecx, [ebp - 0x504]
call fcn.010640b9
push eax
lea ecx, [ebp - 0x4e8]
call fcn.010382f9
cmp ebx, esi
je 0x10b7c1c
push ebx
lea ecx, [ebp - 0x4d0]
call fcn.0103d0ec
lea eax, [ebp - 0x4d0]
jmp 0x10b7c22
mov eax, dword [ebp - 0x4dc]
mov ebx, dword [ebp - 0x4e8]
push 1
push ebx
push dword [ebp - 0x4e0]
mov ecx, edi
push eax
push dword [ebp - 0x4e4]
call fcn.010b77cf
cmp eax, esi
mov dword [ebp - 0x4d4], eax
jl 0x10b7c5c
mov ecx, dword [ebp - 0x4d8]
push edi
add ecx, 0x38
call fcn.0105f7c8
test eax, eax
jne 0x10b7c65
mov ecx, edi
push 1
call fcn.010b7a4c
cmp ebx, esi
je 0x10b7c78
cmp ebx, 0x1111298
je 0x10b7c78
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x4e0], esi
je 0x10b7c98
cmp dword [ebp - 0x4e0], 0x1111298
je 0x10b7c98
push dword [ebp - 0x4e0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ebx, dword [ebp - 0x4e4]
cmp ebx, esi
je 0x10b7cb1
cmp ebx, 0x1111298
je 0x10b7cb1
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x4dc], 0x1111298
je 0x10b7cc9
push dword [ebp - 0x4dc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x504]
call fcn.0106409d
cmp dword [ebp - 0x4d4], esi
jge 0x10b7ac3
call fcn.010bad97
test al, al
je 0x10b7de7
call fcn.010b6444
test eax, eax
jne 0x10b7d6a
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x10b7d14
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov edi, eax
jmp 0x10b7d16
xor edi, edi
cmp edi, esi
je 0x10b7d6a
push 0x9d04
lea ecx, [ebp - 0x4d0]
call fcn.0103d0ec
xor ebx, ebx
inc ebx
push ebx
push esi
push esi
lea eax, [ebp - 0x4d0]
push eax
push 0x101af48
mov ecx, edi
call fcn.010b77cf
cmp eax, esi
mov dword [ebp - 0x4d4], eax
jl 0x10b7d60
mov ecx, dword [ebp - 0x4d8]
push edi
add ecx, 0x38
call fcn.0105f7c8
test eax, eax
jne 0x10b7d6d
push ebx
mov ecx, edi
call fcn.010b7a4c
jmp 0x10b7d6d
xor ebx, ebx
inc ebx
call fcn.010b645f
test eax, eax
jne 0x10b7dea
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x10b7d94
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov edi, eax
jmp 0x10b7d96
xor edi, edi
cmp edi, esi
je 0x10b7dea
push 0x9d05
lea ecx, [ebp - 0x4d0]
call fcn.0103d0ec
push ebx
push esi
push esi
lea eax, [ebp - 0x4d0]
push eax
push 0x101af98
mov ecx, edi
call fcn.010b77cf
cmp eax, esi
mov dword [ebp - 0x4d4], eax
jl 0x10b7ddd
mov ecx, dword [ebp - 0x4d8]
push edi
add ecx, 0x38
call fcn.0105f7c8
test eax, eax
jne 0x10b7dea
push ebx
mov ecx, edi
call fcn.010b7a4c
jmp 0x10b7dea
xor ebx, ebx
inc ebx
call fcn.01066844
test eax, eax
je 0x10b7eaa
call fcn.0103e596
test eax, eax
jne 0x10b7eaa
lea eax, [ebp - 0x2cc]
push eax
push esi
push esi
push 0x25
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jl 0x10b7eaa
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x10b7e3c
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov edi, eax
jmp 0x10b7e3e
xor edi, edi
cmp edi, esi
je 0x10b7eaa
push 0x9d01
lea ecx, [ebp - 0x4d0]
call fcn.0103d0ec
push 0x104
push 0x101b0b0
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatBuffW]
push ebx
lea eax, [ebp - 0x2cc]
push eax
push esi
lea eax, [ebp - 0x4d0]
push eax
push 0x101aef8
mov ecx, edi
call fcn.010b77cf
cmp eax, esi
mov dword [ebp - 0x4d4], eax
jl 0x10b7ea2
mov ecx, dword [ebp - 0x4d8]
push edi
add ecx, 0x38
call fcn.0105f7c8
test eax, eax
jne 0x10b7eaa
mov ecx, edi
push ebx
call fcn.010b7a4c
cmp dword [ebp - 0x4d4], esi
jl 0x10b7fa7
call fcn.010608ce
test eax, eax
je 0x10b7f25
cmp dword [0x1112ce4], ebx
je 0x10b7f25
push 0x14
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x10b7ee5
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov edi, eax
jmp 0x10b7ee7
xor edi, edi
cmp edi, esi
je 0x10b7f25
push 4
push esi
push esi
push 0x101adf0
push 0x101ae08
mov ecx, edi
call fcn.010b77cf
cmp eax, esi
mov dword [ebp - 0x4d4], eax
jl 0x10b7f1d
mov ecx, dword [ebp - 0x4d8]
push edi
add ecx, 0x38
call fcn.0105f7c8
test eax, eax
jne 0x10b7f25
mov ecx, edi
push ebx
call fcn.010b7a4c
cmp dword [ebp - 0x4d4], esi
jl 0x10b7fa7
push 0x14
mov dword [ebp - 0x4d4], 0x8007000e
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, esi
pop ecx
je 0x10b7f55
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov edi, eax
jmp 0x10b7f57
xor edi, edi
cmp edi, esi
je 0x10b7fa7
push 0x9ec9
lea ecx, [ebp - 0x4d0]
call fcn.0103d0ec
push 5
push esi
push esi
lea eax, [ebp - 0x4d0]
push eax
push 0x101aea8
mov ecx, edi
call fcn.010b77cf
cmp eax, esi
mov dword [ebp - 0x4d4], eax
jl 0x10b7f9f
mov ecx, dword [ebp - 0x4d8]
push edi
add ecx, 0x44
call fcn.0105f7c8
test eax, eax
jne 0x10b7fa7
mov ecx, edi
push ebx
call fcn.010b7a4c
lea ecx, [ebp - 0x51c]
call fcn.01064016
lea ecx, [ebp - 0x538]
call fcn.0106409d
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x4d4]
pop edi
pop esi
pop ebx
call fcn.0105ec09
leave
ret