Function at 0x100019b0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10055b5b
mov eax, dword fs:[0]
push eax
sub esp, 0x654
mov eax, dword [0x10076008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x644], ecx
push 0x400
push 0
lea eax, [ebp - 0x610]
push eax
call fcn.10033d10
add esp, 0xc
mov byte [ebp - 0x649], 0
push 0x200
push 0
lea ecx, [ebp - 0x210]
push ecx
call fcn.10033d10
add esp, 0xc
lea ecx, [ebp - 0x628]
call fcn.10005ad0
mov dword [ebp - 4], 0
push 0x400
lea edx, [ebp - 0x610]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
je 0x10001ad7
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0x610]
test edx, edx
je 0x10001ad7
lea eax, [ebp - 0x610]
push eax
lea ecx, [ebp - 0x628]
call fcn.10005870
lea ecx, [ebp - 0x628]
push ecx
lea edx, [ebp - 0x640]
push edx
call fcn.10006a10
add esp, 8
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x628]
call fcn.10005950
lea ecx, [ebp - 0x640]
call fcn.10005900
push 0
push 0x10066a48
lea ecx, [ebp - 0x628]
call fcn.10005770
cmp eax, 0xffffffff
je 0x10001acd
mov ecx, dword [ebp - 0x644]
mov byte [ecx + 0xc], 0
jmp 0x10001ad7
mov edx, dword [ebp - 0x644]
mov byte [edx + 0xc], 1
mov eax, dword [ebp - 0x644]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
jne 0x10001afc
mov ecx, dword [ebp - 0x644]
call fcn.10005110
mov edx, dword [ebp - 0x644]
mov byte [edx + 0x69dd], al
mov eax, dword [ebp - 0x644]
movzx ecx, byte [eax + 0x69de]
push ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x660], esp
push 0x10066a4c
call fcn.100055b0
push 1
mov ecx, dword [ebp - 0x644]
call fcn.10004b10
mov dword [ebp - 0x65c], eax
mov edx, dword [ebp - 0x644]
mov al, byte [ebp - 0x65c]
mov byte [edx + 0x69dc], al
mov ecx, dword [ebp - 0x644]
call fcn.10001f60
mov ecx, dword [ebp - 0x644]
add ecx, 0x69f4
push ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [edx + 0x69e8]
push eax
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x762c]
call edx
add esp, 8
mov eax, dword [ebp - 0x644]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x10001c02
mov edx, dword [ebp - 0x644]
add edx, 0x69e4
push edx
mov ecx, dword [ebp - 0x644]
call fcn.10004320
mov ecx, dword [ebp - 0x644]
mov dword [ecx + 0x69e0], eax
mov edx, dword [ebp - 0x644]
cmp dword [edx + 0x69e0], 0
jge 0x10001bd3
mov eax, dword [ebp - 0x644]
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x69e8]
mov dword [eax + 0x69e0], edx
mov eax, dword [ebp - 0x644]
add eax, 0x6e05
push eax
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x69e0]
push edx
mov eax, dword [ebp - 0x644]
mov ecx, dword [eax + 0x762c]
call ecx
add esp, 8
jmp 0x10001eff
mov edx, dword [ebp - 0x644]
mov eax, dword [ebp - 0x644]
mov ecx, dword [eax + 0x69e8]
mov dword [edx + 0x69e0], ecx
mov edx, dword [ebp - 0x644]
add edx, 0x6e05
push edx
mov eax, dword [ebp - 0x644]
mov ecx, dword [eax + 0x69e0]
push ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [edx + 0x762c]
call eax
add esp, 8
mov dword [ebp - 0x648], 0
jmp 0x10001c60
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [ebp - 0x648]
cmp eax, dword [edx + 0x7206]
jge 0x10001d0a
mov ecx, dword [ebp - 0x644]
movzx edx, byte [ecx + 0x6e05]
test edx, edx
je 0x10001ccd
push 0x10
push 0x10067318
imul eax, dword [ebp - 0x648], 0xbb
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x7212]
lea eax, [edx + eax + 0x4b]
push eax
call fcn.10032cb4
add esp, 0xc
test eax, eax
jne 0x10001ccb
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x648]
mov dword [ecx + 0x69e4], edx
jmp 0x10001d0a
jmp 0x10001d00
imul eax, dword [ebp - 0x648], 0xbb
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x7212]
movsx eax, byte [edx + eax + 1]
test eax, eax
je 0x10001d00
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x648]
mov dword [ecx + 0x69e4], edx
jmp 0x10001d0a
call fcn.1000a2a0
jmp 0x10001c51
mov eax, dword [ebp - 0x644]
cmp dword [eax + 0x69e4], 0xffffffff
jne 0x10001ead
mov dword [ebp - 0x648], 0
jmp 0x10001d38
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
cmp dword [ebp - 0x648], 0x14
jge 0x10001ead
mov edx, dword [ebp - 0x644]
mov eax, dword [ebp - 0x648]
cmp eax, dword [edx + 0x69e8]
je 0x10001d6d
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x648]
cmp edx, dword [ecx + 0x69f0]
jne 0x10001d6f
jmp 0x10001d29
push 0x200
lea eax, [ebp - 0x210]
push eax
push 0
mov ecx, dword [ebp - 0x648]
push ecx
call fcn.1002e1a0
add esp, 0x10
mov byte [ebp - 0x649], al
movzx edx, byte [ebp - 0x649]
test edx, edx
je 0x10001ea3
mov eax, dword [ebp - 0x644]
mov ecx, dword [ebp - 0x648]
mov dword [eax + 0x69e0], ecx
mov edx, dword [ebp - 0x644]
add edx, 0x6e05
push edx
mov eax, dword [ebp - 0x644]
mov ecx, dword [eax + 0x69e0]
push ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [edx + 0x762c]
call eax
add esp, 8
mov dword [ebp - 0x650], 0
jmp 0x10001df9
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [ebp - 0x650]
cmp eax, dword [edx + 0x7206]
jge 0x10001ea3
mov ecx, dword [ebp - 0x644]
movzx edx, byte [ecx + 0x6e05]
test edx, edx
je 0x10001e66
push 0x10
push 0x10067318
imul eax, dword [ebp - 0x650], 0xbb
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x7212]
lea eax, [edx + eax + 0x4b]
push eax
call fcn.10032cb4
add esp, 0xc
test eax, eax
jne 0x10001e64
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x650]
mov dword [ecx + 0x69e4], edx
jmp 0x10001ea3
jmp 0x10001e99
imul eax, dword [ebp - 0x650], 0xbb
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x7212]
movsx eax, byte [edx + eax + 1]
test eax, eax
je 0x10001e99
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x650]
mov dword [ecx + 0x69e4], edx
jmp 0x10001ea3
call fcn.1000a2a0
jmp 0x10001dea
call fcn.1000a2a0
jmp 0x10001d29
mov eax, dword [ebp - 0x644]
cmp dword [eax + 0x69e4], 0xffffffff
jne 0x10001eff
mov ecx, dword [ebp - 0x644]
mov edx, dword [ebp - 0x644]
mov eax, dword [edx + 0x69e8]
mov dword [ecx + 0x69e0], eax
mov ecx, dword [ebp - 0x644]
add ecx, 0x6e05
push ecx
mov edx, dword [ebp - 0x644]
mov eax, dword [edx + 0x69e0]
push eax
mov ecx, dword [ebp - 0x644]
mov edx, dword [ecx + 0x762c]
call edx
add esp, 8
mov ecx, dword [ebp - 0x644]
call fcn.10001f40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x628]
call fcn.10005900
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002fa64
mov esp, ebp
pop ebp
ret