Function at 0x10050e20
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c41ca
mov eax, dword fs:[0]
push eax
sub esp, 0x4ac
mov eax, dword [0x100f7084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x438], ecx
mov dword [ebp - 4], 3
movzx eax, byte [ebp + 0x78]
push eax
mov ecx, dword [ebp + 0x74]
push ecx
mov edx, dword [ebp + 0x70]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4b0], esp
lea eax, [ebp + 0x58]
push eax
call fcn.10008e80
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x48c], ecx
mov byte [ebp - 4], 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x490], esp
lea edx, [ebp + 0x40]
push edx
call fcn.10008e80
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 5
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x498], esp
lea edx, [ebp + 0x28]
push edx
call fcn.10008e80
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x49c], eax
mov byte [ebp - 4], 6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4a0], esp
lea edx, [ebp + 0x10]
push edx
call fcn.10008e80
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x438]
call fcn.10052340
mov ecx, dword [ebp - 0x438]
call fcn.10051380
movzx edx, al
test edx, edx
jne 0x10050f6b
mov byte [ebp - 0x431], 0
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x10]
call fcn.10005f30
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x28]
call fcn.10005f30
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x40]
call fcn.10005f30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x58]
call fcn.10005f30
mov al, byte [ebp - 0x431]
jmp 0x10051361
xor eax, eax
mov word [ebp - 0x21c], ax
push 0x208
push 0
lea ecx, [ebp - 0x21a]
push ecx
call fcn.1009ee30
add esp, 0xc
push 0x104
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x10051271
call fcn.1003ff40
add eax, 0x34
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.1002f210
add esp, 8
mov dword [ebp - 0x468], eax
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x46c], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x46c]
push edx
push 0x100d1574
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x27c]
call fcn.10007e50
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x478], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x478]
push edx
lea eax, [ebp - 0x264]
push eax
call fcn.1002c190
add esp, 0xc
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x480], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x480]
push edx
lea eax, [ebp - 0x24c]
push eax
call fcn.10035f90
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x264]
call fcn.1000c290
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x27c]
call fcn.1000c290
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x294]
call fcn.1000c290
call fcn.1003ff40
add eax, 0x4c
push eax
lea ecx, [ebp - 0x2c4]
push ecx
call fcn.1002f210
add esp, 8
mov dword [ebp - 0x484], eax
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x488], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x488]
push eax
push 0x100d1578
lea ecx, [ebp - 0x21c]
push ecx
lea ecx, [ebp - 0x2ac]
call fcn.10007e50
mov dword [ebp - 0x440], eax
mov edx, dword [ebp - 0x440]
mov dword [ebp - 0x444], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x444]
push eax
lea ecx, [ebp - 0x2dc]
push ecx
call fcn.1002c190
add esp, 0xc
mov dword [ebp - 0x448], eax
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x44c], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x234]
push ecx
call fcn.10035f90
add esp, 0xc
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2dc]
call fcn.1000c290
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2ac]
call fcn.1000c290
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2c4]
call fcn.1000c290
mov dword [ebp - 0x430], 0
lea edx, [ebp - 0x430]
push edx
call fcn.1003a840
add esp, 4
test eax, eax
je 0x10051253
mov dword [ebp - 0x43c], 0
cmp dword [ebp - 0x430], 1
jne 0x1005119d
mov dword [ebp - 0x43c], 1
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x430]
push eax
call fcn.1003a880
add esp, 4
lea ecx, [ebp - 0x42c]
call fcn.1004fcd0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x42c]
push ecx
lea edx, [ebp - 0x24c]
push edx
call fcn.100396a0
add esp, 8
mov dword [ebp - 0x430], 0
lea eax, [ebp - 0x430]
push eax
call fcn.1003a840
add esp, 4
test eax, eax
je 0x10051222
lea ecx, [ebp - 0x384]
call fcn.1004fcd0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x384]
push ecx
lea edx, [ebp - 0x234]
push edx
call fcn.100396a0
add esp, 8
mov eax, dword [ebp - 0x430]
push eax
call fcn.1003a880
add esp, 4
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x384]
call fcn.1004fe20
cmp dword [ebp - 0x43c], 0
je 0x10051244
mov dword [ebp - 0x430], 0
lea ecx, [ebp - 0x430]
push ecx
call fcn.1003a840
add esp, 4
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x42c]
call fcn.1004fe20
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x234]
call fcn.1000c290
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x24c]
call fcn.1000c290
mov edx, dword [ebp - 0x438]
add edx, 0x6c
push edx
lea ecx, [ebp - 0x45c]
call fcn.10005a10
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x438]
movzx ecx, byte [eax + 0x68]
test ecx, ecx
jne 0x1005130a
mov edx, dword [ebp - 0x438]
mov byte [edx + 0x68], 1
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x454], 0x100501b0
lea ecx, [ebp - 0x450]
push ecx
lea edx, [ebp - 0x454]
push edx
lea eax, [ebp - 0x4b8]
push eax
call fcn.1004fa60
add esp, 0xc
push eax
lea ecx, [ebp - 0x4ac]
call fcn.1004f590
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x474]
push ecx
mov ecx, dword [ebp - 0x438]
add ecx, 0xbc
call fcn.1004aa90
lea ecx, [ebp - 0x4ac]
call fcn.1004aa70
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x45c]
call fcn.100059d0
xor edx, edx
jne 0x10051271
mov byte [ebp - 0x432], 1
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x10]
call fcn.10005f30
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x28]
call fcn.10005f30
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x40]
call fcn.10005f30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x58]
call fcn.10005f30
mov al, byte [ebp - 0x432]
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 0x74