Function at 0x10022ee0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x101366ae
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
mov eax, dword [0x1017455c]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x2c]
xor ebx, ebx
test byte [0x101a39fc], 1
jne 0x10022f3f
or dword [0x101a39fc], 1
mov ecx, 0x101a3968
mov dword [esp + 0x20], ebx
call fcn.10062b90
push 0x10136fd0
call fcn.1010e0e7
add esp, 4
mov dword [esp + 0x20], 0xffffffff
xor esi, esi
cmp byte [0x1019c2e0], bl
jne 0x10022f59
push 0x1019c2e0
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp byte [0x1019c1d8], bl
jne 0x10022f77
push 0x1019c1d8
push ebx
push 0x1014d38c
push 0x1019c2e0
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov eax, dword [0x1018cc2c]
cmp eax, 0xffffffff
jne 0x10023090
cmp byte [0x1019c610], bl
jne 0x1002314f
mov esi, 0x1019c610
call fcn.1006aab0
mov ecx, esi
call fcn.10049c40
push str.vul.avs
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x28]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x10022fb6
mov esi, 1
push esi
push ebx
xor edx, edx
mov ecx, 0x1019c610
call fcn.10044660
add esp, 8
test eax, eax
je 0x10022ff5
mov dword [0x1018cc2c], ebx
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
push 0x1019c610
push 0x1019c3e8
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
mov ecx, 0x1019c3e8
call fcn.1005c340
test eax, eax
je 0x10022fda
cmp dword [0x1019c5f0], ebx
je 0x10022fda
mov eax, 0x1019c1d8
mov dword [0x1018cc2c], esi
call fcn.10033960
mov eax, dword [0x1019c600]
mov ecx, dword [0x1019c5f0]
push eax
push ecx
mov ecx, 0x1019c1d8
call fcn.10046040
push esi
push ebx
lea edx, [esp + 0x24]
mov ecx, 0x1019c1d8
call fcn.10044660
add esp, 0x10
test eax, eax
jne 0x10023131
cmp dword [esp + 0x14], ebx
jbe 0x10023131
mov edx, dword [0x1019c600]
mov dword [ebp], edx
mov eax, 0x1019c1d8
mov edx, edi
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, esi
cmp cl, bl
jne 0x10023080
jmp 0x1002314f
cmp eax, 1
jne 0x1002314f
mov edx, dword [esp + 0x28]
mov eax, 0x1019c3e8
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x100230a4
push ebx
mov ecx, 0x1019c3e8
call fcn.1005c340
cmp eax, 1
jne 0x10023135
mov ecx, 0x101a3968
mov dword [0x1019c1d0], ebx
call fcn.10062ce0
mov eax, 0x1019c1d8
call fcn.10033960
mov eax, dword [0x1019c600]
mov ecx, dword [0x1019c5f0]
push eax
push ecx
mov ecx, 0x1019c1d8
call fcn.10046040
push 1
push ebx
lea edx, [esp + 0x24]
mov ecx, 0x1019c1d8
call fcn.10044660
add esp, 0x10
test eax, eax
jne 0x10023131
cmp dword [esp + 0x14], ebx
jbe 0x10023131
mov edx, dword [0x1019c600]
mov dword [ebp], edx
mov eax, 0x1019c1d8
mov edx, edi
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x10023120
mov esi, 2
jmp 0x1002314f
xor esi, esi
jmp 0x1002314f
mov eax, 0x1019c1d8
mov edx, edi
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x10023140
mov esi, 4
mov edx, dword [esp + 0x28]
cmp byte [edx], bl
jne 0x1002316a
mov eax, 0x1019c3e8
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x10023160
mov eax, dword [0x1019c5f0]
cmp eax, ebx
je 0x10023182
push eax
call fcn.1010dc10
add esp, 4
mov dword [0x1019c5f0], ebx
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
add esp, 0x14
ret