Function at 0x10018593
Capabilities:
Get common file path

Disassembly:
push 0x2b8
mov eax, 0x1001f136
call fcn.1001bb71
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x21c], ebx
and dword [ebp - 4], 0
test ebx, ebx
je 0x1001895e
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100185cb
call fcn.100060e0
jmp 0x100185cd
xor eax, eax
test eax, eax
je 0x1001895e
push ebx
call fcn.100178ef
pop ecx
mov ecx, dword [ebp + 0xc]
test eax, eax
je 0x100185f3
test ecx, ecx
je 0x100185ec
call fcn.10007f79
push 9
jmp 0x1001896c
test ecx, ecx
je 0x100185fe
call fcn.100060e0
jmp 0x10018600
xor eax, eax
push eax
call fcn.100178ef
pop ecx
test eax, eax
je 0x10018610
mov ecx, dword [ebp + 0xc]
jmp 0x100185e3
test edi, edi
je 0x100186c7
push edi
call fcn.100178ef
pop ecx
test eax, eax
jne 0x1001860b
mov ebx, edi
lea eax, [ebp - 0x218]
push eax
mov edi, 0x104
push edi
call dword [sym.imp.kernel32.dll_GetTempPathA]
cmp eax, edi
ja 0x1001894d
test eax, eax
je 0x1001894d
lea eax, [ebp - 0x114]
push eax
push 0
push str.JNLP
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.kernel32.dll_GetTempFileNameA]
test eax, eax
je 0x1001894d
push 1
lea ecx, [ebp - 0x2c4]
call fcn.1001b835
push 0x40
push 0x12
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 1
call fcn.1001a3fb
mov eax, dword [ebp - 0x2c4]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x2b8], 6
je 0x100186d1
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0
call fcn.1001b8d4
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100186c0
call fcn.10007f79
push 2
jmp 0x1001896c
mov ebx, 0x10025143
jmp 0x10018625
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100186df
call fcn.100060e0
jmp 0x100186e1
xor eax, eax
push eax
lea eax, [ebp - 0x2c4]
push str.docbase
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.10019e4e
push eax
call fcn.1001ad99
add esp, 0xc
push dword [ebp - 0x21c]
push str.jnlphref
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.10019e4e
push eax
call fcn.1001ad99
add esp, 0xc
push ebx
push str.embedded
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.10019e4e
push eax
call fcn.1001ad99
add esp, 0xc
cmp byte [esi + 0x29], 0
je 0x100187b9
mov eax, dword [esi + 0x10]
mov edi, dword [eax]
xor ebx, ebx
cmp edi, eax
je 0x10018797
lea eax, [edi + 8]
push eax
push 0x10025344
push ebx
lea eax, [ebp - 0x2c4]
push str.vmarg.
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.1001a005
push eax
call fcn.1001ad99
mov edi, dword [edi]
add esp, 0xc
inc ebx
cmp edi, dword [esi + 0x10]
jne 0x10018754
push ebx
lea eax, [ebp - 0x2c4]
push str.vmarg.length
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.1001ad99
pop ecx
cmp byte [esi + 0x2a], 0
je 0x1001882f
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
xor ebx, ebx
cmp edi, eax
je 0x1001880d
lea eax, [edi + 8]
push eax
push 0x10025360
push ebx
lea eax, [ebp - 0x2c4]
push str.apparg.
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.1001a005
push eax
call fcn.1001ad99
mov edi, dword [edi]
add esp, 0xc
inc ebx
cmp edi, dword [esi + 0x1c]
jne 0x100187ca
push ebx
lea eax, [ebp - 0x2c4]
push str.apparg.length
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.1001ad99
pop ecx
cmp byte [esi + 0x28], 0
je 0x10018907
mov eax, dword [esi + 4]
mov ecx, dword [eax]
xor ebx, ebx
mov dword [ebp - 0x21c], ecx
cmp ecx, eax
je 0x100188e5
mov edi, dword [ebp - 0x21c]
add edi, 0xc
push edi
push 0x1002537c
push ebx
lea eax, [ebp - 0x2c4]
push str.name.
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.1001a005
push eax
call fcn.1001ad99
add esp, 0xc
add edi, 0x1c
push edi
push 0x10025388
push ebx
lea eax, [ebp - 0x2c4]
push str.value.
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.10019e4e
pop ecx
pop ecx
push eax
call fcn.1001a005
push eax
call fcn.1001ad99
add esp, 0xc
lea ecx, [ebp - 0x21c]
call fcn.10006636
mov eax, dword [esi + 4]
inc ebx
cmp dword [ebp - 0x21c], eax
jne 0x1001884e
push ebx
lea eax, [ebp - 0x2c4]
push str.param.length
push eax
call fcn.10019e4e
pop ecx
pop ecx
mov ecx, eax
call fcn.1001a232
push eax
call fcn.1001ad99
pop ecx
lea ecx, [ebp - 0x2c4]
call fcn.1001b7a6
cmp dword [esi + 0x2c], 1
lea eax, [ebp - 0x114]
push eax
jne 0x10018946
call fcn.10017f52
pop ecx
lea ecx, [ebp - 0x2c4]
mov esi, eax
mov byte [ebp - 4], 0
call fcn.1001b8d4
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x10018942
call fcn.10007f79
mov eax, esi
jmp 0x1001896d
call fcn.1001824b
jmp 0x10018924
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x10018959
call fcn.10007f79
xor eax, eax
inc eax
jmp 0x1001896d
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1001896a
call fcn.10007f79
push 0xa
pop eax
call fcn.1001bbf4
ret