Function at 0x41746f
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, 0x4a889e
call fcn.004726b8
mov edi, ecx
mov ecx, dword [edi + 0x308]
xor esi, esi
cmp ecx, esi
je 0x4174df
call fcn.0043f141
test al, al
jne 0x4174df
cmp dword [edi + 0x590], esi
je 0x4174c2
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b477
jmp 0x418207
mov ecx, dword [edi + 0x304]
cmp ecx, esi
je 0x418207
mov eax, dword [ecx]
push 1
call dword [eax + 0xc8]
jmp 0x418207
push 0x4d7a78
lea ecx, [ebp - 0x14]
call fcn.0040cb1b
mov ecx, dword [edi + 0x34c]
mov dword [ebp - 4], esi
cmp ecx, esi
je 0x417507
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 0x417539
dec eax
push eax
lea ecx, [ebp - 0x14]
call fcn.0041641b
movzx eax, ax
cmp ax, 0x5c
je 0x41752a
cmp ax, 0x2f
jne 0x417539
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.00416833
lea eax, [ebp - 0x14]
lea ecx, [edi + 0x588]
push eax
call fcn.004168fe
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 0x417591
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.004168fe
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx - 0xc]
cmp eax, 3
jl 0x418159
cmp eax, 1
jge 0x4175c7
push 0x80070057
call fcn.0040bef8
movzx ecx, word [ebx + 2]
cmp cx, 0x3a
jne 0x418159
cmp eax, 2
jl 0x4175bd
movzx eax, word [ebx + 4]
cmp ax, 0x5c
jne 0x418159
mov eax, dword [0x4acd90]
mov dword [ebp + 0x494], eax
mov eax, dword [0x4acd94]
mov dword [ebp + 0x498], eax
cmp dword [ebx - 0xc], esi
jl 0x4175bd
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 0x417681
cmp dword [edi + 0x590], esi
je 0x417632
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b477
push 0x5c0
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
cmp eax, esi
je 0x417653
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x417655
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4181f1
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.0042c076
push 0x4acd60
jmp 0x4181b2
push ebx
push esi
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4176f6
cmp dword [edi + 0x590], esi
je 0x4176a7
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b477
push 0x5c0
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
cmp eax, esi
je 0x4176c8
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x4176ca
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4181f1
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.0042c076
push 0x4acd38
jmp 0x4181b2
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 0x41777f
cmp dword [ebp - 0x54], esi
ja 0x41777f
jb 0x41771d
cmp dword [ebp - 0x58], 0xc800000
jae 0x41777f
cmp dword [edi + 0x590], esi
je 0x417730
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b477
push 0x5c0
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
cmp eax, esi
je 0x417751
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x417753
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4181f1
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.0042c076
push str.S_MR_b_t
jmp 0x4181b2
mov ecx, dword [edi + 0x310]
cmp ecx, esi
je 0x417792
mov eax, dword [ecx]
push esi
call dword [eax + 0xd4]
cmp dword [edi + 0x584], esi
jne 0x4177c6
mov ecx, dword [edi + 0x340]
cmp ecx, esi
je 0x4177b2
call fcn.0043f141
test al, al
mov eax, 0x4abd04
jne 0x4177b7
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 0x4177e8
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x334]
cmp ecx, esi
je 0x4177fb
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x31c]
cmp ecx, esi
je 0x41780e
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x320]
cmp ecx, esi
je 0x417821
mov eax, dword [ecx]
push esi
call dword [eax + 0xc8]
mov ecx, dword [edi + 0x328]
cmp ecx, esi
je 0x417835
mov eax, dword [ecx]
push 1
call dword [eax + 0xc8]
push 0x60
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
cmp eax, esi
je 0x417851
mov ecx, eax
call fcn.004216c6
jmp 0x417853
xor eax, eax
mov byte [ebp - 4], 1
mov dword [edi + 0x580], eax
cmp eax, esi
jne 0x417887
cmp dword [edi + 0x590], esi
je 0x417874
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b477
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.0040c248
lea ecx, [ebx - 0x10]
jmp 0x418202
push dword [edi + 4]
mov ecx, eax
call fcn.00420b4c
mov ecx, dword [edi + 0x580]
push 0x2410
call fcn.00420b55
mov ecx, dword [edi + 0x580]
push 0x2411
call fcn.00420b5f
mov ecx, dword [edi + 0x580]
call fcn.0042195b
xor eax, eax
mov ebx, 0x206
push ebx
mov word [ebp], ax
lea eax, [ebp + 2]
push esi
push eax
call fcn.00472b80
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.00472b80
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 0x417960
add eax, 0xc
push 0x2e
push eax
mov dword [ebp - 0x18], eax
call fcn.00472bfa
pop ecx
pop ecx
cmp eax, esi
je 0x417960
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 0x4179d3
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.0041643c
cmp eax, esi
jle 0x4179b8
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x10]
call fcn.00416743
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.004168fe
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040c248
jmp 0x4179c4
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.004168fe
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.0040c248
lea ecx, [ebp - 0x28]
call fcn.004168a3
lea ecx, [ebp - 0x28]
call fcn.004169c0
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 0x417a1e
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 0x417a4e
cmp dword [edi + 0x584], esi
jne 0x417a3c
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 0x417a83
push 1
push 0x4acc5c
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 0x417ba4
push 0x18
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
cmp eax, esi
je 0x417ab8
mov ecx, eax
call fcn.0041e6ff
mov ebx, eax
jmp 0x417aba
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417ae9
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.0041f888
push 5
push esi
mov ecx, ebx
call fcn.0041ddaf
mov ecx, dword [edi + 0x580]
push ebx
call fcn.004219b2
mov dword [ebp - 0x24], 5
push 0x14
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
cmp eax, esi
je 0x417b08
mov ecx, eax
call fcn.0041e76d
mov dword [ebp - 0x10], eax
jmp 0x417b0b
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x10], esi
je 0x417b66
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 0x417b37
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.0041f898
push dword [ebp - 0x10]
mov ecx, dword [edi + 0x580]
call fcn.004219b2
lea ecx, [ebx - 0x10]
mov byte [ebp - 4], 0xa
call fcn.0040c248
push 0x14
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
cmp eax, esi
je 0x417b84
mov ecx, eax
call fcn.0041e738
mov ebx, eax
jmp 0x417b86
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417ba4
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.0041f890
mov ecx, dword [edi + 0x580]
push ebx
call fcn.004219b2
push 0x1c
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
cmp eax, esi
je 0x417bc2
mov ecx, eax
call fcn.0041e7a2
mov ebx, eax
jmp 0x417bc4
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417c0d
push str.IDR_360FILEBROWSER_SETUP
mov ecx, ebx
call fcn.0041f8a0
push str.BINARY
mov ecx, ebx
call fcn.0041f8a8
push dword [ebp - 0x14]
mov ecx, ebx
call fcn.0041f8b0
push 0x55
push dword [ebp - 0x24]
mov ecx, ebx
call fcn.0041ddaf
mov ecx, dword [edi + 0x580]
push ebx
call fcn.004219b2
mov dword [ebp - 0x24], 0x55
push 0x18
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
cmp eax, esi
je 0x417c2b
mov ecx, eax
call fcn.0041e802
mov ebx, eax
jmp 0x417c2d
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x417c96
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.0041f8b8
push str._install
mov ecx, ebx
call fcn.0041f8c0
push 0x5a
push dword [ebp - 0x24]
mov ecx, ebx
call fcn.0041ddaf
mov ecx, dword [edi + 0x580]
push ebx
call fcn.004219b2
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.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
cmp eax, esi
je 0x417cb5
mov ecx, eax
call fcn.0041e84e
mov dword [ebp - 0x10], eax
jmp 0x417cb8
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x10], esi
je 0x417d27
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 0x417ce4
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.0041f8c8
mov ecx, dword [ebp - 0x10]
push 0x5a
push dword [ebp - 0x24]
call fcn.0041ddaf
push dword [ebp - 0x10]
mov ecx, dword [edi + 0x580]
call fcn.004219b2
lea ecx, [ebx - 0x10]
mov dword [ebp - 0x24], 0x5a
mov byte [ebp - 4], 0xa
call fcn.0040c248
push 0x48
call fcn.00471f16
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x14
cmp ecx, esi
je 0x417d46
call fcn.0042059f
mov dword [ebp - 0x10], eax
jmp 0x417d49
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
mov ebx, 0x4ab6c8
cmp dword [ebp - 0x10], esi
je 0x417f3e
lea ecx, [ebp - 0x3c]
call fcn.00416781
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.004168fe
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x2c], 1
call fcn.00420808
mov ecx, dword [ebp - 0x10]
push 0x5c
push dword [ebp - 0x24]
call fcn.0041ddaf
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.004166a0
lea ecx, [ebp - 0x3c]
call fcn.00416781
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.004168fe
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x2c], 1
call fcn.00420808
mov ecx, dword [ebp - 0x10]
push 0x5e
push 0x5c
call fcn.0041ddaf
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.004166a0
push str.360FileUninst.exe
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00416a09
add esp, 0xc
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x17
call fcn.004167e6
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.004168fe
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.00472b80
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.00472b80
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.004168fe
push str.360.cn
lea ecx, [ebp - 0x30]
call fcn.0040db82
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004168fe
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x48]
push eax
call fcn.0041f8d0
mov ecx, dword [ebp - 0x10]
push 0x60
push 0x5e
call fcn.0041ddaf
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], 0x60
call fcn.004166c5
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.004219b2
push 0x28
call fcn.00471f16
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x19
cmp ecx, esi
je 0x417f5d
call fcn.00420602
mov dword [ebp - 0x10], eax
jmp 0x417f60
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x10], esi
je 0x4180fe
xor eax, eax
push 0x206
mov word [ebp + 0x208], ax
lea eax, [ebp + 0x20a]
push esi
push eax
call fcn.00472b80
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.004167b7
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.004168fe
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004168fe
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.00420810
mov ecx, dword [ebp - 0x10]
push 0x62
push dword [ebp - 0x24]
call fcn.0041ddaf
lea ecx, [ebp - 0x38]
call fcn.00416714
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.00472b80
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.004167b7
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.004168fe
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004168fe
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.00420810
mov ecx, dword [ebp - 0x10]
push 0x63
push 0x62
call fcn.0041ddaf
lea ecx, [ebp - 0x38]
call fcn.00416714
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.004219b2
push 0x18
call fcn.00471f16
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x1e
cmp ecx, esi
je 0x41811c
call fcn.0041ddf2
mov ebx, eax
jmp 0x41811e
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp ebx, esi
je 0x418141
push 0x2412
push dword [edi + 4]
mov ecx, ebx
call fcn.0041de25
mov ecx, dword [edi + 0x580]
push ebx
call fcn.004219b2
lea ecx, [ebp - 0x50]
call fcn.0040c078
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0040c248
jmp 0x4181f1
cmp dword [edi + 0x590], esi
je 0x41816c
push esi
push esi
push 0x10
mov ecx, edi
call fcn.0042b477
push 0x5c0
call fcn.00471f16
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
cmp eax, esi
je 0x41818d
mov ecx, eax
call fcn.0040b7d9
mov ebx, eax
jmp 0x41818f
xor ebx, ebx
mov byte [ebp - 4], 1
cmp ebx, esi
je 0x4181f1
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.0042c076
push 0x4ac9a8
mov ecx, ebx
call fcn.0040b5cf
mov ecx, ebx
call fcn.0040b753
mov ecx, ebx
call fcn.0042b194
push 1
mov ecx, ebx
call fcn.0042b057
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.0042ac65
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.00471f7b
add ebp, 0x4a0
leave
ret