Function at 0x41ead0
Capabilities:
Create directory
Move file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x320
mov eax, dword [0x62acc0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor ecx, ecx
call fcn.0040cc40
mov ecx, 0x634978
call fcn.0041e9d0
cmp byte [0x634978], 0
jne 0x41edd7
push str.Default
push 0x104
push 0x634978
call fcn.00503df9
add esp, 0xc
lea eax, [ebp - 0x110]
push str.Default
push 0x910534
push str._sProfile__s
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str.Options0
push 0x910534
push str._s_s.dcf
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push str.Options0
push str.Default
push 0x910534
push str._sProfile__s_s.dcf
push 0x104
push eax
call fcn.00407c70
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileA]
lea eax, [ebp - 0x110]
add esp, 0x18
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.Options1
push 0x910534
push str._s_s.dcf
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push str.Options1
push str.Default
push 0x910534
push str._sProfile__s_s.dcf
push 0x104
push eax
call fcn.00407c70
add esp, 0x18
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.EarthView.bmp
push 0x910534
push str._s_s
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push str.EarthView.bmp
push str.Default
push 0x910534
push str._sProfile__s_s
push 0x104
push eax
call fcn.00407c70
add esp, 0x18
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.EVScrsvr.bmp
push 0x910534
push str._s_s
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push str.EVScrsvr.bmp
push str.Default
push 0x910534
push str._sProfile__s_s
push 0x104
push eax
call fcn.00407c70
add esp, 0x18
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.EVMapPrv.bmp
push 0x910534
push str._s_s
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push str.EVMapPrv.bmp
push str.Default
push 0x910534
push str._sProfile__s_s
push 0x104
push eax
call fcn.00407c70
add esp, 0x18
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.EVScrPrv.bmp
push 0x910534
push str._s_s
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x110]
push str.EVScrPrv.bmp
push str.Default
push 0x910534
push str._sProfile__s_s
push 0x104
push eax
call fcn.00407c70
add esp, 0x18
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push eax
call esi
push str.Settings
push str.Default
push str.Profile__s_s
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.00407c70
add esp, 0x14
lea eax, [ebp - 0x320]
push 0
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x110]
push eax
call fcn.0042d590
lea eax, [ebp - 0x320]
push eax
push 0x91ddb0
push 1
call fcn.0040d280
add esp, 0x1c
mov al, byte [0x634516]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp al, 1
jne 0x41ee14
push 0x4c
call esi
push 0x4d
mov dword [0x91dda0], eax
call esi
push 0x4e
mov dword [0x91dda4], eax
call esi
push 0x4f
mov dword [0x915d98], eax
call esi
mov ecx, eax
mov al, byte [0x634516]
mov dword [0x915d90], ecx
jmp 0x41ee1a
mov ecx, dword [0x915d90]
test al, al
je 0x41ee2b
cmp dword [0x915d98], 0
je 0x41ee2b
test ecx, ecx
jne 0x41ee51
push 0
mov dword [0x91dda0], 0
mov dword [0x91dda4], 0
call esi
push 1
mov dword [0x915d98], eax
call esi
mov dword [0x915d90], eax
call fcn.0041e4c0
movaps xmm2, xmmword [0x617300]
mov edi, 0x90d358
mov esi, str.Around_the_Equator
nop word [eax + eax]
lea eax, [edi + 0x28]
mov ecx, 8
nop dword [eax + eax]
movsd xmm1, qword [eax - 0x20]
lea eax, [eax + 0x80]
movhpd xmm1, qword [eax - 0x80]
mulpd xmm1, xmm2
movlpd qword [eax - 0xa0], xmm1
movhpd qword [eax - 0x80], xmm1
movsd xmm1, qword [eax - 0xa8]
movhpd xmm1, qword [eax - 0x88]
mulpd xmm1, xmm2
movlpd qword [eax - 0xa8], xmm1
movhpd qword [eax - 0x88], xmm1
movsd xmm1, qword [eax - 0x60]
movhpd xmm1, qword [eax - 0x40]
mulpd xmm1, xmm2
movlpd qword [eax - 0x60], xmm1
movhpd qword [eax - 0x40], xmm1
movsd xmm1, qword [eax - 0x68]
movhpd xmm1, qword [eax - 0x48]
mulpd xmm1, xmm2
movlpd qword [eax - 0x68], xmm1
movhpd qword [eax - 0x48], xmm1
sub ecx, 1
jne 0x41ee80
push 0x616398
push esi
push 0x910534
push str._s_s._s
push edi
push 1
call fcn.0040edd0
movaps xmm2, xmmword [0x617300]
add esi, 0x20
add esp, 0x18
add edi, 0x400
cmp esi, 0x90d340
jl 0x41ee70
push ecx
push 0x635be8
mov ecx, 0x91f954
mov dword [0x91dda8], 0
mov dword [0x91f954], 0
call fcn.004270d0
push ecx
push 0x728290
mov ecx, 0x91f968
mov dword [0x91f968], 0
call fcn.004270d0
mov esi, dword [0x91f958]
lea eax, [ebp - 0x320]
push 0x6156d4
push esi
push 0x910df9
push str._s_s._s
push 0x104
push eax
call fcn.00407c70
push 0
mov edx, esi
lea ecx, [ebp - 0x320]
call fcn.004282a0
mov esi, dword [0x91f96c]
lea eax, [ebp - 0x320]
add esp, 0x1c
push 0x6156d4
push esi
push 0x910df9
push str._s_s._s
push 0x104
push eax
call fcn.00407c70
push 0
mov edx, esi
lea ecx, [ebp - 0x320]
call fcn.004282a0
add esp, 0x1c
mov edx, 0x634978
xor ecx, ecx
call fcn.0041e730
push 0
xor eax, eax
mov ecx, 0x90fe00
cmp byte [0x634508], al
push 0
push 1
push 0
setne al
push eax
call fcn.0043d670
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.004fe8dc
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret