Function at 0x403898
Capabilities:
Get common file path

Disassembly:
mov eax, 0x42f090
call fcn.0042ef64
sub esp, 0x66c
push ebx
push esi
xor ebx, ebx
mov esi, ecx
push edi
mov edi, ebx
mov dword [ebp - 0x1c], esi
xorps xmm0, xmm0
mov dword [ebp - 0x24], edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x264], ebx
movlpd qword [ebp - 0x18], xmm0
call fcn.0040a3ee
mov dword [ebp - 4], ebx
mov eax, ecx
push dword [esi + 0x646]
push dword [esi + 0x642]
push ecx
push 0x83
push eax
mov ecx, esi
call fcn.004043a4
test eax, eax
je 0x403ab4
mov dword [ebp - 0x28], ebx
cmp dword [esi + 0x64a], ebx
jle 0x403ab4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ecx
test edi, edi
jne 0x403977
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x46e]
add esi, ecx
lea edi, [ebp - 0x678]
mov ecx, 0x106
push 0x43696c
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0041c2a7
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
test eax, eax
jne 0x403947
xor edi, edi
inc edi
mov dword [ebp - 0x24], edi
jmp 0x40395d
mov eax, dword [ebp - 0x264]
mov edi, dword [ebp - 0x24]
add eax, 0x418
add ecx, eax
mov dword [ebp - 0x14], ecx
adc dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [esi + 0x64a]
jl 0x40390f
test edi, edi
je 0x403ab4
lea ecx, [ebp - 0x4c]
call fcn.0040a3ee
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 1
push eax
mov eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x3c]
add ecx, 0x418
push dword [ebp - 0x264]
add eax, ecx
push eax
call fcn.00403ae3
test eax, eax
je 0x403aaa
lea ecx, [esi + 0x12dc]
call fcn.0040b37e
push ebx
lea edx, [ebp - 0x260]
mov ecx, eax
call fcn.00404d3c
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x678]
mov edi, 0x436988
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.0040b982
add esp, 0x14
lea ecx, [ebp - 0x34]
call fcn.0040e7e8
push ebx
push 0x10000000
push 2
push ebx
push 0x40000000
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.0040b37e
push eax
lea ecx, [ebp - 0x34]
call fcn.0040e896
test eax, eax
jne 0x403a67
lea eax, [ebp - 0x260]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.0040b982
add esp, 0x10
lea ecx, [ebp - 0x14]
push ebx
push 0x10000000
push 2
push ebx
push 0x40000000
call fcn.0040b37e
push eax
lea ecx, [ebp - 0x34]
call fcn.0040e896
test eax, eax
je 0x403a9a
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
push dword [ebp - 0x48]
call fcn.0040e91f
test eax, eax
je 0x403a9a
lea ecx, [ebp - 0x34]
call fcn.0040e8ce
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x14]
xor ebx, ebx
inc ebx
push eax
mov dword [esi + 0x12f8], ebx
call fcn.0040b601
lea ecx, [ebp - 0x34]
call fcn.0040e7f9
lea ecx, [ebp - 0x14]
call fcn.0040b313
lea ecx, [ebp - 0x4c]
call fcn.0040a3ff
jmp 0x403ac6
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x222]
push eax
call fcn.0040b619
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x40]
call fcn.0040a3ff
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4