Function at 0x417540
Capabilities:
Accept command line arguments
Check if file exists
Get common file path
Get disk information
Get disk size

Disassembly:
push ebp
sub esp, 0x49c
lea ebp, [esp - 4]
mov eax, dword [0x4d4268]
xor eax, ebp
mov dword [ebp + 0x49c], eax
push 0x5c
mov eax, 0x4a8a0e
call fcn.0047276e
mov edi, ecx
mov ecx, dword [edi + 0x308]
xor esi, esi
cmp ecx, esi
je 0x4175b0
call fcn.0043f1f0
test al, al
jne 0x4175b0
cmp dword [edi + 0x590], esi
je 0x417593
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b52b
jmp 0x4182d8
mov ecx, dword [edi + 0x304]
cmp ecx, esi
je 0x4182d8
mov eax, dword [ecx]
push 1
call dword [eax + 0xc8]
jmp 0x4182d8
push 0x4d7a78
lea ecx, [ebp - 0x14]
call fcn.0040cb1b
mov ecx, dword [edi + 0x34c]
mov dword [ebp - 4], esi
cmp ecx, esi
je 0x4175d8
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.0040db82
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx - 0xc]
cmp eax, esi
jle 0x41760a
dec eax
push eax
lea ecx, [ebp - 0x14]
call fcn.00416435
movzx eax, ax
cmp ax, 0x5c
je 0x4175fb
cmp ax, 0x2f
jne 0x41760a
mov ebx, dword [ebx - 0xc]
push 1
dec ebx
push ebx
lea ecx, [ebp - 0x14]
call fcn.0040d7c5
push 0x4ab8dc
lea ecx, [ebp - 0x14]
call fcn.0040dc4c
push str.360FileBrowser
lea ecx, [ebp - 0x14]
call fcn.0040dc4c
push 0x5c
push 0x2f
lea ecx, [ebp - 0x14]
call fcn.0041684d
lea eax, [ebp - 0x14]
lea ecx, [edi + 0x588]
push eax
call fcn.00416918
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040d4e4
mov byte [ebp - 4], 1
call fcn.0040bd9c
test eax, eax
mov eax, str.360FileBrowser64.exe
jne 0x417662
mov eax, str.360FileBrowser.exe
push eax
lea ecx, [ebp - 0x20]
call fcn.0040dc4c
lea eax, [ebp - 0x20]
lea ecx, [edi + 0x58c]
push eax
call fcn.00416918
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx - 0xc]
cmp eax, 3
jl 0x41822a
cmp eax, 1
jge 0x417698
push 0x80070057
call fcn.0040bef8
movzx ecx, word [ebx + 2]
cmp cx, 0x3a
jne 0x41822a
cmp eax, 2
jl 0x41768e
movzx eax, word [ebx + 4]
cmp ax, 0x5c
jne 0x41822a
mov eax, dword [0x4ace18]
mov dword [ebp + 0x494], eax
mov eax, dword [0x4ace1c]
mov dword [ebp + 0x498], eax
cmp dword [ebx - 0xc], esi
jl 0x41768e
mov ax, word [ebx]
mov word [ebp + 0x494], ax
lea eax, [ebp + 0x494]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x417752
cmp dword [edi + 0x590], esi
je 0x417703
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b52b
push 0x5c0
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
cmp eax, esi
je 0x417724
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x417726
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4182c2
push esi
push esi
push esi
push esi
push esi
push esi
push 0xcf0000
push esi
push dword [edi + 4]
mov ecx, ebx
call fcn.0042c12a
push 0x4acde8
jmp 0x418283
push ebx
push esi
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4177c7
cmp dword [edi + 0x590], esi
je 0x417778
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b52b
push 0x5c0
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
cmp eax, esi
je 0x417799
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x41779b
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4182c2
push esi
push esi
push esi
push esi
push esi
push esi
push 0xcf0000
push esi
push dword [edi + 4]
mov ecx, ebx
call fcn.0042c12a
push 0x4acdc0
jmp 0x418283
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x60]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
cmp eax, esi
je 0x417850
cmp dword [ebp - 0x54], esi
ja 0x417850
jb 0x4177ee
cmp dword [ebp - 0x58], 0xc800000
jae 0x417850
cmp dword [edi + 0x590], esi
je 0x417801
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b52b
push 0x5c0
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
cmp eax, esi
je 0x417822
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x417824
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4182c2
push esi
push esi
push esi
push esi
push esi
push esi
push 0xcf0000
push esi
push dword [edi + 4]
mov ecx, ebx
call fcn.0042c12a
push str.S_MR_b_t
jmp 0x418283
mov ecx, dword [edi + 0x310]
cmp ecx, esi
je 0x417863
mov eax, dword [ecx]
push esi
call dword [eax + 0xd4]
cmp dword [edi + 0x584], esi
jne 0x417897
mov ecx, dword [edi + 0x340]
cmp ecx, esi
je 0x417883
call fcn.0043f1f0
test al, al
mov eax, 0x4abd04
jne 0x417888
mov eax, 0x4abb50
push esi
push eax
push str.install
call fcn.0040e642
add esp, 0xc
push esi
push esi
push str.inst_inst
call fcn.0040e642
mov ecx, dword [edi + 0x318]
add esp, 0xc
cmp ecx, esi
je 0x4178b9
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x334]
cmp ecx, esi
je 0x4178cc
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x31c]
cmp ecx, esi
je 0x4178df
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x320]
cmp ecx, esi
je 0x4178f2
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x328]
cmp ecx, esi
je 0x417906
mov eax, dword [ecx]
push 1
call dword [eax + 0xc8]
push 0x60
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
cmp eax, esi
je 0x417922
mov ecx, eax
call fcn.0042177a
jmp 0x417924
xor eax, eax
mov byte [ebp - 4], 1
mov dword [edi + 0x580], eax
cmp eax, esi
jne 0x417958
cmp dword [edi + 0x590], esi
je 0x417945
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b52b
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.0040c248
lea ecx, [ebx - 0x10]
jmp 0x4182d3
push dword [edi + 4]
mov ecx, eax
call fcn.00420c00
mov ecx, dword [edi + 0x580]
push 0x2410
call fcn.00420c09
mov ecx, dword [edi + 0x580]
push 0x2411
call fcn.00420c13
mov ecx, dword [edi + 0x580]
call fcn.00421a0f
xor eax, eax
mov ebx, 0x206
push ebx
mov word [ebp], ax
lea eax, [ebp + 2]
push esi
push eax
call fcn.00472c30
add esp, 0xc
push 0x104
lea eax, [ebp]
push eax
push 0x66
push esi
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x28]
call fcn.00414fa4
xor eax, eax
push ebx
mov word [ebp + 0x208], ax
lea eax, [ebp + 0x20a]
push esi
push eax
mov byte [ebp - 4], 7
call fcn.00472c30
add esp, 0xc
push 0x104
lea eax, [ebp + 0x208]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebx, dword [sym.imp.SHLWAPI.dll_StrStrIW]
push str._ydca_
lea eax, [ebp + 0x208]
push eax
call ebx
cmp eax, esi
je 0x417a31
add eax, 0xc
push 0x2e
push eax
mov dword [ebp - 0x18], eax
call fcn.00472caa
pop ecx
pop ecx
cmp eax, esi
je 0x417a31
push dword [ebp - 0x18]
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x28]
call fcn.0040db82
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push str._qd_
push eax
call ebx
cmp eax, esi
je 0x417aa4
add eax, 0xa
push eax
lea ecx, [ebp - 0x10]
call fcn.00414fa4
push esi
push 0x20
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 8
call fcn.00416456
cmp eax, esi
jle 0x417a89
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x10]
call fcn.0041675d
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.00416918
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040c248
jmp 0x417a95
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00416918
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.0040c248
lea ecx, [ebp - 0x28]
call fcn.004168bd
lea ecx, [ebp - 0x28]
call fcn.004169da
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
push 2
push str.SOFTWARE360FileBrowser
mov ebx, 0x80000001
push ebx
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xa
call fcn.0040c0ed
cmp eax, 2
jne 0x417aef
push esi
push esi
push 0x2001f
push esi
push esi
push str.SOFTWARE360FileBrowser
push ebx
lea ecx, [ebp - 0x50]
call fcn.0040c093
cmp eax, esi
jne 0x417b1f
cmp dword [edi + 0x584], esi
jne 0x417b0d
push 1
push dword [ebp - 0x28]
lea ecx, [ebp - 0x50]
push str.ipartner
call fcn.0040c1ef
push 1
push dword [ebp - 0x28]
lea ecx, [ebp - 0x50]
push 0x4abc70
call fcn.0040c1ef
push esi
push esi
push 0x2001f
push esi
push esi
push str.SOFTWAREMicrosoftInternet_ExplorerMain
push ebx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
call fcn.0040c093
cmp eax, esi
jne 0x417b54
push 1
push 0x4acce4
push str.Enable_Browser_Extensions
lea ecx, [ebp - 0x1c]
call fcn.0040c1ef
lea ecx, [ebp - 0x1c]
call fcn.0040c078
mov dword [ebp - 0x24], esi
cmp dword [edi + 0x584], esi
je 0x417c75
push 0x18
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
cmp eax, esi
je 0x417b89
mov ecx, eax
call fcn.0041e7b3
mov ebx, eax
jmp 0x417b8b
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417bba
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.0041f93c
push 5
push esi
mov ecx, ebx
call fcn.0041de7d
mov ecx, dword [edi + 0x580]
push ebx
call fcn.00421a66
mov dword [ebp - 0x24], 5
push 0x14
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
cmp eax, esi
je 0x417bd9
mov ecx, eax
call fcn.0041e821
mov dword [ebp - 0x10], eax
jmp 0x417bdc
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x10], esi
je 0x417c37
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040d4e4
mov byte [ebp - 4], 0xd
call fcn.0040bd9c
test eax, eax
mov eax, str.ShlTabExt64.dll
jne 0x417c08
mov eax, str.ShlTabExt.dll
push eax
lea ecx, [ebp - 0x18]
call fcn.0040dc4c
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
push ebx
call fcn.0041f94c
push dword [ebp - 0x10]
mov ecx, dword [edi + 0x580]
call fcn.00421a66
lea ecx, [ebx - 0x10]
mov byte [ebp - 4], 0xa
call fcn.0040c248
push 0x14
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
cmp eax, esi
je 0x417c55
mov ecx, eax
call fcn.0041e7ec
mov ebx, eax
jmp 0x417c57
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417c75
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.0041f944
mov ecx, dword [edi + 0x580]
push ebx
call fcn.00421a66
push 0x1c
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
cmp eax, esi
je 0x417c93
mov ecx, eax
call fcn.0041e856
mov ebx, eax
jmp 0x417c95
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417cde
push str.IDR_360FILEBROWSER_SETUP
mov ecx, ebx
call fcn.0041f954
push str.BINARY
mov ecx, ebx
call fcn.0041f95c
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.0041f964
push 0x55
push dword [ebp - 0x24]
mov ecx, ebx
call fcn.0041de7d
mov ecx, dword [edi + 0x580]
push ebx
call fcn.00421a66
mov dword [ebp - 0x24], 0x55
push 0x18
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
cmp eax, esi
je 0x417cfc
mov ecx, eax
call fcn.0041e8b6
mov ebx, eax
jmp 0x417cfe
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417d67
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040d4e4
push str.360FileService.exe
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
call fcn.0040dc4c
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.0041f96c
push str._install
mov ecx, ebx
call fcn.0041f974
push 0x5a
push dword [ebp - 0x24]
mov ecx, ebx
call fcn.0041de7d
mov ecx, dword [edi + 0x580]
push ebx
call fcn.00421a66
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov dword [ebp - 0x24], 0x5a
mov byte [ebp - 4], 0xa
call fcn.0040c248
push 0x14
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
cmp eax, esi
je 0x417d86
mov ecx, eax
call fcn.0041e902
mov dword [ebp - 0x10], eax
jmp 0x417d89
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x10], esi
je 0x417df8
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040d4e4
mov byte [ebp - 4], 0x13
call fcn.0040bd9c
test eax, eax
mov eax, str.360FolderExt64.dll
jne 0x417db5
mov eax, str.360FolderExt.dll
push eax
lea ecx, [ebp - 0x18]
call fcn.0040dc4c
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
push ebx
call fcn.0041f97c
mov ecx, dword [ebp - 0x10]
push 0x5a
push dword [ebp - 0x24]
call fcn.0041de7d
push dword [ebp - 0x10]
mov ecx, dword [edi + 0x580]
call fcn.00421a66
lea ecx, [ebx - 0x10]
mov dword [ebp - 0x24], 0x5a
mov byte [ebp - 4], 0xa
call fcn.0040c248
push 0x48
call fcn.00471fcc
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x14
cmp ecx, esi
je 0x417e17
call fcn.00420653
mov dword [ebp - 0x10], eax
jmp 0x417e1a
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
mov ebx, 0x4ab6c8
cmp dword [ebp - 0x10], esi
je 0x41800f
lea ecx, [ebp - 0x3c]
call fcn.0041679b
push str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths360FileBrowser.exe
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x3c], SysStringLen
call fcn.0040db82
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x30]
call fcn.00416918
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x2c], 1
call fcn.004208bc
mov ecx, dword [ebp - 0x10]
push 0x5c
push dword [ebp - 0x24]
call fcn.0041de7d
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.004166ba
lea ecx, [ebp - 0x3c]
call fcn.0041679b
push str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths360FileBrowser.exe
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x3c], SysStringLen
call fcn.0040db82
push str.Path
lea ecx, [ebp - 0x34]
call fcn.0040db82
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
call fcn.00416918
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x2c], 1
call fcn.004208bc
mov ecx, dword [ebp - 0x10]
push 0x5e
push 0x5c
call fcn.0041de7d
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.004166ba
push str.360FileUninst.exe
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00416a23
add esp, 0xc
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.00416800
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall360FileBrowser
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x48], SysStringLen
call fcn.0040db82
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x40]
call fcn.00416918
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040db82
xor eax, eax
push 0x206
mov word [ebp + 0x208], ax
push esi
lea eax, [ebp + 0x20a]
push eax
call fcn.00472c30
add esp, 0xc
push 0x104
lea eax, [ebp + 0x208]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
push 0x7e
mov word [ebp + 0x414], ax
lea eax, [ebp + 0x416]
push esi
push eax
call fcn.00472c30
push 0x40
lea eax, [ebp + 0x414]
push eax
lea eax, [ebp + 0x208]
push eax
call fcn.0040c567
add esp, 0x18
lea eax, [ebp + 0x414]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040db82
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x34]
call fcn.00416918
push str.360.cn
lea ecx, [ebp - 0x30]
call fcn.0040db82
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00416918
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0041f984
mov ecx, dword [ebp - 0x10]
push 0x60
push 0x5e
call fcn.0041de7d
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], 0x60
call fcn.004166df
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.0040c248
push dword [ebp - 0x10]
mov ecx, dword [edi + 0x580]
call fcn.00421a66
push 0x28
call fcn.00471fcc
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x19
cmp ecx, esi
je 0x41802e
call fcn.004206b6
mov dword [ebp - 0x10], eax
jmp 0x418031
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x10], esi
je 0x4181cf
xor eax, eax
push 0x206
mov word [ebp + 0x208], ax
lea eax, [ebp + 0x20a]
push esi
push eax
call fcn.00472c30
add esp, 0xc
push esi
push esi
lea eax, [ebp + 0x208]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp + 0x208]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push ebx
lea ecx, [ebp - 0x18]
call fcn.00414fa4
push str..lnk
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1a
call fcn.0040dc4c
push dword [ebp - 0x18]
lea eax, [ebp + 0x208]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x38]
call fcn.004167d1
lea eax, [ebp + 0x208]
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1b
call fcn.0040db82
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x34]
call fcn.00416918
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00416918
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.004208c4
mov ecx, dword [ebp - 0x10]
push 0x62
push dword [ebp - 0x24]
call fcn.0041de7d
lea ecx, [ebp - 0x38]
call fcn.0041672e
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.0040c248
xor eax, eax
push 0x206
mov word [ebp + 0x208], ax
lea eax, [ebp + 0x20a]
push esi
push eax
call fcn.00472c30
add esp, 0xc
push esi
push 0xb
lea eax, [ebp + 0x208]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push ebx
lea ecx, [ebp - 0x18]
call fcn.00414fa4
push str..lnk
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1c
call fcn.0040dc4c
push dword [ebp - 0x18]
lea eax, [ebp + 0x208]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x38]
call fcn.004167d1
lea eax, [ebp + 0x208]
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x1d
call fcn.0040db82
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x34]
call fcn.00416918
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00416918
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.004208c4
mov ecx, dword [ebp - 0x10]
push 0x63
push 0x62
call fcn.0041de7d
lea ecx, [ebp - 0x38]
call fcn.0041672e
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0xa
call fcn.0040c248
push dword [ebp - 0x10]
mov ecx, dword [edi + 0x580]
call fcn.00421a66
push 0x18
call fcn.00471fcc
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x1e
cmp ecx, esi
je 0x4181ed
call fcn.0041dec0
mov ebx, eax
jmp 0x4181ef
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x418212
push 0x2412
push dword [edi + 4]
mov ecx, ebx
call fcn.0041def3
mov ecx, dword [edi + 0x580]
push ebx
call fcn.00421a66
lea ecx, [ebp - 0x50]
call fcn.0040c078
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0040c248
jmp 0x4182c2
cmp dword [edi + 0x590], esi
je 0x41823d
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b52b
push 0x5c0
call fcn.00471fcc
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
cmp eax, esi
je 0x41825e
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x418260
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4182c2
push esi
push esi
push esi
push esi
push esi
push esi
push 0xcf0000
push esi
push dword [edi + 4]
mov ecx, ebx
call fcn.0042c12a
push 0x4aca30
mov ecx, ebx
call fcn.0040b5cf
mov ecx, ebx
call fcn.0040b753
mov ecx, ebx
call fcn.0042b248
push 1
mov ecx, ebx
call fcn.0042b10b
push eax
call fcn.0040dca8
pop ecx
pop ecx
lea eax, [ebp + 0x410]
push eax
mov ecx, ebx
call fcn.0040ba71
lea ecx, [ebp + 0x410]
call fcn.0042ad19
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.0040c248
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040c248
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x49c]
xor ecx, ebp
call fcn.00472031
add ebp, 0x4a0
leave
ret