Function at 0x103fa6f
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70c
mov eax, dword [0x1099958]
push ebx
push esi
xor esi, esi
mov ecx, dword [eax + 4]
push edi
mov dword [ebp - 4], esi
call fcn.0103d2ca
or ebx, 0xffffffff
mov dword [ebp - 8], eax
mov edi, 0x100a1fc
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0x10], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0xc], esi
lea edx, [ebp - 0x324]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp - 0x324]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 8]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x324]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0xc]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [ebp + 0xc]
and ecx, 3
cmp byte [edx], al
rep movsb byte es:[edi], byte [esi]
je 0x103fb5c
mov edi, edx
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], 0x5c
je 0x103fb5c
mov edi, 0x100a1a0
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x324]
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x10]
mov ecx, ebx
xor eax, eax
lea edx, [ebp - 0x324]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x324]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x14]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x324]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x100a1fc
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x1099998]
call fcn.0103d2d5
mov esi, eax
mov ecx, ebx
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x27
push ecx
call fcn.01092096
mov dword [ebp + 0xc], eax
mov eax, dword [0x1099998]
pop ecx
test byte [eax + 0xb], 8
je 0x103fc26
mov eax, 0x1f5
push eax
push eax
push 0x100a1dc
push dword [ebp + 0xc]
call fcn.0104ba30
add esp, 0x10
jmp 0x103fc3b
push 0x1f5
push 0x100a1cc
push dword [ebp + 0xc]
call fcn.0104ba30
add esp, 0xc
mov edi, esi
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [ebp + 0xc]
mov edx, ecx
mov ecx, ebx
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x70c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov esi, 0x3e8
push esi
call sub.KERNEL32.dll_GetTempPathA
push esi
call fcn.01092096
mov esi, dword [ebp + 0x18]
pop ecx
xor edi, edi
push eax
mov dword [esi], eax
push edi
lea eax, [ebp - 0x70c]
push 0x100a1c4
push eax
call sub.KERNEL32.dll_GetTempFileNameA
test eax, eax
je 0x103fcb0
push 0x20
push 0x1009d88
push dword [esi]
call fcn.0104cc80
add esp, 0xc
cmp eax, edi
mov dword [ebp + 0x10], eax
jne 0x103fcb4
push dword [esi]
jmp 0x103fd0c
mov eax, dword [eax + 0x10]
cmp dword [0x1094cbc], ebx
push 1
mov dword [ebp + 8], eax
pop esi
jne 0x103fcd5
push esi
call fcn.0104d030
cmp eax, ebx
pop ecx
mov dword [0x1094cbc], eax
je 0x103fd3b
push esi
push dword [ebp + 8]
call fcn.0104ce50
pop ecx
cmp eax, ebx
pop ecx
je 0x103fd3b
mov eax, dword [0x1099998]
test byte [eax + 5], 8
je 0x103fd56
mov dword [ebp - 0x10], esi
mov esi, 0x100a1b8
push 0x1009d88
push esi
call fcn.0104ccb0
pop ecx
cmp eax, edi
pop ecx
mov dword [ebp - 0x14], eax
jne 0x103fd13
push esi
mov esi, 0x3f8
jmp 0x103fd41
mov esi, dword [eax + 0x10]
push 2
mov dword [0x1094cc0], ebx
call fcn.0104d030
cmp eax, ebx
pop ecx
mov dword [0x1094cc0], eax
je 0x103fd3b
push 2
push esi
call fcn.0104ce50
pop ecx
cmp eax, ebx
pop ecx
jne 0x103fd53
push edi
mov esi, 0x3fa
push esi
push edi
push edi
call fcn.01040075
add esp, 0x10
mov eax, esi
jmp 0x103fe38
push 1
pop esi
lea eax, [ebp - 0x324]
push edi
push eax
push dword [ebp + 0xc]
push dword [ebp - 8]
push dword [ebp - 8]
push edi
call fcn.0104ce30
add esp, 0x18
mov dword [ebp + 8], eax
push dword [ebp + 0xc]
call fcn.010920d0
pop ecx
push dword [ebp + 0x10]
call fcn.0104c8f0
pop ecx
push esi
push dword [0x1094cbc]
call fcn.0104ce50
cmp dword [ebp - 0x10], edi
pop ecx
pop ecx
je 0x103fdb0
push dword [ebp - 0x14]
call fcn.0104c8f0
pop ecx
push 2
push dword [0x1094cc0]
call fcn.0104ce50
pop ecx
pop ecx
cmp dword [ebp + 8], ebx
jne 0x103fdf2
mov eax, dword [0x1099c38]
dec eax
dec eax
je 0x103fde3
sub eax, 6
je 0x103fdda
sub eax, 4
je 0x103fdd1
mov dword [ebp - 4], 0x3ec
jmp 0x103fdea
mov dword [ebp - 4], 0x7d5
jmp 0x103fdea
mov dword [ebp - 4], 0x3ee
jmp 0x103fdea
mov dword [ebp - 4], 0x3ed
push dword [ebp - 8]
push dword [ebp - 4]
jmp 0x103fe18
cmp dword [ebp + 8], edi
je 0x103fe25
push dword [ebp + 8]
lea eax, [ebp - 0x20]
push 0x100a1bc
push eax
call fcn.0104ba30
add esp, 0xc
lea ecx, [ebp - 0x20]
mov eax, 0x3eb
push ecx
mov dword [ebp - 4], eax
push eax
push edi
push edi
call fcn.01040075
add esp, 0x10
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], edi
je 0x103fe35
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.0104cd00
pop ecx
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 0x14