Function at 0x428662
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2740
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x273c], ecx
lea edi, [ebp - 0x20]
push 6
pop ecx
mov esi, str.Spark_spark.properties
rep movsd dword es:[edi], dword [esi]
push ebx
call fcn.00643470
cmp eax, 1
lea eax, [ebp - 0x7f4]
pop ecx
jae 0x4286d1
push eax
xor ebx, ebx
push ebx
push ebx
push 0x1a
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x428702
lea eax, [ebp - 0x20]
mov edi, 0x3e8
push eax
lea eax, [ebp - 0x7f4]
push edi
push eax
call fcn.006500a8
add esp, 0xc
jmp 0x4286ed
push str.spark.properties
push ebx
push 0x6c643c
mov edi, 0x3e8
push edi
push eax
call fcn.00402e0a
add esp, 0x14
xor ebx, ebx
lea ecx, [ebp - 0x7f4]
call fcn.00405670
test eax, eax
jne 0x428715
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
push 0x6c63d0
lea eax, [ebp - 0x7f4]
mov dword [ebp - 0x2738], ebx
push eax
lea eax, [ebp - 0x2738]
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x428702
cmp dword [ebp - 0x2738], eax
je 0x428702
mov esi, 0x3e7
mov byte [ebp - 0xbdc], bl
push esi
lea eax, [ebp - 0xbdb]
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x40c], bl
lea eax, [ebp - 0x40b]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x13ac], bl
lea eax, [ebp - 0x13ab]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xfc4], bl
lea eax, [ebp - 0xfc3]
push esi
push ebx
push eax
call fcn.006390b0
add esp, 0xc
lea eax, [ebp - 0x2734]
mov ebx, 0x1388
push dword [ebp - 0x2738]
push ebx
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
je 0x428903
mov esi, str.password
push esi
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x2734]
push esi
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
je 0x428806
push dword [ebp - 0x2738]
lea eax, [ebp - 0x2734]
push ebx
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
jne 0x4287cb
jmp 0x428903
push esi
call fcn.00643470
pop ecx
lea ebx, [ebp - 0x2734]
add ebx, eax
push 0x5c
push ebx
call fcn.006393d0
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x428903
push ebx
lea eax, [ebp - 0xbdc]
mov byte [esi], 0
push edi
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0xbdc]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x428861
push ecx
lea edx, [ebp - 0x13ac]
lea ecx, [ebp - 0xbdc]
call fcn.004284c1
pop ecx
inc esi
cmp byte [esi], 0x3d
jne 0x42886e
inc esi
cmp byte [esi], 0x3d
jne 0x42886e
inc esi
push esi
lea eax, [ebp - 0x40c]
push edi
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x40c]
push 0x5c
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x428896
mov byte [eax], 0
lea eax, [ebp - 0x40c]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x4288ba
push ecx
lea edx, [ebp - 0xfc4]
lea ecx, [ebp - 0x40c]
call fcn.004284c1
pop ecx
lea eax, [ebp - 0x13ac]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x428903
lea eax, [ebp - 0xfc4]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x428903
push 0xffffffffffffffff
mov ecx, 0x6c5bb9
lea eax, [ebp - 0xfc4]
push ecx
push eax
lea eax, [ebp - 0x13ac]
push eax
push ecx
push ecx
mov ecx, dword [ebp - 0x273c]
push 0x70
push 3
call fcn.0043ee6b
push dword [ebp - 0x2738]
call fcn.00649273
xor eax, eax
pop ecx
inc eax
jmp 0x428704