Function at 0x42a1c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47996e
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x15ec
call fcn.0046eb00
mov eax, dword [0x49b3d4]
xor eax, esp
mov dword [esp + 0x15e8], eax
push ebx
push esi
push edi
mov eax, dword [0x49b3d4]
xor eax, esp
push eax
lea eax, [esp + 0x1600]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov esi, edx
mov dword [esp + 0x20], eax
push eax
lea eax, [esp + 0xf8]
mov ebx, ecx
mov dword [esp + 0x28], esi
call fcn.004025d0
lea ecx, [ebx + 0xac4]
lea edi, [esp + 0xf4]
mov dword [esp + 0x1608], 0
mov dword [esp + 0x28], ecx
call fcn.004135a0
or edi, 0xffffffff
lea ecx, [esp + 0xf4]
mov dword [esp + 0x1608], edi
call fcn.00402601
push esi
lea ecx, [esp + 0x114]
push str.Un8z
push ecx
call fcn.0040ceb0
add esp, 0xc
mov ecx, eax
mov eax, str._to
lea esi, [esp + 0x148]
mov dword [esp + 0x1608], 1
call fcn.0040ce90
mov ecx, eax
mov byte [esp + 0x1608], 2
mov eax, dword [esp + 0x18]
lea esi, [esp + 0xf4]
call fcn.0040ce90
mov byte [esp + 0x1608], 3
call fcn.0040263b
mov ecx, dword [ebx + 0x8c28]
push eax
push str.INFO
call fcn.00416a80
mov ecx, esi
call fcn.00402601
lea ecx, [esp + 0x148]
call fcn.00402601
lea ecx, [esp + 0x110]
mov dword [esp + 0x1608], edi
call fcn.00402601
cmp word [ebx + 0x80c], 0
lea esi, [ebx + 0x80c]
mov dword [esp + 0x14], 0
jne 0x42a343
cmp word [ebx + 0x604], 0
lea edi, [ebx + 0x604]
jne 0x42a321
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
push 0x104
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x42a337
xor ecx, ecx
mov word [esi], cx
cmp word [esi], 0
jne 0x42a343
lea esi, [ebx + 0x604]
push esi
push ecx
push str.sutils.jar
push 0x484350
call fcn.004087e0
mov esi, dword [sym.imp.SHLWAPI.dll_wnsprintfW]
add esp, 0xc
push eax
lea edx, [esp + 0xfe4]
push 0x104
push edx
call esi
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x5d0]
push 0x104
push ecx
call fcn.004593e1
lea eax, [esp + 0x5d8]
add esp, 0x1c
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42a391
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x5ba], 0x5c
lea eax, [esp + eax*2 + 0x5ba]
jne 0x42a3b7
xor edx, edx
mov word [eax], dx
lea eax, [esp + 0x12c]
call fcn.004025a9
lea edx, [esp + 0x12c]
lea ecx, [esp + 0x9c4]
mov dword [esp + 0x1608], 4
call fcn.0042d290
cmp word [esp + 0x9c4], 0
jne 0x42a42a
mov ecx, dword [ebx + 0x8c28]
push str.javaNotFound
push str.ERROR
call fcn.00416a80
push 0x485bf4
push str.javaNotFound
add ebx, 0x8d20
push ebx
call fcn.0040260f
push eax
call fcn.0040260f
mov dword [esp + 0x14], 1
jmp 0x42a78c
lea eax, [esp + 0xbcc]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [esp + 0xd8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0xdc]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 0
add ecx, 0x2ac18000
push 0x2710
adc eax, 0xfe624e21
push eax
push ecx
call fcn.00474110
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
lea edx, [esp + 0xbd8]
push edx
push str.szonaErr__s__d.log
push 0x484350
call fcn.004087e0
add esp, 8
push eax
lea eax, [esp + 0xbe0]
push 0x208
push eax
call esi
mov eax, dword [esp + 0x40]
add esp, 0x1c
lea ecx, [esp + 0xbcc]
push ecx
lea edx, [esp + 0x5c0]
push edx
call fcn.0040263b
push eax
lea eax, [esp + 0xfe8]
push eax
lea ecx, [esp + 0x9d4]
push ecx
push ecx
push str._s_binjavaw.exe___classpath___s__org.sevenzip.decoder.SevenZipFolderDecoder___s____s____s_
push 0x48429c
call fcn.004087e0
add esp, 0xc
push eax
lea edx, [esp + 0x11fc]
push 0x208
push edx
call esi
lea ecx, [esp + 0x1204]
push ecx
lea edx, [esp + 0x18c]
xor eax, eax
push 0x208
push edx
mov dword [esp + method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [esp + 0x194], ax
call fcn.004593e1
mov ecx, dword [ebx + 0x8c30]
add esp, 0x2c
push 0x100
lea edx, [esp + 0x7c8]
push edx
mov dword [esp + method.ExecuteProcessCommand.virtual_0], vtable.ExecuteProcessCommand.0
mov eax, dword [ecx]
mov eax, dword [eax]
lea edx, [esp + 0x16c]
push edx
call eax
cmp word [esp + 0x7c4], 0
je 0x42a78c
lea ecx, [esp + 0x7c4]
push ecx
call fcn.004597f8
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x42a78c
lea edx, [esp + 0x2c]
push edx
call fcn.00409760
lea eax, [esp + 0x7c4]
push eax
push ecx
lea ecx, [esp + 0x44]
push str.error_code:
push ecx
mov byte [esp + 0x1618], 5
call fcn.00403bd5
add esp, 0xc
push eax
call fcn.00403bd5
add esp, 8
push eax
call fcn.00402188
lea edi, [esp + 0x110]
lea eax, [esp + 0x2c]
call fcn.00409820
mov byte [esp + 0x1608], 6
call fcn.0040263b
mov ecx, dword [ebx + 0x8c28]
push eax
push str.ERROR
call fcn.00416a80
mov ecx, edi
mov byte [esp + 0x1608], 5
call fcn.00402601
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push edx
push eax
push str.xtract__s__d
push 0x4842c8
call fcn.004087e0
add esp, 8
push eax
lea ecx, [esp + 0x58c]
push 0x1e
push ecx
call esi
add esp, 0x14
push 0x485bf4
lea edx, [esp + 0x584]
push edx
lea esi, [ebx + 0x8d20]
push esi
call fcn.0040260f
push eax
call fcn.0040260f
lea eax, [esp + 0xf4]
call fcn.004025a9
lea edi, [esp + 0xf4]
lea ecx, [esp + 0x11e4]
mov byte [esp + 0x1608], 7
call fcn.004075c0
push 0x485bf4
mov eax, edi
push 0
push eax
or eax, 0xffffffff
mov edi, esi
call fcn.00403074
push eax
call fcn.0040260f
cmp dword [esp + 0x14], 1
jne 0x42a70a
push str.llJvm
push 0x486530
call fcn.004087e0
add esp, 8
push 0x485bf4
push eax
push esi
call fcn.0040260f
push eax
call fcn.0040260f
lea eax, [esp + 0xd8]
call fcn.004025a9
lea ecx, [esp + 0xd8]
mov byte [esp + 0x1608], 8
call fcn.0042d450
push 0x485bf4
push 0
lea ecx, [esp + 0xe0]
push ecx
or eax, 0xffffffff
call fcn.00403074
push eax
call fcn.0040260f
lea ecx, [esp + 0xd8]
mov byte [esp + 0x1608], 7
call fcn.00402601
lea edi, [esp + 0x18]
lea eax, [esp + 0xbcc]
call fcn.00406b50
test eax, eax
je 0x42a76f
lea edi, [eax + eax]
xor ecx, ecx
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0045854a
mov edx, dword [esp + 0x1c]
add esp, 4
mov ebx, eax
call fcn.00407a60
push 0x485bf4
push ebx
push esi
call fcn.0040260f
push eax
call fcn.0040260f
mov eax, dword [esp + 0x18]
push eax
call fcn.004592db
add esp, 4
push ebx
call fcn.004592db
add esp, 4
lea ecx, [esp + 0xf4]
call fcn.00402601
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1608], 4
call fcn.00408060
mov ecx, dword [esp + 0x20]
push ecx
lea eax, [esp + 0xdc]
call fcn.004025d0
mov esi, dword [esp + 0x28]
push esi
mov byte [esp + 0x160c], 9
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esi + 0x18]
lea edx, [esp + 0xd8]
call fcn.004137c0
mov esi, dword [eax]
test esi, esi
je 0x42a7d5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x20], eax
lea ecx, [esp + 0xd8]
call fcn.00402601
lea ecx, [esp + 0x12c]
call fcn.00402601
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1600]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x15e8]
xor ecx, esp
call fcn.00458db6
mov esp, ebp
pop ebp
ret