Function at 0x45d250
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1034
call fcn.0041d5e0
mov eax, dword [0x485094]
xor eax, esp
mov dword [esp + 0x1030], eax
push ebx
push esi
push edi
push 0x800
lea eax, [esp + 0x83c]
mov bl, cl
push 0
push eax
call fcn.00436570
add esp, 0xc
lea eax, [esp + 0x38]
push 0x800
push 0
push eax
call fcn.00436570
add esp, 0xc
lea eax, [esp + 0x838]
push 0x800
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x800
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push 0
push 0
push 0
lea eax, [esp + 0x34]
mov dword [esp + 0x3c], 0
push eax
lea eax, [esp + 0x48]
mov word [esp + 0x44], 0
xorps xmm0, xmm0
push eax
movq qword [esp + 0x3c], xmm0
call fcn.0043d629
lea edi, [esp + 0x3c]
add esp, 0x14
add edi, 0xfffffffe
nop dword [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x45d300
mov eax, dword [0x4794ec]
mov dword [edi], eax
lea eax, [esp + 0x18]
push eax
call fcn.0043802a
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push eax
call fcn.00440573
movsd xmm2, qword [0x47ae00]
mov edx, eax
add esp, 4
mov dword [esp + 0x14], edx
xorps xmm0, xmm0
test edx, edx
jne 0x45d35a
movaps xmm1, xmm0
jmp 0x45d430
mov edi, dword [edx + 0x14]
add edi, 0x76c
cmp edi, 0x64
jge 0x45d36d
cmp edi, 0x1e
jge 0x45d375
lea eax, [edi - 0x65]
cmp eax, 0x62
ja 0x45d37d
add edi, 0x76c
jmp 0x45d388
cmp edi, 0x1e
jge 0x45d388
add edi, 0x7d0
mov esi, dword [edx + 0x10]
inc esi
cmp esi, 2
jle 0x45d39b
mov dword [esp + 0x10], 1
jmp 0x45d3a4
dec edi
mov dword [esp + 0x10], 0xd
mov ecx, dword [edx + 8]
mov eax, dword [edx + 4]
movd xmm0, dword [edx]
shl ecx, 4
sub ecx, dword [edx + 8]
cvtdq2pd xmm0, xmm0
lea eax, [eax + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + 0x10]
shl ecx, 2
add eax, esi
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
imul ecx, eax, 0x132
mov eax, 0x66666667
addsd xmm1, xmm0
imul ecx
divsd xmm1, xmm2
mov eax, 0x51eb851f
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
imul ecx, edi, 0x8ead
imul ecx
mov eax, dword [esp + 0x14]
sar edx, 5
mov ecx, edx
add esi, edx
shr ecx, 0x1f
mov eax, dword [eax + 0xc]
add ecx, esi
add eax, 0xfff568ea
add eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [0x47ad90]
test bl, bl
je 0x45d449
movzx eax, bl
imul eax, eax, 0xe10
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
movaps xmm3, xmm0
lea ecx, [esp + 0x838]
movaps xmm2, xmm1
mov dl, 1
call fcn.0040f4eb
test al, al
jne 0x45d725
lea eax, [esp + 0x20]
push eax
call fcn.0043802a
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
call fcn.00440573
mov edx, eax
add esp, 4
mov dword [esp + 0x14], edx
test edx, edx
jne 0x45d4a9
movsd xmm2, qword [0x47ae00]
xorps xmm1, xmm1
jmp 0x45d584
mov edi, dword [edx + 0x14]
add edi, 0x76c
cmp edi, 0x64
jge 0x45d4bc
cmp edi, 0x1e
jge 0x45d4c4
lea eax, [edi - 0x65]
cmp eax, 0x62
ja 0x45d4cc
add edi, 0x76c
jmp 0x45d4d7
cmp edi, 0x1e
jge 0x45d4d7
add edi, 0x7d0
mov esi, dword [edx + 0x10]
inc esi
cmp esi, 2
jle 0x45d4ea
mov dword [esp + 0x10], 1
jmp 0x45d4f3
dec edi
mov dword [esp + 0x10], 0xd
mov ecx, dword [edx + 8]
mov eax, dword [edx + 4]
movd xmm0, dword [edx]
shl ecx, 4
sub ecx, dword [edx + 8]
movsd xmm2, qword [0x47ae00]
cvtdq2pd xmm0, xmm0
lea eax, [eax + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + 0x10]
shl ecx, 2
add eax, esi
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
imul ecx, eax, 0x132
mov eax, 0x66666667
addsd xmm1, xmm0
imul ecx
divsd xmm1, xmm2
mov eax, 0x51eb851f
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
imul ecx, edi, 0x8ead
imul ecx
mov eax, dword [esp + 0x14]
sar edx, 5
mov ecx, edx
add esi, edx
shr ecx, 0x1f
mov eax, dword [eax + 0xc]
add ecx, esi
add eax, 0xfff568ea
add eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
addsd xmm1, qword [0x47ad90]
test bl, bl
je 0x45d59f
movzx eax, bl
imul eax, eax, 0xe10
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
jmp 0x45d5a2
xorps xmm0, xmm0
movaps xmm3, xmm0
lea ecx, [esp + 0x38]
movaps xmm2, xmm1
xor dl, dl
call fcn.0040f4eb
test al, al
jne 0x45d725
lea eax, [esp + 0x20]
push eax
call fcn.0043802a
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
call fcn.00440573
mov edx, eax
add esp, 4
mov dword [esp + 0x14], edx
test edx, edx
jne 0x45d602
movsd xmm2, qword [0x47ae00]
xorps xmm0, xmm0
movaps xmm1, xmm0
jmp 0x45d6e0
mov edi, dword [edx + 0x14]
add edi, 0x76c
cmp edi, 0x64
jge 0x45d615
cmp edi, 0x1e
jge 0x45d61d
lea eax, [edi - 0x65]
cmp eax, 0x62
ja 0x45d625
add edi, 0x76c
jmp 0x45d630
cmp edi, 0x1e
jge 0x45d630
add edi, 0x7d0
mov esi, dword [edx + 0x10]
inc esi
cmp esi, 2
jle 0x45d643
mov dword [esp + 0x10], 1
jmp 0x45d64c
dec edi
mov dword [esp + 0x10], 0xd
mov ecx, dword [edx + 8]
mov eax, dword [edx + 4]
movd xmm0, dword [edx]
shl ecx, 4
sub ecx, dword [edx + 8]
movsd xmm2, qword [0x47ae00]
cvtdq2pd xmm0, xmm0
lea eax, [eax + ecx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, 0x66666667
shl ecx, 2
movd xmm1, ecx
mov ecx, dword [esp + 0x10]
cvtdq2pd xmm1, xmm1
add ecx, esi
imul ecx, ecx, 0x132
addsd xmm1, xmm0
imul ecx
divsd xmm1, xmm2
mov eax, 0x51eb851f
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
imul ecx, edi, 0x8ead
imul ecx
mov eax, dword [esp + 0x14]
sar edx, 5
mov ecx, edx
add esi, edx
shr ecx, 0x1f
mov eax, dword [eax + 0xc]
add ecx, esi
add eax, 0xfff568ea
add eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [0x47ad90]
test bl, bl
je 0x45d6f9
movzx eax, bl
imul eax, eax, 0xe10
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
movaps xmm3, xmm0
lea ecx, [esp + 0x28]
movaps xmm2, xmm1
xor dl, dl
call fcn.0040f4eb
test al, al
jne 0x45d725
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1030]
xor ecx, esp
call fcn.0041c30c
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x103c]
xor al, al
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041c30c
mov esp, ebp
pop ebp
ret