Function at 0x100734a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c67c5
mov eax, dword fs:[0]
push eax
sub esp, 0x3e0
mov eax, dword [0x100f7084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.1006ccc0
mov ecx, eax
call fcn.1004eac0
call fcn.1003ff40
add eax, 0x244
push eax
lea eax, [ebp - 0x380]
push eax
call fcn.1002f210
add esp, 8
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x3e8]
push edx
call fcn.1003a740
add esp, 4
test eax, eax
jne 0x10073529
mov dword [ebp - 0x388], 1
jmp 0x10073533
mov dword [ebp - 0x388], 0
mov al, byte [ebp - 0x388]
mov byte [ebp - 0x382], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x380]
call fcn.1000c290
movzx ecx, byte [ebp - 0x382]
test ecx, ecx
je 0x10073563
xor al, al
jmp 0x10073996
xor edx, edx
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.1009ee30
add esp, 0xc
push 0
push 0x24
lea ecx, [ebp - 0x218]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x100735a0
xor al, al
jmp 0x10073996
mov byte [ebp - 0x381], 0
mov byte [ebp - 0x383], 0
push 0x100d7094
call fcn.1003ff40
add eax, 0x244
push eax
lea edx, [ebp - 0x338]
push edx
call fcn.1002f210
add esp, 8
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x3e0]
push ecx
push str._system32drivers_
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x350]
call fcn.10007e50
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3d4], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x3d4]
push ecx
lea edx, [ebp - 0x368]
push edx
call fcn.1002c190
add esp, 0xc
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3cc], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3cc]
push ecx
lea edx, [ebp - 0x290]
push edx
call fcn.10035f90
add esp, 0xc
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x3c4], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x3c4]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.1002c190
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x290]
call fcn.1000c290
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x368]
call fcn.1000c290
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x350]
call fcn.1000c290
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x338]
call fcn.1000c290
push str..sys
call fcn.1003ff40
add eax, 0x244
push eax
lea eax, [ebp - 0x2f0]
push eax
call fcn.1002f210
add esp, 8
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3bc], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x3bc]
push edx
push 0x100d70d4
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x308]
call fcn.10007e50
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3b4], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x3b4]
push edx
lea eax, [ebp - 0x2a8]
push eax
call fcn.1002c190
add esp, 0xc
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b0]
mov dword [ebp - 0x3d8], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x3d8]
push edx
lea eax, [ebp - 0x320]
push eax
call fcn.10035f90
add esp, 0xc
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x39c]
push edx
lea eax, [ebp - 0x248]
push eax
call fcn.1002c190
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x320]
call fcn.1000c290
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x2a8]
call fcn.1000c290
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x308]
call fcn.1000c290
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2f0]
call fcn.1000c290
lea ecx, [ebp - 0x230]
push ecx
call fcn.10039360
add esp, 4
movzx edx, al
test edx, edx
je 0x10073887
push 0x100d70d8
lea ecx, [ebp - 0x260]
call fcn.10007e50
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2d8]
call fcn.1002d970
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x3a4]
push ecx
lea edx, [ebp - 0x260]
push edx
lea eax, [ebp - 0x230]
push eax
call fcn.10039b30
add esp, 0xc
test eax, eax
jne 0x10073853
mov dword [ebp - 0x394], 1
jmp 0x1007385d
mov dword [ebp - 0x394], 0
mov cl, byte [ebp - 0x394]
mov byte [ebp - 0x381], cl
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2d8]
call fcn.1000c290
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x260]
call fcn.1000c290
lea edx, [ebp - 0x248]
push edx
call fcn.10039360
add esp, 4
movzx eax, al
test eax, eax
je 0x10073937
push 0x100d70e0
lea ecx, [ebp - 0x278]
call fcn.10007e50
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2c0]
call fcn.1002d970
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x3a8]
mov dword [ebp - 0x3ac], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x3ac]
push edx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x248]
push ecx
call fcn.10039b30
add esp, 0xc
test eax, eax
jne 0x10073903
mov dword [ebp - 0x38c], 1
jmp 0x1007390d
mov dword [ebp - 0x38c], 0
mov dl, byte [ebp - 0x38c]
mov byte [ebp - 0x381], dl
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2c0]
call fcn.1000c290
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x278]
call fcn.1000c290
movzx eax, byte [ebp - 0x381]
test eax, eax
jne 0x10073959
movzx ecx, byte [ebp - 0x383]
test ecx, ecx
jne 0x10073959
mov dword [ebp - 0x390], 0
jmp 0x10073963
mov dword [ebp - 0x390], 1
mov dl, byte [ebp - 0x390]
mov byte [ebp - 0x384], dl
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x248]
call fcn.1000c290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.1000c290
mov al, byte [ebp - 0x384]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10086b0f
mov esp, ebp
pop ebp
ret