Function at 0x411ca0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1030
call fcn.0043d620
mov eax, dword [0x49e234]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
push 0x7fe
push eax
lea ecx, [ebp - 0x1016]
push ecx
mov word [ebp - 0x1018], ax
call fcn.0042dac0
add esp, 0xc
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0x816]
push eax
mov word [ebp - 0x818], dx
call fcn.0042dac0
add esp, 0xc
push 0x800
lea ecx, [ebp - 0x1018]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x800
lea edx, [ebp - 0x818]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xor eax, eax
push eax
push eax
push eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov word [ebp - 8], ax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x818]
push ecx
call fcn.0042f9a6
lea edi, [ebp - 0x14]
add esp, 0x14
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x411d44
mov edx, dword [0x48e5a0]
lea eax, [ebp - 0x1030]
push eax
mov dword [edi], edx
call fcn.0042c5f6
mov ecx, dword [ebp - 0x1030]
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 0x1028]
add esp, 4
push eax
mov dword [ebp - 0x1028], ecx
mov dword [ebp - 0x1024], edx
call fcn.00431286
fld qword [0x490558]
fldz
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x411da3
fld st(0)
jmp 0x411e59
mov eax, dword [ecx + 0x14]
add eax, 0x76c
cmp eax, 0x64
jge 0x411db5
cmp eax, 0x1e
jge 0x411dbd
lea edx, [eax - 0x65]
cmp edx, 0x62
ja 0x411dc4
add eax, 0x76c
jmp 0x411dce
cmp eax, 0x1e
jge 0x411dce
add eax, 0x7d0
mov esi, dword [ecx + 0x10]
inc esi
cmp esi, 2
jle 0x411dda
inc esi
jmp 0x411dde
add esi, 0xd
dec eax
mov edx, dword [ecx + 8]
imul eax, eax, 0x8ead
imul esi, esi, 0x132
mov edi, edx
shl edi, 4
sub edi, edx
mov edx, dword [ecx + 4]
lea edx, [edx + edi*4]
mov edi, edx
shl edi, 4
sub edi, edx
add edi, edi
add edi, edi
mov dword [ebp - 0x101c], edi
mov edx, eax
mov eax, 0x51eb851f
fild dword [ebp - 0x101c]
imul edx
fiadd dword [ecx]
fdiv st(2)
mov ecx, dword [ecx + 0xc]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x66666667
imul esi
sar edx, 2
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
lea edx, [eax + ecx - 0xa9716]
mov dword [ebp - 0x101c], edx
fild dword [ebp - 0x101c]
faddp st(1)
fadd qword [0x490570]
test bl, bl
je 0x411e78
movzx eax, bl
fstp st(1)
imul eax, eax, 0xe10
mov dword [ebp - 0x101c], eax
fild dword [ebp - 0x101c]
fdivrp st(2)
jmp 0x411e7c
fstp st(2)
fxch st(1)
sub esp, 0x10
fxch st(1)
fstp qword [esp + 8]
lea ecx, [ebp - 0x1018]
fstp qword [esp]
push 1
push ecx
call fcn.00410496
add esp, 0x18
test al, al
jne 0x412005
lea edx, [ebp - 0x1028]
push edx
call fcn.0042c5f6
mov eax, dword [ebp - 0x1028]
mov ecx, dword [ebp - 0x1024]
lea edx, [ebp - 0x1030]
add esp, 4
push edx
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x102c], ecx
call fcn.00431286
mov esi, eax
add esp, 4
test esi, esi
jne 0x411ee4
fldz
jmp 0x411f9e
mov eax, dword [esi + 0x14]
add eax, 0x76c
cmp eax, 0x64
jge 0x411ef6
cmp eax, 0x1e
jge 0x411efe
lea ecx, [eax - 0x65]
cmp ecx, 0x62
ja 0x411f05
add eax, 0x76c
jmp 0x411f0f
cmp eax, 0x1e
jge 0x411f0f
add eax, 0x7d0
mov ecx, dword [esi + 0x10]
inc ecx
cmp ecx, 2
jle 0x411f1b
inc ecx
jmp 0x411f1f
add ecx, 0xd
dec eax
mov edx, dword [esi + 8]
imul eax, eax, 0x8ead
imul ecx, ecx, 0x132
mov edi, edx
shl edi, 4
sub edi, edx
mov edx, dword [esi + 4]
lea edx, [edx + edi*4]
mov edi, edx
shl edi, 4
sub edi, edx
add edi, edi
add edi, edi
mov dword [ebp - 0x101c], edi
mov edx, eax
mov eax, 0x51eb851f
fild dword [ebp - 0x101c]
imul edx
fiadd dword [esi]
fdiv qword [0x490558]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x66666667
imul ecx
mov ecx, dword [esi + 0xc]
sar edx, 2
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
lea edx, [eax + ecx - 0xa9716]
mov dword [ebp - 0x101c], edx
fild dword [ebp - 0x101c]
faddp st(1)
fadd qword [0x490570]
test bl, bl
je 0x411fbf
movzx eax, bl
imul eax, eax, 0xe10
mov dword [ebp - 0x101c], eax
fild dword [ebp - 0x101c]
fdiv qword [0x490558]
jmp 0x411fc1
fldz
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x818]
fstp qword [esp]
push 0
push ecx
call fcn.00410496
add esp, 0x18
test al, al
jne 0x412005
push 0
lea edx, [ebp - 0x14]
push ebx
push edx
call fcn.00410719
add esp, 0xc
test al, al
jne 0x412005
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042b7cb
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor al, al
pop esi
call fcn.0042b7cb
mov esp, ebp
pop ebp
ret