Function at 0x412fe0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1030
call fcn.0043f850
mov eax, dword [0x4a0234]
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.0042f2c0
add esp, 0xc
xor edx, edx
push 0x7fe
push edx
lea eax, [ebp - 0x816]
push eax
mov word [ebp - 0x818], dx
call fcn.0042f2c0
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.004311a6
lea edi, [ebp - 0x14]
add esp, 0x14
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x413084
mov edx, dword [0x4911b8]
lea eax, [ebp - 0x1030]
push eax
mov dword [edi], edx
call fcn.0042e011
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.00432a76
fld qword [0x492620]
fldz
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4130e3
fld st(0)
jmp 0x413199
mov eax, dword [ecx + 0x14]
add eax, 0x76c
cmp eax, 0x64
jge 0x4130f5
cmp eax, 0x1e
jge 0x4130fd
lea edx, [eax - 0x65]
cmp edx, 0x62
ja 0x413104
add eax, 0x76c
jmp 0x41310e
cmp eax, 0x1e
jge 0x41310e
add eax, 0x7d0
mov esi, dword [ecx + 0x10]
inc esi
cmp esi, 2
jle 0x41311a
inc esi
jmp 0x41311e
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 [0x492638]
test bl, bl
je 0x4131b8
movzx eax, bl
fstp st(1)
imul eax, eax, 0xe10
mov dword [ebp - 0x101c], eax
fild dword [ebp - 0x101c]
fdivrp st(2)
jmp 0x4131bc
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.00411813
add esp, 0x18
test al, al
jne 0x413345
lea edx, [ebp - 0x1028]
push edx
call fcn.0042e011
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.00432a76
mov esi, eax
add esp, 4
test esi, esi
jne 0x413224
fldz
jmp 0x4132de
mov eax, dword [esi + 0x14]
add eax, 0x76c
cmp eax, 0x64
jge 0x413236
cmp eax, 0x1e
jge 0x41323e
lea ecx, [eax - 0x65]
cmp ecx, 0x62
ja 0x413245
add eax, 0x76c
jmp 0x41324f
cmp eax, 0x1e
jge 0x41324f
add eax, 0x7d0
mov ecx, dword [esi + 0x10]
inc ecx
cmp ecx, 2
jle 0x41325b
inc ecx
jmp 0x41325f
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 [0x492620]
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 [0x492638]
test bl, bl
je 0x4132ff
movzx eax, bl
imul eax, eax, 0xe10
mov dword [ebp - 0x101c], eax
fild dword [ebp - 0x101c]
fdiv qword [0x492620]
jmp 0x413301
fldz
sub esp, 0x10
fstp qword [esp + 8]
lea ecx, [ebp - 0x818]
fstp qword [esp]
push 0
push ecx
call fcn.00411813
add esp, 0x18
test al, al
jne 0x413345
push 0
lea edx, [ebp - 0x14]
push ebx
push edx
call fcn.00411a96
add esp, 0xc
test al, al
jne 0x413345
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042cfbb
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor al, al
pop esi
call fcn.0042cfbb
mov esp, ebp
pop ebp
ret