Function at 0x425e20
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x42c
mov eax, dword [0x534014]
xor eax, esp
mov dword [esp + 0x428], eax
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
cmp edi, 2
jl case.0x425e9e.63
dec edi
add esi, 4
mov edi, edi
mov eax, dword [esi]
movzx ecx, word [eax]
cmp ecx, 0x2d
je 0x425e85
cmp ecx, 0x2f
je 0x425e85
cmp word [0x539f10], 0
jne case.0x425e9e.63
push eax
push 0x104
push 0x539f10
call fcn.0043d072
add esp, 0xc
jmp 0x42609e
lea ecx, [eax + 2]
movzx eax, word [ecx]
add eax, 0xffffffc1
cmp eax, 0x38
ja case.0x425e9e.63
movzx eax, byte [eax + 0x426198]
jmp dword [eax*4 + 0x426178]
push 0x41d6e8
push ecx
call fcn.00435119
add esp, 8
test eax, eax
jne case.0x425e9e.63
mov byte [0x539cf3], 1
jmp 0x42609e
push 0x41d6f4
push ecx
call fcn.00435119
add esp, 8
test eax, eax
jne 0x425ee3
mov dword [0x536430], eax
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d718
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne 0x425f09
mov dword [0x536430], 1
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d740
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne 0x425f2f
mov dword [0x536430], 2
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d764
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne 0x425f55
mov dword [0x536430], 3
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d788
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne 0x425f78
mov byte [0x539cf2], 1
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d7ac
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne case.0x425e9e.63
mov byte [0x539cf0], 1
jmp 0x42609e
push 0x41d7d8
push ecx
call fcn.00435119
add esp, 8
test eax, eax
jne case.0x425e9e.63
mov byte [0x539f0c], 1
jmp 0x42609e
push 4
push 0x41d7e8
push ecx
call fcn.0043e46d
add esp, 0xc
test eax, eax
jne case.0x425e9e.63
mov edx, dword [esi]
add edx, 0xa
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425fe3
sub ecx, ebx
sar ecx, 1
cmp ecx, 0x104
jae 0x426153
push edx
push 0x104
push 0x539d00
call fcn.0043d072
add esp, 0xc
mov byte [0x539cfa], 1
jmp 0x42609e
push 0x41d7f4
push ecx
call fcn.00435119
add esp, 8
test eax, eax
jne 0x426038
mov byte [0x539cfb], 1
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d804
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne case.0x425e9e.63
mov byte [0x539cfb], 1
mov byte [0x539f0d], 1
jmp 0x42609e
push 0x41d81c
push ecx
call fcn.00435119
add esp, 8
test eax, eax
jne 0x42607e
mov byte [0x539cf8], 1
jmp 0x42609e
mov eax, dword [esi]
add eax, 2
push 0x41d824
push eax
call fcn.00435119
add esp, 8
test eax, eax
jne case.0x425e9e.63
mov byte [0x539cf8], al
add esi, 4
add edi, 0xffffffff
jne 0x425e50
cmp byte [0x539cf2], 0
je 0x4260ba
mov byte [0], 0
cmp byte [0x539cf3], 0
jne 0x42612b
lea eax, [esp + 0x228]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x426140
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x426164
push 0x104
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
je 0x426164
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x22c]
push eax
push 0x41d830
push 0x104
push 0x53a118
call fcn.00425070
add esp, 0x14
cmp eax, 0xffffffff
je 0x426164
mov ecx, dword [esp + 0x434]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00426f36
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x44f
push 0
call fcn.00425c60
push 0x104
push 0x456
push 0
call fcn.00425c60
push 0x450
push 0
call fcn.00425c60
call fcn.00425dc0
lea ecx, [ecx]
jo 0x4261db
inc edx
add byte [ebp - 0x38ffbda2], ah
pop esi
inc edx
add byte [edi - 0x3effbda1], bl
pop edi
inc edx
add byte [0x63004260], bl
pushal
inc edx
add byte [eax + 0x61], dh
inc edx
add byte [eax], al
pop es
pop es
pop es
add dword [edi], eax
add al, byte [edi]
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add eax, dword [edi + eax]
pop es
pop es
add eax, 101123847
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add dword [edi], eax
add al, byte [edi]
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add eax, dword [edi + eax]
pop es
pop es
add eax, 101123847
int3
int3