Function at 0x52c281
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1230
call fcn.0056fbe0
mov dword [esp + 0x170], ecx
mov edi, edx
mov ecx, dword [edx + 0xa0]
mov edx, dword [edx + 0xa8]
mov esi, dword [ebp + 8]
call fcn.005300b5
test esi, esi
mov dword [esp + 0x178], eax
je 0x52c2cf
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0xa8]
call fcn.005300b5
jmp 0x52c2d1
xor eax, eax
mov dword [esp + 0x17c], eax
mov eax, dword [0x64fd94]
mov dword [esp + 0xec], edi
cmp eax, 3
jb 0x52c390
test esi, esi
je 0x52c301
lea ecx, [esp + 0x1e0]
mov edx, esi
call fcn.005302e2
jmp 0x52c309
and dword [esp + 0x1e0], 0
lea ecx, [esp + 0x9e0]
lea eax, [esp + 0x17c]
lea edx, [esp + 0x68]
lea esi, [esp + 0x1e0]
lea edi, [esp + 0x20]
mov dword [ecx], str.Shortcut_Previous_Locations:
mov dword [ecx + 4], 3
and dword [ecx + 0x10], 0
mov dword [edx], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [edx + 4], fcn.00521d45
mov dword [edx + 8], esi
mov dword [ecx + 8], edx
mov dword [edx + 0xc], 0x530351
mov dword [ecx + 0xc], 2
mov dword [edi], eax
push 0x1c
pop edx
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], 0x6390fc
push 3
pop edx
push edi
call fcn.0045db8c
pop eax
cmp dword [esi], 0
je 0x52c389
lea ecx, [esp + 0x1e0]
call fcn.00519d46
mov edi, dword [esp + 0xec]
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52c405
lea ecx, [esp + 0x1e0]
lea eax, [esp + 0x178]
lea edx, [esp + 0x20]
lea esi, [esp + 0x9e0]
mov dword [ecx], str.Shortcut_Next_Locations:
mov dword [ecx + 4], 3
and dword [ecx + 0x10], 0
mov dword [edx], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [edx + 4], fcn.00521d45
mov dword [edx + 8], edi
mov dword [ecx + 8], edx
mov dword [edx + 0xc], fcn.004d515f
mov dword [ecx + 0xc], 2
mov dword [esi], eax
push 0x1c
pop edx
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], 0x639140
push 3
pop edx
push esi
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0x17c]
not eax
and eax, dword [esp + 0x178]
mov ecx, eax
mov edx, eax
not ecx
and edx, 0xfffffffe
test cl, 0x11
cmovne edx, eax
mov eax, dword [edi + 0xb4]
and dword [esp + 0x110], 0
mov dword [esp + 0x174], edx
test eax, eax
je 0x52c47d
mov edx, dword [edi + 0xac]
lea esi, [esp + 0x1e0]
mov ecx, esi
push eax
call fcn.00413c80
pop eax
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
call fcn.0041c24b
mov eax, dword [esi + 8]
movq xmm0, qword [esi]
mov dword [esp + 0x118], eax
movq qword [esp + 0x110], xmm0
mov eax, dword [esp + 0x170]
mov edx, dword [edi + 0x70]
lea ecx, [esp + 0x14c]
mov ebx, dword [eax]
mov esi, dword [eax + 8]
push esi
push ebx
push dword [edi + 0x78]
call fcn.0053038d
add esp, 0xc
lea ecx, [esp + 0x1a8]
mov edx, ebx
mov dword [esp + 0xc4], esi
push esi
call fcn.0053041b
pop eax
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52c51d
lea eax, [esp + 0x110]
lea edx, [esp + 0x20]
lea ecx, [esp + 0x1e0]
lea esi, [esp + 0x9e0]
mov dword [edx], eax
xor eax, eax
mov dword [ecx], str.App_Model_ID:
mov dword [edx + 4], 0x530474
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esi], eax
push 0x1c
pop edx
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], 0x639168
push 3
pop edx
push esi
call fcn.0045db8c
pop eax
mov eax, dword [0x64fd94]
lea edi, [esp + 0x20]
cmp eax, 2
jbe 0x52c5a3
mov ecx, edi
mov edx, ebx
push dword [esp + 0xc4]
call fcn.004f6ea0
pop eax
lea ecx, [esp + 0x1e0]
lea eax, [esp + 0x68]
lea esi, [esp + 0x9e0]
mov dword [ecx], str.Searching_for_shortcuts_containing_root:_
mov dword [ecx + 4], 2
and dword [ecx + 0x10], 0
mov dword [eax], edi
mov dword [ecx + 8], eax
mov dword [eax + 4], 0x45d9b0
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [ecx + 0xc], 1
mov dword [esi], eax
push 0x1c
pop edx
mov dword [esi + 4], edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], 0x6395c8
push 3
pop edx
push esi
call fcn.0045db8c
pop eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.0041c24b
mov esi, edi
push 0x40
pop ecx
push 4
pop edx
call fcn.004b8ae6
lea edi, [esp + 0x9e0]
mov dword [esp + 0x88], eax
mov ecx, edi
call fcn.005221d8
mov eax, dword [edi]
test eax, eax
je 0x52ddc9
mov dword [esp + 0x16c], ebx
lea ebx, [esp + 0x9e0]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x68]
lea edi, [esp + 0x11e4]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x1e0]
mov ecx, esi
mov esi, eax
mov dword [edx], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [eax], ecx
mov ecx, edi
mov dword [edx + 8], eax
mov dword [eax + 4], fcn.00417a93
mov dword [edx + 0xc], 1
call fcn.00401aac
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.00448429
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov edi, dword [edi + 8]
mov dword [esp + 0xc], ecx
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.005221e3
mov eax, dword [ebx]
test eax, eax
je 0x52ddd9
lea ebx, [esp + 0x9e0]
mov dword [esp + 0x20], eax
mov dword [esp + 0x4c], edi
lea ecx, [esp + 0x20]
lea edi, [esp + 0x11f0]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [esp + 0x68], ecx
mov ecx, edi
mov dword [esp + 0x6c], fcn.00417a93
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
lea edx, [esp + 0x1e0]
mov dword [edx], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [edx + 8], esi
mov dword [edx + 0xc], 1
call fcn.00401aac
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.00448429
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov edi, dword [edi + 8]
mov dword [esp + 0x10], ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
call fcn.005221ee
mov eax, dword [ebx]
test eax, eax
je 0x52dded
lea ebx, [esp + 0x9e0]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x20]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], fcn.00417a93
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
lea edx, [esp + 0x1e0]
mov dword [edx], str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [edx + 8], esi
lea esi, [esp + 0x11fc]
mov dword [edx + 0xc], 1
mov ecx, esi
call fcn.00401aac
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.00448429
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xa0], ecx
mov ecx, ebx
mov edx, 0x638ebc
mov dword [esp + 0x130], eax
call fcn.005232ad
mov esi, dword [ebx]
test esi, esi
je 0x52de01
lea ebx, [esp + 0x9e0]
mov dword [esp + 0xa4], edi
mov edx, esi
mov eax, dword [ebx + 4]
mov ecx, ebx
mov dword [esp + 0x180], eax
push 0x34
push str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnednonestartmenustartupstartmenurootWarning:_Unrecognized_shortcut_flag___
push dword [ebx + 8]
call fcn.004ece40
add esp, 0xc
mov edi, dword [ebx]
lea ecx, [esp + 0x20]
mov edx, edi
push dword [ebx + 8]
call fcn.004f6ea0
pop eax
lea ecx, [esp + 0x68]
lea edx, [esp + 0x20]
call fcn.00522c9f
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00448429
mov edx, dword [esp + 0x180]
mov ecx, esi
lea esi, [esp + 0x20]
call fcn.00448429
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.0041c24b
lea eax, [esp + 0x68]
mov eax, dword [eax]
test eax, eax
je 0x52de0e
lea edx, [esp + 0x70]
lea edi, [esp + 0xc8]
mov ecx, dword [edx - 4]
mov edx, dword [edx]
mov dword [edi], eax
lea eax, [esp + 0x90]
mov dword [eax], edi
mov dword [eax + 4], fcn.00417a93
mov dword [edi + 4], ecx
lea ecx, [esp + 0x1fc]
mov dword [edi + 8], edx
mov dword [ecx - 0x1c], 0x6395fc
push 2
pop edx
mov dword [ecx - 0x18], edx
and dword [ecx - 0xc], 0
mov dword [ecx - 0x14], eax
xor eax, eax
lea ebx, [esp + 0x1e0]
lea esi, [esp + 0x50]
inc eax
mov edx, ebx
mov dword [ecx - 0x10], eax
mov ecx, esi
call fcn.00401aac
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.00448429
mov ecx, dword [esp + 0x88]
push 2
pop eax
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0xc], eax
push 4
pop edx
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], edx
mov edi, 1
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x130]
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], 0x20
movq xmm0, qword [esi]
movq qword [ecx + 0x34], xmm0
mov eax, dword [esi + 8]
mov dword [ecx + 0x3c], eax
lea eax, [esp + 0x1d4]
mov dword [eax], edx
and dword [eax + 4], 0
and dword [eax + 8], 0
lea eax, [ecx + 0x40]
xor ecx, ecx
mov dword [esp + 0x180], eax
lea eax, [ebx + edx]
or ebx, edi
mov dword [esp + 0x168], eax
mov dword [esp + 0x1d0], ebx
cmp ecx, 4
je 0x52de92
mov edi, dword [esp + 0x88]
mov eax, ecx
mov ebx, dword [esp + 0x180]
inc ecx
shl eax, 4
mov esi, dword [edi + eax + 4]
test esi, esi
je 0x52dea4
add eax, edi
mov dword [esp + 0x130], ecx
mov ebx, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x19c], esi
mov dword [esp + 0x148], ecx
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a0], eax
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52ca21
lea eax, [esp + 0x148]
mov dword [esp + str.Searching_for_shortcuts_in:__f], 0x639628
mov dword [esp + 0x1e4], 3
and dword [esp + 0x1f0], 0
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x20], eax
lea eax, [esp + 0x19c]
mov dword [esp + 0x24], fcn.00521d45
mov dword [esp + 0x9e0], ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x2c], fcn.00417a93
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 2
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639640
lea ecx, [esp + 0x1e0]
push 3
pop edx
lea eax, [esp + 0x9e0]
push eax
call fcn.0045db8c
pop eax
mov esi, dword [esp + 0x19c]
mov ebx, dword [esp + 0x1a4]
lea edi, [esp + 0x1e0]
mov dword [esp + 0x1c], ebx
mov edx, esi
mov ecx, edi
push ebx
call fcn.004490fe
pop eax
mov bl, byte [esp + 0x1f8]
mov ecx, edi
call fcn.00449648
cmp bl, 2
je 0x52ddaa
lea edi, [esp + 0x1fc]
mov dword [esp + 0x4c], esi
mov edx, esi
mov ecx, edi
push dword [esp + 0x1c]
call fcn.004ecf30
pop eax
lea esi, [esp + 0x1e0]
mov ecx, esi
mov edx, edi
mov byte [esp + 0x1e0], 0xb
call fcn.004e2100
cmp byte [esp + 0x1e0], 7
jb 0x52ca6e
movzx esi, byte [esp + 0x1e0]
push 0x3b
push dword [esp + 0x1d4]
lea ebx, [esp + 0x9e8]
push ebx
call fcn.00570db0
add esp, 0xc
and dword [esp + 0x54], 0
and dword [esp + 0x58], 0
cmp esi, 0xa
mov dword [esp + 0x50], 1
mov byte [esp + 0x5c], 1
je 0x52cb57
cmp esi, 0xb
je 0x52cadf
lea ecx, [esp + 0x50]
lea edx, [esp + 0x1e0]
call fcn.00448917
lea eax, [esp + 0x9f0]
lea esi, [esp + 0x20]
lea edi, [esp + 0x68]
movsd xmm1, qword [eax + 0x1b]
movq xmm0, qword [eax + 0x23]
movsd xmm2, qword [eax + 0xb]
movsd qword [esp + 0x30], xmm1
movq xmm1, qword [eax + 0x13]
movq qword [esp + 0x38], xmm0
movsd qword [esp + 0x20], xmm2
movq qword [esp + 0x28], xmm1
mov ecx, edi
mov edx, esi
call fcn.004e2100
cmp byte [esp + 0x68], 0xa
je 0x52cb37
lea ecx, [esp + 0x50]
mov edx, edi
call fcn.00448917
jmp 0x52cb1a
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc], ecx
jmp 0x52cb78
xor eax, eax
mov dword [esp + 0xc], 0
mov dword [esp + 0xa4], 0
lea esi, [esp + 0x20]
inc eax
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0x4c]
mov ecx, ebx
push dword [esp + 0x1c]
call fcn.004ecf30
pop eax
mov dword [esp + 0x68], 1
and dword [esp + 0x6c], 0
and dword [esp + 0x70], 0
mov byte [esp + 0x74], 1
mov ecx, esi
mov edx, ebx
call fcn.004e2100
cmp byte [esp + 0x20], 0xa
je 0x52cbcf
mov ecx, esi
call fcn.00448934
test eax, eax
je 0x52cbcf
mov esi, edx
lea ecx, [esp + 0x68]
mov edx, eax
push esi
call fcn.004e7f90
pop eax
lea esi, [esp + 0x20]
jmp 0x52cb9f
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], ecx
call fcn.0040183c
mov edi, edx
mov ecx, eax
push 0x5a1ff4
call fcn.00449653
pop ecx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xc]
call fcn.0040183c
mov esi, edx
mov ecx, eax
push 0x5a2004
call fcn.00449653
pop ecx
sub edi, esi
jne 0x52cc32
lea ecx, [esp + 0x50]
mov edx, 0x63a9bc
push 1
call fcn.004ecdd0
jmp 0x52cca9
cmp edi, dword [esp + 0x1c]
jae 0x52cc47
mov esi, dword [esp + 0x4c]
cmp byte [esi + edi], 0xbf
jg 0x52cc51
jmp 0x530081
mov esi, dword [esp + 0x4c]
jne 0x530081
mov ecx, ebx
mov edx, esi
push edi
call fcn.004ecf30
pop eax
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.004e2100
cmp byte [esp + 0x20], 3
jae 0x52cc9d
mov dword [esp + 0x100], 0
mov byte [esp + 0xfc], 2
push 4
pop eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], 0
xor ebx, ebx
jmp 0x52cfa6
lea ecx, [esp + 0x50]
mov edx, esi
push edi
call fcn.004ecdd0
pop eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x90], 4
and dword [esp + 0x94], 0
and dword [esp + 0x98], 0
mov dword [esp + 0x104], edi
cmp edi, edx
mov eax, edx
mov esi, edx
cmovb eax, edi
test eax, eax
je 0x52ccfe
cmp dword [esp + 0x104], edx
jae 0x52ccfa
cmp byte [ecx + eax], 0xbf
jle 0x5300a0
mov esi, dword [esp + 0x1c]
jmp 0x52ccfc
mov esi, edx
sub esi, eax
add eax, ecx
and dword [esp + 0x9e0], 0
mov dword [esp + 0x9e4], esi
lea edx, [eax + esi]
mov dword [esp + 0x9e8], eax
mov dword [esp + 0x9ec], esi
mov dword [esp + 0x9f0], eax
xor eax, eax
mov dword [esp + 0x9f4], edx
and dword [esp + 0x9f8], 0
and word [esp + 0x9fc], 0
test al, al
jne 0x52cedd
mov eax, dword [esp + 0x9e8]
mov ebx, dword [esp + 0x9f0]
mov edi, dword [esp + 0x9f4]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x9f0]
call fcn.004d4471
test eax, eax
je 0x52cdf8
cmp edx, 0x110000
je 0x52cdf8
mov eax, dword [esp + 0x9f8]
mov esi, dword [esp + 0x9f4]
mov dword [esp + 0x10], eax
add edi, eax
mov eax, dword [esp + 0x9f0]
add ebx, esi
sub edi, ebx
mov ecx, edi
mov edi, esi
add ecx, eax
cmp dl, 0x5c
mov ebx, eax
setne byte [esp + 0xc]
cmp dl, 0x2f
mov dword [esp + 0x9f8], ecx
setne byte [esp + 0x18]
cmp edx, 0x7f
ja 0x52cd62
mov dl, byte [esp + 0x18]
mov ebx, eax
mov edi, esi
and byte [esp + 0xc], dl
jne 0x52cd62
mov eax, dword [esp + 0x9e0]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x9e0], ecx
lea ebx, [esp + 0x9e0]
lea ecx, [esp + 0x20]
sub esi, eax
add edx, eax
mov eax, esi
jmp 0x52ce42
cmp byte [esp + 0x9fd], 0
lea ebx, [esp + 0x9e0]
lea ecx, [esp + 0x20]
jne 0x52cedd
mov byte [esp + 0x9fd], 1
cmp byte [esp + 0x9fc], 0
mov edx, dword [esp + 0x9e0]
mov eax, dword [esp + 0x9e4]
jne 0x52ce39
cmp eax, edx
je 0x52cedd
sub eax, edx
add edx, dword [esp + 0x9e8]
push eax
call fcn.004490fe
pop eax
mov al, byte [esp + 0x38]
cmp al, 2
je 0x52cf5a
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x28]
lea esi, [esp + 0x39]
lea edx, [esp + 0xc8]
mov cl, byte [esi + 2]
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esp + 0x20]
mov byte [edx + 0x1b], cl
movzx ecx, word [esi]
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x68], xmm0
mov word [edx + 0x19], cx
movq xmm0, qword [esp + 0x68]
movsd qword [esp + 0xd0], xmm1
movq xmm1, qword [esp + 0x78]
lea ecx, [esp + 0x90]
movq qword [esp + 0xc8], xmm0
movq qword [esp + 0xd8], xmm1
mov byte [esp + 0xe0], al
call fcn.0044966e
mov al, byte [esp + 0x9fd]
jmp 0x52cd41
mov eax, dword [esp + 0x104]
cmp eax, dword [esp + 0x1c]
jne 0x52cf36
mov dword [esp + 0x9e0], 1
and dword [esp + 0x9e4], 0
and dword [esp + 0x9e8], 0
mov dword [esp + 0x9ec], 4
and dword [esp + 0x9f0], 0
and dword [esp + 0x9f4], 0
lea ecx, [esp + 0x90]
mov edx, ebx
mov byte [esp + 0x9f8], 0
call fcn.0044966e
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x52d023
mov edx, dword [esp + 0x4c]
mov al, byte [edx + edi - 1]
test al, al
js 0x52cfda
movzx eax, al
jmp 0x52d027
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x20]
mov edx, dword [esp + 0x98]
mov ecx, esi
movq qword [esp + 0x1c0], xmm0
mov dword [esp + 0x1c8], eax
call fcn.00449070
mov edx, dword [esp + 0x94]
mov ecx, esi
call fcn.004b8e79
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
call fcn.00448429
mov bl, 2
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
call fcn.00448429
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
call fcn.00448429
cmp bl, 2
jne 0x52d0cc
jmp 0x52ddaa
movzx ecx, byte [edx + edi - 2]
cmp cl, 0xc0
jge 0x52d002
mov esi, edx
movzx edx, byte [edx + edi - 3]
cmp dl, 0xc0
jge 0x52d007
movzx esi, byte [esi + edi - 4]
and edx, 0x3f
and esi, 7
shl esi, 6
or edx, esi
jmp 0x52d00a
and ecx, 0x1f
jmp 0x52d012
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
and al, 0x3f
shl ecx, 6
movzx eax, al
or eax, ecx
cmp eax, 0x110000
jne 0x52d027
xor ebx, ebx
jmp 0x52d03d
cmp eax, 0x80
setb cl
cmp al, 0x2f
sete dl
cmp al, 0x5c
sete bl
or bl, dl
and bl, cl
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x50]
mov esi, dword [esp + 0x98]
movq xmm0, qword [esp + 0x50]
movzx edi, word [ecx + 0xd]
mov dl, byte [ecx + 0xf]
mov cl, byte [esp + 0x5c]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xf0], esi
movq qword [esp + 0x1c0], xmm0
mov byte [esp + 0xfa], dl
mov byte [esp + 0xfc], cl
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
mov word [esp + 0xf8], di
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1c8], eax
call fcn.00448429
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
call fcn.00448429
mov eax, dword [esp + 0x1c8]
movq xmm0, qword [esp + 0x1c0]
lea ecx, [esp + 0x39]
mov edx, dword [esp + 0x100]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0xfc]
movq qword [esp + 0x20], xmm0
mov byte [esp + 0x2c], al
movzx eax, word [esp + 0xf8]
mov word [ecx - 0xc], ax
mov al, byte [esp + 0xfa]
mov byte [ecx - 0xa], al
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 4
and dword [esp + 0x40], 0
and dword [esp + 0x44], 0
mov byte [esp + 0x4a], 0
mov word [esp + 0x48], 1
mov byte [esp + 0x4b], bl
lea ebx, [esp + 0x9e0]
mov al, byte [esp + 0x2c]
mov byte [esp + 0x2c], 2
cmp al, 2
je 0x52d1b3
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
test eax, eax
je 0x52d1aa
cmp eax, 0xffffffff
je 0x530091
movzx ecx, byte [esp + 0x4a]
movzx ebx, word [esp + 0x48]
mov edx, dword [esp + 0x30]
shl ecx, 0x10
or ebx, ecx
lea ecx, [esp + 0x3c]
push ebx
push dword [esp + 0x2c]
push esi
push 0
push eax
call fcn.004498d9
add esp, 0x14
lea ebx, [esp + 0x9e0]
mov ecx, esi
mov edx, edi
call fcn.00448429
mov edx, dword [esp + 0x38]
test edx, edx
je 0x52dd47
mov eax, dword [esp + 0x44]
test eax, eax
je 0x52dd47
dec eax
mov dword [esp + 0x44], eax
imul esi, eax, 0x18
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + esi]
mov edi, dword [ecx + esi + 0x10]
movzx ecx, byte [ecx + esi + 0x14]
cmp ecx, 2
jne 0x52d5b5
mov ecx, dword [eax]
mov esi, dword [eax + 8]
cmp edi, 0xffffffff
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x68], eax
je 0x52d2a7
mov ecx, dword [esp + 0x30]
push 0x5a208c
push edi
call fcn.0044a7a3
pop ecx
pop edx
cmp byte [eax + 0x18], 0
je 0x52d4f4
mov edx, dword [esp + 0x38]
mov esi, edi
inc edi
cmp edi, edx
jae 0x52d24d
mov ecx, dword [esp + 0x30]
push 0x5a209c
push edi
call fcn.0044a7a3
pop ecx
pop edx
cmp byte [eax + 0x18], 0
jne 0x52d22b
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.0044a7c1
test al, al
je 0x52d4fa
movzx eax, byte [esp + 0x4a]
movzx ebx, word [esp + 0x48]
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x3c]
shl eax, 0x10
or ebx, eax
push ebx
lea ebx, [esp + 0x9e4]
push dword [esp + 0x1c]
push dword [esp + 0x14]
push esi
push dword [esp + 0x48]
call fcn.004498d9
add esp, 0x14
mov edx, dword [esp + 0x38]
lea eax, [edx - 1]
cmp esi, eax
jne 0x52d505
jmp 0x52d2c3
cmp byte [esp + 0x4b], 0
je 0x52d2c3
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
call fcn.0044a7c1
test al, al
je 0x52d542
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x1fc]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1ec], eax
mov byte [esp + 0x1f4], 2
cmp al, 2
movzx esi, word [edx - 0xf]
movq xmm0, qword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e8]
mov dl, byte [edx - 0xd]
movq qword [esp + 0x9e0], xmm0
mov dword [esp + 0x9e8], ecx
mov word [esp + 0x68], si
mov byte [esp + 0x6a], dl
je 0x52d155
mov ecx, dword [esp + 0x9e8]
movq xmm0, qword [esp + 0x9e0]
movzx esi, word [esp + 0x68]
lea edx, [esp + 0x50]
mov dword [esp + 0x58], ecx
mov cl, byte [esp + 0x6a]
movq qword [esp + 0x50], xmm0
mov word [edx + 0xd], si
lea esi, [esp + 0x68]
mov byte [edx + 0xf], cl
mov byte [esp + 0x5c], al
mov eax, dword [0x64fd94]
cmp eax, 4
jbe 0x52d3fa
mov dword [esp + str.Checking_shortcut:_P], 0x639664
mov dword [esp + 0x1e4], 2
and dword [esp + 0x1f0], 0
lea eax, [esp + 0x50]
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1ec], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], fcn.004e5630
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639674
lea ecx, [esp + 0x1e0]
push 5
pop edx
push ebx
call fcn.0045db8c
pop eax
mov edx, dword [esp + 0x50]
lea edi, [esp + 0x1e0]
mov ecx, edi
push dword [esp + 0x58]
call fcn.004f6ea0
pop eax
mov ecx, esi
mov edx, edi
call fcn.00522c9f
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
call fcn.0041c24b
call fcn.0052323d
mov esi, edx
test eax, eax
je 0x52d640
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
call fcn.00448429
mov dword [esp + 0xc8], esi
mov eax, dword [0x64fd94]
cmp eax, 1
jbe 0x52d4e7
xor ecx, ecx
lea eax, [esp + 0xc8]
mov dword [esp + str.Failed_to_load_shortcut:], 0x639794
inc ecx
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x6c], fcn.00417b50
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x63979c
lea ecx, [esp + 0x1e0]
push 2
pop edx
push ebx
call fcn.0045db8c
pop eax
mov esi, dword [esp + 0xc8]
mov eax, dword [esi]
push esi
call dword [eax]
add esp, 4
jmp 0x52dd35
mov edx, dword [esp + 0x38]
jmp 0x52d505
mov edx, dword [esp + 0x38]
lea eax, [edx - 1]
cmp esi, eax
je 0x52d542
mov ecx, dword [esp + 0x30]
push 0x5a20ac
push edi
call fcn.0044a7a3
pop ecx
pop edx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
call fcn.004ecaa0
test eax, eax
je 0x52d542
mov esi, edx
mov ecx, ebx
mov edx, eax
push esi
call fcn.0043c3d0
pop eax
cmp dword [esp + 0x9e0], 0
je 0x52d54f
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x52d1ae
movzx eax, byte [esp + 0x4a]
movzx esi, word [esp + 0x48]
mov edx, dword [esp + 0x9e4]
mov ecx, dword [esp + 0x14]
shl eax, 0x10
or esi, eax
push esi
push dword [esp + 0x9ec]
call fcn.0044a826
pop ecx
pop edx
mov esi, dword [esp + 0xc]
test al, al
je 0x52d639
mov eax, dword [esp + 0x38]
lea ecx, [eax - 1]
cmp edi, ecx
jne 0x52d60d
cmp byte [esp + 0x4b], 0
je 0x52d5a9
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.0044a7c1
test al, al
je 0x52d639
mov dword [esp + 0x1e0], esi
jmp 0x52d2ce
cmp ecx, 3
je 0x53006c
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
lea esi, [esp + 0x1fc]
movq qword [esp + 0x1e8], xmm1
movq qword [esp + 0x1e0], xmm0
mov dl, byte [eax + 0x17]
mov byte [esi - 5], dl
movzx eax, word [eax + 0x15]
mov word [esi - 7], ax
mov dword [esp + 0x1f0], edi
mov byte [esp + 0x1f4], cl
lea ecx, [esp + 0x1e0]
call fcn.00523296
jmp 0x52d155
movzx ecx, byte [esp + 0x4a]
movzx esi, word [esp + 0x48]
mov edx, dword [esp + 0x30]
inc edi
shl ecx, 0x10
or esi, ecx
lea ecx, [esp + 0x3c]
push esi
mov esi, dword [esp + 0x10]
push dword [esp + 0x1c]
push esi
push edi
push eax
call fcn.004498d9
add esp, 0x14
mov ecx, esi
jmp 0x52d546
and dword [esp + 0x9e0], 0
mov eax, dword [esi]
push ebx
push 0x632844
push esi
call dword [eax]
mov ecx, edi
mov edx, eax
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52dbc6
mov ebx, dword [esp + 0x9e0]
test ebx, ebx
je 0x52dbd6
mov eax, dword [0x64fd94]
cmp eax, 3
jbe 0x52d716
xor ecx, ecx
lea eax, [esp + 0x68]
mov dword [esp + 0x1e0], 0x63981c
inc ecx
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xcc], fcn.00417a93
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639824
lea ecx, [esp + 0x1e0]
push 4
pop edx
lea eax, [esp + 0x9e0]
push eax
call fcn.0045db8c
pop eax
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x9e0]
push dword [esp + 0x70]
call fcn.00523200
pop eax
mov edi, dword [esp + 0x9e0]
mov eax, dword [ebx]
push 2
push edi
push ebx
call dword [eax + 0x14]
lea ecx, [esp + 0x1e0]
mov edx, eax
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52dbf2
movsd xmm0, qword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x9e4]
mov ecx, edi
movsd qword [esp + 0x158], xmm0
mov dword [esp + 0x160], eax
call fcn.0051a4f7
mov eax, dword [esp + 0x160]
movq xmm0, qword [esp + 0x158]
lea ecx, [esp + 0x70]
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ebx
mov edx, esi
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
lea ecx, [esp + 0x120]
call fcn.00522280
cmp dword [esp + 0x120], 0
je 0x52d94e
movq xmm0, qword [esp + 0x120]
mov eax, dword [esp + 0x128]
lea esi, [esp + 0x1e0]
mov ecx, esi
movq qword [esp + 0xa8], xmm0
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0xa8]
push dword [esp + 0xc4]
push dword [esp + 0x170]
push eax
call fcn.00522320
add esp, 0xc
mov ecx, esi
call fcn.00522974
test al, al
lea ebx, [esp + 0x9e0]
je 0x52db82
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52d8f7
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x90]
mov ecx, esi
push dword [esp + 0x58]
call fcn.004f6ea0
pop eax
mov dword [esp + str.Selected_shortcut_for_update__because_target__matched.], 0x6396c0
mov dword [esp + 0x1e4], 3
and dword [esp + 0x1f0], 0
lea eax, [esp + 0xa8]
mov dword [esp + 0xc8], esi
lea esi, [esp + 0x1e0]
mov dword [esp + 0xcc], 0x45d9b0
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xd4], fcn.00417a93
mov dword [esp + 0x9e0], ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 2
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x6396d8
mov ecx, esi
push 3
pop edx
push ebx
call fcn.0045db8c
pop eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
call fcn.0041c24b
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x168]
movq xmm0, qword [esp + 0x68]
movq xmm1, qword [esp + 0x70]
mov eax, dword [esp + 0x148]
mov dword [edx + 0x10], ecx
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
lea ecx, [esp + 0x1d4]
mov edx, esi
mov dword [esp + 0x1e0], eax
call fcn.00522997
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
jmp 0x52dd35
push 0x800
push 0
lea ebx, [esp + 0x9e8]
push ebx
call fcn.00571330
add esp, 0xc
mov eax, dword [esi]
push 0x400
push ebx
push esi
call dword [eax + 0x20]
lea edi, [esp + 0x1e0]
mov edx, eax
mov ecx, edi
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52dc2f
push 0x800
push ebx
push edi
call fcn.00570db0
add esp, 0xc
lea ecx, [esp + 0xc8]
mov edx, edi
call fcn.00522a7f
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
test ecx, ecx
je 0x52dc42
mov esi, dword [esp + 0xd0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov ecx, edi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xb0], esi
movq xmm0, qword [esp + 0xb8]
movq qword [esp + 0xa8], xmm0
mov edx, dword [esp + 0xa8]
push dword [esp + 0xc4]
push dword [esp + 0x170]
push esi
call fcn.00522320
add esp, 0xc
mov ecx, edi
call fcn.00522974
test al, al
je 0x52db97
mov ecx, dword [0x64fd94]
mov ebx, eax
cmp ecx, 2
jbe 0x52db0c
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x90]
mov ecx, esi
push dword [esp + 0x58]
call fcn.004f6ea0
pop eax
mov dword [esp + str.Selected_shortcut_for_update__because_target__matched.], 0x6396fc
mov dword [esp + 0x1e4], 3
and dword [esp + 0x1f0], 0
lea eax, [esp + 0xa8]
mov dword [esp + 0xc8], esi
lea edi, [esp + 0x1e0]
mov dword [esp + 0xcc], 0x45d9b0
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xd4], fcn.00417a93
mov dword [esp + 0x9e0], ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 2
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639714
mov ecx, edi
push 3
pop edx
lea eax, [esp + 0x9e0]
push eax
call fcn.0045db8c
pop eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
call fcn.0041c24b
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x168]
movq xmm0, qword [esp + 0x68]
movq xmm1, qword [esp + 0x70]
mov eax, dword [esp + 0x148]
mov dword [edx + 0x10], ecx
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
lea ecx, [esp + 0x1d4]
mov edx, edi
mov dword [esp + 0x1e0], eax
call fcn.00522997
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
lea ecx, [esp + 0x120]
call fcn.005229da
test bl, bl
lea ebx, [esp + 0x9e0]
lea esi, [esp + 0x68]
je 0x52dd2e
jmp 0x52dd35
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
jmp 0x52dbbd
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
lea ecx, [esp + 0x120]
call fcn.005229da
lea ebx, [esp + 0x9e0]
lea esi, [esp + 0x68]
jmp 0x52dd2e
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
jmp 0x52dbe9
mov ecx, 0x80004003
call fcn.0055c6b5
mov ecx, eax
lea ebx, [esp + 0x9e0]
call fcn.00584e88
mov edi, eax
jmp 0x52dc22
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
call fcn.00584e88
mov edx, dword [esp + 0x9e4]
mov ecx, edi
mov edi, eax
call fcn.0051a4f7
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
lea ebx, [esp + 0x9e0]
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, edi
jmp 0x52d43c
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
call fcn.00584e88
mov dword [esp + 0xbc], eax
and dword [esp + 0xb8], 0
lea esi, [esp + 0x68]
mov eax, dword [0x64fd94]
cmp eax, 1
jbe 0x52dd16
mov edx, dword [esp + 0x50]
lea edi, [esp + 0xc8]
mov ecx, edi
push dword [esp + 0x58]
call fcn.004f6ea0
pop eax
mov dword [esp + str.Could_not_resolve_target_or_work_dir_for_shortcut_], 0x639758
mov dword [esp + 0x1e4], 2
and dword [esp + 0x1f0], 0
lea eax, [esp + 0x90]
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], 0x45d9b0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 1
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639768
lea ecx, [esp + 0x1e0]
push 2
pop edx
push ebx
call fcn.0045db8c
pop eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
call fcn.0041c24b
lea ecx, [esp + 0xb8]
call fcn.005229da
lea ecx, [esp + 0x120]
call fcn.005229da
mov ecx, esi
call fcn.00521d6a
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
call fcn.00448429
jmp 0x52d155
mov ecx, dword [esp + 0x30]
call fcn.00449070
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
call fcn.004b8e79
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
sub edi, 1
jb 0x52dd88
cmp byte [esi + 0x14], 2
jne 0x52dd7c
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.00448429
jmp 0x52dd83
mov ecx, esi
call fcn.00523296
add esi, 0x18
jmp 0x52dd65
mov eax, dword [esp + 0x40]
test eax, eax
je 0x52dda1
mov ecx, dword [esp + 0x3c]
imul eax, eax, 0x18
push 4
pop edx
push eax
call fcn.004042eb
pop eax
lea ecx, [esp + 0x20]
call fcn.004630de
mov ecx, dword [esp + 0x19c]
mov edx, dword [esp + 0x1a0]
call fcn.00448429
mov ecx, dword [esp + 0x130]
jmp 0x52c90e
mov esi, dword [esp + 0x9e4]
mov edi, dword [esp + 0x88]
jmp 0x52de45
mov esi, dword [esp + 0x9e4]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0xc]
jmp 0x52de3a
mov esi, dword [esp + 0x9e4]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0xc]
jmp 0x52de2d
mov esi, dword [esp + 0x9e4]
mov dword [esp + 0x6c], esi
jmp 0x52de12
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0xc]
call fcn.00448429
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
call fcn.00448429
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.00448429
push 4
pop edx
mov ecx, edi
call fcn.004040f0
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1ac]
call fcn.00448429
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
call fcn.00448429
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
call fcn.0041c24b
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esp + 0x180]
mov edi, dword [esp + 0x88]
mov esi, ebx
jmp 0x52deab
shl ecx, 4
mov esi, edi
add esi, ecx
sub ebx, esi
add esi, 8
shr ebx, 4
sub ebx, 1
jb 0x52dec7
mov ecx, dword [esi - 4]
mov edx, dword [esi]
call fcn.00448429
add esi, 0x10
jmp 0x52deb3
push 4
pop edx
mov ecx, edi
push 0x40
call fcn.004042eb
pop eax
mov edi, dword [esp + 0x1d4]
mov esi, dword [esp + 0x1d8]
test edi, edi
je 0x52de4f
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x1b8], esi
lea ebx, [esp + 0x9e0]
mov dword [esp + 0x1bc], eax
mov ecx, dword [0x64fd94]
cmp ecx, 2
jbe 0x52df8a
xor eax, eax
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x20]
lea esi, [esp + 0x1b4]
inc eax
mov dword [ecx], str.Will_update_all_current_shortcuts:
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0x5304b0
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], eax
push 0x1c
pop edx
mov dword [esp + 0x9e4], edx
mov dword [esp + 0x9e8], eax
mov dword [esp + 0x9ec], edx
mov dword [esp + 0x9f0], 0x6391a4
push 3
pop edx
push ebx
call fcn.0045db8c
pop eax
mov edi, dword [esi]
mov eax, dword [esi + 8]
add edi, 0x14
imul eax, eax, 0x18
lea esi, [esp + 0x20]
test eax, eax
je 0x52e5aa
mov dword [esp + 0x18], eax
mov eax, dword [edi - 0x14]
mov dword [esp + 0xc8], eax
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52e06e
mov edx, dword [edi - 8]
mov ebx, esi
lea ecx, [esp + 0x68]
mov esi, ecx
push dword [edi]
call fcn.00413c80
pop eax
mov dword [esp + str.Updating_existing_shortcut_], 0x6393d8
mov dword [esp + 0x1e4], 3
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], ebx
lea ebx, [esp + 0x9e0]
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
lea eax, [esp + 0xc8]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0x417aa7
mov dword [esp + 0x1ec], 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], fcn.00521d45
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x6393f0
lea ecx, [esp + 0x1e0]
push 3
pop edx
push ebx
call fcn.0045db8c
pop eax
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
call fcn.00448429
mov edx, dword [edi - 0x10]
lea esi, [esp + 0x1e0]
mov ecx, esi
call fcn.00522280
mov ecx, dword [esp + 0x1e0]
test ecx, ecx
sete al
mov dword [esp + 0xc], eax
je 0x52e0da
mov edx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x1e4]
mov ebx, ecx
call fcn.0051c372
mov ecx, ebx
mov edx, esi
mov byte [esp + 0x14], al
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], esi
call fcn.00448429
cmp byte [esp + 0x14], 0
lea esi, [esp + 0x68]
je 0x52e0ef
mov ebx, dword [esp + 0x154]
mov dword [esp + 0xc], 0
jmp 0x52e323
mov ecx, esi
call fcn.005229da
lea esi, [esp + 0x68]
mov dword [esp + 0x10], 0
jmp 0x52e0f6
lea ebx, [esp + 0x9e0]
mov eax, dword [0x64fd94]
cmp eax, 1
jbe 0x52e1a2
mov edx, dword [edi - 8]
lea esi, [esp + 0x20]
mov ecx, esi
push dword [edi]
call fcn.00413c80
pop eax
mov dword [esp + str.Shortcut__target_does_not_exist__updating_to_mainExe_and_setting_workdir_to_current.], 0x639454
mov dword [esp + 0x1e4], 2
and dword [esp + 0x1f0], 0
mov dword [esp + 0x68], esi
lea esi, [esp + 0x68]
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x6c], fcn.00417a93
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1ec], 1
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639464
lea ecx, [esp + 0x1e0]
push 2
pop edx
push ebx
call fcn.0045db8c
pop eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.00448429
mov ebx, dword [esp + 0x154]
mov edx, dword [esp + 0x14c]
mov ecx, dword [edi - 0x10]
push ebx
call fcn.00530774
pop ecx
test eax, eax
je 0x52e263
mov dword [esp + 0x68], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52e25b
xor ecx, ecx
mov dword [esp + str.Failed_to_update_shortcut_target:], 0x639498
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], fcn.00417b50
inc ecx
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x6394a0
lea ecx, [esp + 0x1e0]
push 2
pop edx
lea eax, [esp + 0x9e0]
push eax
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
mov edx, dword [esp + 0x1a8]
mov ecx, dword [edi - 0x10]
push dword [esp + 0x1b0]
call fcn.005307d5
pop ecx
test eax, eax
je 0x52e323
mov dword [esp + 0x68], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52e31b
xor ecx, ecx
mov dword [esp + str.Failed_to_update_shortcut_working_directory:], 0x6394e0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], fcn.00417b50
inc ecx
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x6394e8
lea ecx, [esp + 0x1e0]
push 2
pop edx
lea eax, [esp + 0x9e0]
push eax
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
mov edx, dword [esp + 0x14c]
mov ecx, dword [edi - 0x10]
push ebx
call fcn.005309aa
pop ecx
test eax, eax
lea ebx, [esp + 0x9e0]
je 0x52e3d9
mov dword [esp + 0x68], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52e3d1
xor ecx, ecx
mov dword [esp + str.Failed_to_update_shortcut_icon_location:], 0x639524
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], fcn.00417b50
inc ecx
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x63952c
lea ecx, [esp + 0x1e0]
push 2
pop edx
push ebx
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
mov edx, dword [esp + 0x110]
mov ecx, dword [edi - 0x10]
push dword [esp + 0x118]
call fcn.00530836
pop ecx
test eax, eax
je 0x52e48e
mov dword [esp + 0x68], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52e486
xor ecx, ecx
mov dword [esp + str.Failed_to_update_shortcut_app_model_ID:__], 0x639564
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], fcn.00417b50
inc ecx
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x63956c
lea ecx, [esp + 0x1e0]
push 2
pop edx
push ebx
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
mov eax, dword [edi - 0xc]
mov ecx, dword [eax]
push 1
push 0
push eax
call dword [ecx + 0x18]
lea ecx, [esp + 0x1e0]
mov edx, eax
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52e4fc
mov eax, dword [esp + 0xc8]
cmp eax, 1
push 0xffffffffffffffee
pop ebx
je 0x52e4cb
cmp eax, 0x10
je 0x52e4cb
not eax
mov ebx, eax
cmp byte [esp + 0xc], 0
je 0x52e4df
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
call fcn.0041c24b
mov eax, dword [esp + 0x18]
and dword [esp + 0x174], ebx
add edi, 0x18
lea ebx, [esp + 0x9e0]
add eax, 0xffffffe8
jmp 0x52df90
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
call fcn.00584e88
mov dword [esp + 0x68], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52e59d
xor ecx, ecx
mov dword [esp + str.Failed_to_save_shortcut:], 0x6392f8
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], fcn.00417b50
inc ecx
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x63957c
lea ecx, [esp + 0x1e0]
push 2
pop edx
push ebx
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
jmp 0x52e4b3
mov eax, dword [ebp + 8]
test eax, eax
je 0x52e5ca
mov edx, dword [eax + 0x34]
lea esi, [esp + 0x9e0]
mov ecx, esi
push dword [eax + 0x3c]
call fcn.00413c80
pop eax
mov esi, dword [esi]
jmp 0x52e5cc
xor esi, esi
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0x1e0]
mov edx, dword [eax + 0x34]
push dword [eax + 0x3c]
call fcn.00413c80
pop eax
test esi, esi
je 0x52e61f
mov ecx, dword [esp + 0x9e8]
mov eax, dword [esp + 0x9e4]
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x1c], esi
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0xf0], eax
call fcn.00448429
jmp 0x52e646
mov eax, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xf0], edx
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x1b8]
mov edi, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1bc]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0xfc], eax
call fcn.00517674
lea esi, [esp + 0x1218]
lea edx, [esp + 0x1e0]
mov ecx, esi
call fcn.005176be
mov eax, dword [esi + 8]
movq xmm0, qword [0x63b4f0]
movq xmm1, qword [0x63b4f8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x78]
mov edx, dword [esi]
mov ecx, dword [esi + 0xc]
mov esi, dword [esi + 4]
movq qword [eax - 0x10], xmm0
movq qword [eax - 8], xmm1
mov dword [esp + 0xf4], edi
mov dword [esp + 0x10c], ebx
mov dword [eax], edx
mov edx, dword [esp + 0xc]
mov dword [eax + 4], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
imul eax, ebx, 0x18
add eax, edi
mov dword [esp + 0x18], eax
mov eax, edi
lea edi, [esp + 0x1e0]
cmp eax, dword [esp + 0x18]
je 0x52ed0f
mov esi, eax
add eax, 0x18
mov dword [esp + 0xc], eax
push 0x800
push 0
lea ebx, [esp + 0x9e8]
push ebx
call fcn.00571330
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push 0x400
push ebx
push eax
call dword [ecx + 0x28]
mov ecx, edi
mov edx, eax
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52e783
push 0x800
push ebx
push edi
call fcn.00570db0
add esp, 0xc
lea ecx, [esp + 0x20]
mov edx, edi
call fcn.00522a7f
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test ecx, ecx
je 0x52e798
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], edi
call fcn.00448429
test edi, edi
lea edi, [esp + 0x1e0]
je 0x52e7b3
mov eax, dword [esp + 0xc]
jmp 0x52e6df
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
call fcn.00584e88
mov edx, eax
mov dword [esp + 0xcc], edx
and dword [esp + 0xc8], 0
lea ecx, [esp + 0xc8]
call fcn.005229da
cmp dword [esi], 0x20
mov eax, dword [esp + 0xc]
je 0x52e6df
mov edx, dword [esi + 4]
mov ecx, edi
call fcn.00522280
mov eax, dword [esp + 0x1e0]
test eax, eax
je 0x52e7f4
mov edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x88], ecx
jmp 0x52e815
mov ecx, edi
call fcn.005229da
xor eax, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x88], 0
inc eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1e8]
and dword [esp + 0x1e0], 0
and dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 7
lea ecx, [esp + 0x9e0]
mov edx, edi
and dword [eax + 0x10], 0
and dword [eax + 0xc], 0
and dword [eax + 0x16], 0
and dword [eax + 0x12], 0
mov byte [esp + 0x1fc], 1
mov dword [esp + 0x1e8], 0x2000000
push dword [esp + 0x154]
push dword [esp + 0x150]
call fcn.004e7a20
pop eax
pop ecx
cmp byte [esp + 0x9e0], 4
jne 0x52e88b
mov ebx, dword [esp + 0x9e4]
jmp 0x52e8a1
mov eax, dword [esp + 0x9e0]
mov ebx, dword [esp + 0x9e4]
cmp al, 4
je 0x52e8a1
cmp al, 4
jne 0x52e8ee
mov ecx, edi
lea edi, [esp + 0xc8]
mov dword [esp + 0xc8], ebx
mov edx, edi
call fcn.004d41d6
cmp dword [esp + 0x1e0], 0
je 0x52e90e
mov eax, dword [esp + 0x1e8]
mov edi, dword [esp + 0x1e4]
mov dword [esp + 0x88], eax
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [esp + 0x88]
mov eax, edi
lea edi, [esp + 0x1e0]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ebx
call fcn.00448429
jmp 0x52eae2
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x200]
and dword [esp + 0x1e0], 0
and dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 7
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], 2
and dword [esp + 0x24], 0
mov dword [esp + 0x20], 1
and dword [esp + 0x2c], 0
lea ebx, [esp + 0x1e0]
mov dword [esp + 0x130], eax
mov dword [esp + 0x180], edx
mov dword [esp + 0x28], edx
and dword [ecx + 0x10], 0
and dword [ecx + 0xc], 0
and dword [ecx + 0x16], 0
and dword [ecx + 0x12], 0
mov byte [esp + 0x1fc], 1
mov dword [esp + 0x1e8], 0x2000000
mov ecx, edi
mov edx, ebx
push dword [esp + 0x88]
mov edi, dword [esp + 0x14]
push edi
call fcn.004e7a20
pop eax
pop ecx
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.00448429
cmp byte [esp + 0xc8], 4
mov edi, ebx
jne 0x52e9e2
mov ebx, dword [esp + 0xcc]
jmp 0x52e9f8
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
cmp al, 4
je 0x52e9f8
cmp al, 4
jne 0x52ea37
mov ecx, edi
lea edx, [esp + 0x50]
mov dword [esp + 0x50], ebx
call fcn.004d41d6
cmp dword [esp + 0x1e0], 0
je 0x52ea4a
mov eax, dword [esp + 0x1e8]
mov edi, dword [esp + 0x1e4]
mov dword [esp + 0x10], eax
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [esp + 0x10]
mov eax, edi
lea edi, [esp + 0x1e0]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ebx
jmp 0x52ead9
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov edx, dword [esp + 0x130]
mov dword [esp + 0x9f4], eax
mov dword [esp + 0x9f0], ecx
mov dword [esp + 0x9fc], ebx
mov ebx, dword [esp + 0x4c]
xor edx, eax
mov eax, dword [esp + 0x200]
mov dword [esp + 0x9f8], 2
and dword [esp + 0x9e4], 0
mov dword [esp + 0x9e0], 1
and dword [esp + 0x9ec], 0
xor ebx, ecx
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x9e8], eax
xor ecx, eax
or ebx, ecx
lea ecx, [esp + 0x9e0]
or ebx, edx
sete byte [esp + 0x1e1]
mov byte [esp + 0x1e0], 4
call fcn.00530c00
lea ecx, [esp + 0x20]
call fcn.00530c00
mov ecx, edi
call fcn.0053051a
test al, al
mov eax, dword [esp + 0xc]
je 0x52e6df
mov eax, dword [esi]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
push eax
push dword [esp + 0x88]
push dword [esp + 0x88]
call fcn.00530b05
add esp, 0xc
mov edi, eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x4c], 0
shr edi, 0x19
movd xmm0, edi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
mov dword [esp + 0x10], ebx
and ebx, eax
lea edi, [ecx - 0x10]
mov dword [esp + 0x88], ecx
pshufd xmm1, xmm0, 0
movdqa xmmword [esp + 0x180], xmm1
movdqu xmm0, xmmword [ecx + ebx]
movdqa xmmword [esp + 0x130], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov word [esp + 0x1e0], ax
lea ecx, [esp + 0x1e0]
call fcn.00503d61
test eax, eax
je 0x52ebaf
add edx, ebx
mov ecx, edi
and edx, dword [esp + 0x10]
mov eax, edx
shl eax, 4
sub ecx, eax
mov eax, dword [esp + 0x14]
cmp dword [ecx], eax
jne 0x52eb86
jmp 0x52ebf4
movdqa xmm1, xmmword [esp + 0x130]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x52ec8f
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x88]
movdqa xmm1, xmmword [esp + 0x180]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
and ebx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
jmp 0x52eb68
mov edi, dword [esp + 0x88]
neg edx
shl edx, 4
add edi, edx
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov dword [esp + 0x10], ecx
push ecx
call dword [eax + 4]
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
push ebx
call dword [eax + 4]
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x1e8]
push dword [esi + 0x14]
call fcn.00413c80
pop eax
mov eax, dword [esp + 0x10]
mov esi, edi
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ebx
mov edx, dword [edi - 4]
cmp edx, dword [edi - 8]
jne 0x52ec52
lea ecx, [esi - 0xc]
call fcn.0042606f
mov edx, dword [esi - 4]
mov eax, dword [esi - 0xc]
mov ebx, dword [esp + 0x1f0]
imul ecx, edx, 0x14
lea edi, [esp + 0x1e0]
mov dword [eax + ecx + 0x10], ebx
movq xmm0, qword [esp + 0x1e0]
movq xmm1, qword [esp + 0x1e8]
movq qword [eax + ecx + 8], xmm1
movq qword [eax + ecx], xmm0
inc dword [esi - 4]
jmp 0x52e77a
cmp dword [esp + 0x70], 0
je 0x52eced
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x10]
push dword [esp + 0xa4]
push dword [esp + 0xc8]
call fcn.00530a94
pop ecx
pop ecx
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
and dl, 1
shl eax, 4
movzx edx, dl
sub dword [esp + 0x70], edx
mov edi, ecx
sub edi, eax
neg eax
mov dword [ecx + eax - 0x10], ebx
mov dword [edi - 0xc], 4
and dword [edi - 8], 0
and dword [edi - 4], 0
inc dword [esp + 0x74]
jmp 0x52ec02
lea ecx, [esp + 0x68]
lea edx, [esp + 0x78]
call fcn.00584fb8
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x10], ecx
jmp 0x52ec96
lea edi, [esp + 0x1e0]
mov ecx, edi
call fcn.00517674
lea esi, [esp + 0x1208]
mov edx, edi
mov ecx, esi
call fcn.005176be
movsd xmm0, qword [0x63b4f0]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi]
mov esi, dword [esi + 4]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [0x63b4f8]
test ebx, ebx
movsd qword [esp + 0x28], xmm0
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
lea eax, [edi + 0x10]
lea edx, [edi + ebx + 1]
movdqa xmm0, xmmword [edi]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], edx
pmovmskb ecx, xmm0
mov dword [esp + 0xc], eax
not ecx
je 0x52edc4
lea esi, [ebx + 1]
mov dword [esp + 0x14], 0
cmp esi, 0xfffffff
ja 0x52edba
shl esi, 4
add ebx, 0x11
add ebx, esi
jb 0x52edba
cmp ebx, 0x7ffffff1
jb 0x52ff92
mov edx, dword [esp + 0x14]
mov eax, edi
sub eax, esi
jmp 0x52edc6
xor edx, edx
lea esi, [esp + 0x9ec]
mov dword [esi - 0xc], edx
mov dword [esi - 8], ebx
mov dword [esi - 4], eax
mov eax, dword [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xc]
mov word [esi + 0xc], cx
mov ecx, dword [esp + 0xa0]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 0xa4], eax
lea ecx, [esp + 0x9ec]
call fcn.00530a32
test eax, eax
je 0x52f267
mov edx, dword [eax - 0xc]
test edx, edx
je 0x52f267
mov ecx, dword [eax - 0x10]
mov byte [esp + 0x14], 2
mov dword [esp + 0x108], edx
mov dword [esp + 0x100], ecx
mov ecx, dword [eax - 8]
imul eax, dword [eax - 4], 0x14
mov dword [esp + 0x104], ecx
add eax, edx
mov ecx, edx
mov dword [esp + 0x10], eax
cmp ecx, dword [esp + 0x10]
je 0x52f0ba
mov eax, dword [ecx]
lea edi, [ecx + 0x14]
test eax, eax
je 0x52f0b8
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xcc]
movsd xmm0, qword [ecx + 4]
movsd xmm1, qword [ecx + 0xc]
lea ecx, [esp + 0x50]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov edx, dword [esp + 0xd0]
push dword [esp + 0xd8]
call fcn.004ecdd0
pop eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], edx
call fcn.004ecaa0
test eax, eax
je 0x52f098
mov ecx, eax
call fcn.0040183c
test eax, eax
je 0x52f098
mov esi, eax
mov ebx, edx
mov ecx, eax
push dword [esp + 0xa0]
push dword [esp + 0x20]
call fcn.004fc2d0
pop eax
pop ecx
ucomisd xmm0, qword [str.ffffff]
movapd xmm2, xmm0
jbe 0x52efc1
mov eax, esi
mov dword [esp + 0x1e0], esi
movsd qword [esp + 0x180], xmm0
add eax, ebx
xor ebx, ebx
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1e8]
and dword [eax + 0x10], 0
and dword [eax + 0xc], 0
and dword [eax + 0x15], 0
and dword [eax + 0x11], 0
push 4
pop eax
test eax, eax
je 0x52ef88
dec eax
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e8], eax
call fcn.00401b4f
cmp eax, 0x110000
je 0x52ef88
lea ecx, [esp + 0x1ec]
mov esi, eax
call fcn.00401b4f
cmp eax, 0x110000
je 0x52ef88
cmp esi, eax
jne 0x52ef88
mov eax, dword [esp + 0x1e8]
inc ebx
jmp 0x52ef46
movd xmm0, ebx
movsd xmm2, qword [0x588800]
movsd xmm1, qword [esp + 0x180]
por xmm0, xmmword [0x588460]
subsd xmm2, xmm1
subsd xmm0, qword [0x588450]
mulsd xmm0, qword [0x588828]
mulsd xmm2, xmm0
addsd xmm2, xmm1
cmp byte [esp + 0x14], 2
jne 0x52eff7
lea ecx, [esp + 0x50]
mov eax, dword [esp + 0x54]
mov bl, byte [esp + 0x5c]
movzx edx, word [ecx + 0xd]
mov cl, byte [ecx + 0xf]
mov dword [esp + 0x130], eax
mov byte [esp + 0x14], bl
mov word [esp + 0x1e0], dx
mov byte [esp + 0x1e2], cl
jmp 0x52f055
ucomisd xmm2, qword [esp + 0x88]
jbe 0x52f098
lea ecx, [esp + 0x50]
mov al, byte [esp + 0x5c]
mov esi, dword [esp + 0x54]
movsd qword [esp + 0x88], xmm2
movzx edx, word [ecx + 0xd]
mov cl, byte [ecx + 0xf]
mov byte [esp + 0x14], al
mov word [esp + 0x1e0], dx
mov byte [esp + 0x1e2], cl
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x130]
call fcn.00448429
movsd xmm2, qword [esp + 0x88]
mov dword [esp + 0x130], esi
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov al, byte [esp + 0x1e2]
movzx ebx, word [esp + 0x1e0]
lea ecx, [esp + 0xc8]
movsd qword [esp + 0x88], xmm2
mov byte [esp + 0x92], al
mov word [esp + 0x90], bx
mov dword [esp + 0xc4], esi
mov dword [esp + 0x4c], edx
jmp 0x52f0ac
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0xc]
call fcn.00448429
lea ecx, [esp + 0xc8]
call fcn.00521d6a
mov ecx, edi
jmp 0x52ee50
mov ecx, edi
mov eax, dword [esp + 0x10]
xor edx, edx
sub eax, ecx
push 0x14
pop esi
div esi
mov edx, eax
call fcn.00530a7a
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
call fcn.0051e762
cmp byte [esp + 0x14], 2
je 0x52ee05
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x50], eax
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
call fcn.00530b05
add esp, 0xc
cmp dword [esp + 0x28], 0
mov ebx, eax
mov esi, edx
lea eax, [esp + 0x50]
mov dword [esp + 0xc8], eax
je 0x52f255
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xc8]
mov dword [esp + 0x1e0], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x1e4], eax
push 0x530d27
lea eax, [esp + 0x1e4]
push eax
push esi
push ebx
call fcn.00530c27
add esp, 0x10
test eax, eax
je 0x52f1df
mov eax, dword [esp + 0x20]
shr ebx, 0x19
mov esi, dword [esp + 0x50]
movzx ecx, byte [eax + edx]
and ecx, 1
sub dword [esp + 0x28], ecx
lea ecx, [edx - 0x10]
and ecx, dword [esp + 0x24]
mov byte [eax + edx], bl
neg edx
mov byte [ecx + eax + 0x10], bl
imul ecx, edx, 0x14
mov edx, dword [esp + 0x4c]
inc dword [esp + 0x2c]
mov dword [eax + ecx - 0x14], esi
mov dword [eax + ecx - 0x10], edx
mov edx, dword [esp + 0x130]
mov dword [eax + ecx - 0xc], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + ecx - 8], edx
mov dl, byte [esp + 0x14]
mov byte [eax + ecx - 4], dl
movzx edx, word [esp + 0x90]
mov word [eax + ecx - 3], dx
mov dl, byte [esp + 0x92]
mov byte [eax + ecx - 1], dl
mov byte [esp + 0x1ec], 2
jmp 0x52f244
mov eax, dword [esp + 0x20]
neg edx
imul ecx, edx, 0x14
mov edx, dword [esp + 0x4c]
movsd xmm0, qword [eax + ecx - 0x10]
movq xmm1, qword [eax + ecx - 8]
movq qword [esp + 0x1e8], xmm1
movsd qword [esp + 0x1e0], xmm0
mov dword [eax + ecx - 0x10], edx
mov edx, dword [esp + 0x130]
mov dword [eax + ecx - 0xc], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + ecx - 8], edx
mov dl, byte [esp + 0x14]
mov byte [eax + ecx - 4], dl
movzx edx, word [esp + 0x90]
mov word [eax + ecx - 3], dx
mov dl, byte [esp + 0x92]
mov byte [eax + ecx - 1], dl
lea ecx, [esp + 0x1e0]
call fcn.004630de
jmp 0x52ee05
lea ecx, [esp + 0x20]
lea edx, [esp + 0x30]
call fcn.00585781
jmp 0x52f12a
cmp dword [esp + 0x9fc], 0
je 0x52f29b
lea ecx, [esp + 0x9ec]
call fcn.00530a32
test eax, eax
je 0x52f29b
mov ecx, dword [eax - 0xc]
mov edx, dword [eax - 4]
mov esi, eax
call fcn.00530a7a
mov ecx, dword [esi - 0xc]
mov edx, dword [esi - 8]
call fcn.0051e762
jmp 0x52f271
mov edx, dword [esp + 0x9e0]
test edx, edx
je 0x52f2ba
mov ecx, dword [esp + 0x9e8]
push dword [esp + 0x9e4]
call fcn.004042eb
pop eax
mov ecx, dword [esp + 0xf4]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
lea esi, [ecx + 4]
mov dword [esp + 0xc], eax
sub dword [esp + 0x10c], 1
jb 0x52f2ea
mov ecx, esi
call fcn.00521d6a
add esi, 0x18
jmp 0x52f2d4
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x52f309
imul eax, eax, 0x18
push 4
pop edx
mov ecx, dword [esp + 0xf4]
push eax
call fcn.004042eb
pop eax
movdqa xmm0, xmmword [ebx]
lea eax, [ebx + edi + 1]
test edi, edi
mov dword [esp + 0x18], eax
lea eax, [ebx + 0x10]
mov dword [esp + 0x10], eax
pmovmskb esi, xmm0
not esi
je 0x52f351
lea eax, [edi + 1]
xor ecx, ecx
push 0x14
pop edx
mul edx
jo 0x52f34b
add eax, 0xf
add edi, 0x11
and eax, 0xfffffff0
add edi, eax
jb 0x52f34b
cmp edi, 0x7ffffff1
jb 0x52ff9e
mov edx, ebx
sub edx, eax
jmp 0x52f353
xor ecx, ecx
lea eax, [esp + 0xd4]
mov dword [eax - 0xc], ecx
mov dword [eax - 8], edi
mov dword [eax - 4], edx
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dword [eax], ebx
lea ebx, [esp + 0xc8]
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov edi, dword [esp + 0xec]
mov edx, dword [esp + 0xc]
mov word [eax + 0xc], si
mov dword [eax + 0x10], edx
lea ecx, [esp + 0xd4]
call fcn.0053b095
test eax, eax
je 0x52f868
mov ecx, dword [eax - 8]
mov esi, dword [eax - 0x14]
mov dword [esp + 0x128], ecx
movsd xmm0, qword [eax - 0x10]
movsd qword [esp + 0x120], xmm0
mov dl, byte [eax - 1]
mov cl, byte [eax - 4]
mov byte [esp + 0x15a], dl
cmp cl, 2
movzx eax, word [eax - 3]
mov word [esp + 0x158], ax
je 0x52f868
mov eax, dword [esp + 0x128]
movq xmm0, qword [esp + 0x120]
mov bl, byte [esp + 0x15a]
movzx edx, word [esp + 0x158]
mov dword [esp + 0xb0], eax
movq qword [esp + 0xa8], xmm0
mov byte [esp + 0xb4], cl
lea ecx, [esp + 0xb5]
mov word [ecx], dx
mov byte [ecx + 2], bl
lea ecx, [esp + 0xb8]
mov edx, edi
call fcn.0053056a
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb0]
call fcn.004e9520
test eax, eax
mov dword [esp + 0xc], eax
je 0x52f474
mov edi, edx
mov edx, eax
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x90]
push eax
push edi
call fcn.00530a0d
pop eax
pop ecx
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x98]
jmp 0x52f4e1
mov ebx, edi
lea ecx, [esp + 0x1e0]
mov edx, edi
push esi
call fcn.005305b0
pop eax
mov al, byte [esp + 0x1ec]
mov esi, dword [esp + 0x1e0]
cmp al, 2
je 0x52fcf1
lea edx, [esp + 0x1fc]
lea edi, [esp + 0x9d]
mov cl, byte [edx - 0xd]
movzx ebx, word [edx - 0xf]
mov edx, dword [esp + 0x1e4]
mov byte [edi + 2], cl
mov word [edi], bx
mov edi, dword [esp + 0x1e8]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edi
mov byte [esp + 0x9c], al
mov edx, dword [esp + 0xa8]
lea ecx, [esp + 0x68]
push dword [esp + 0xb0]
call fcn.004ecf30
pop eax
lea ecx, [esp + 0x20]
mov edx, esi
push edi
call fcn.004ecf30
pop eax
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x24]
cmp esi, edi
jne 0x52f56f
mov al, byte [esp + 0x84]
mov bl, byte [esp + 0x70]
cmp al, byte [esp + 0x3c]
jne 0x52f573
cmp byte [esp + 0x85], 2
jne 0x52f573
cmp byte [esp + 0x3d], 2
jne 0x52f573
cmp bl, 3
setb al
cmp byte [esp + 0x28], 3
setb cl
xor cl, al
jne 0x52f573
mov ecx, dword [esp + 0x68]
mov edx, esi
push esi
push dword [esp + 0x24]
call fcn.004154e3
pop ecx
pop edx
test al, al
je 0x52f573
mov edi, dword [esp + 0xec]
lea ebx, [esp + 0xc8]
jmp 0x52f823
mov bl, byte [esp + 0x70]
cmp bl, 6
je 0x52f5a1
lea ecx, [esp + 0x71]
mov eax, dword [ecx + 0xf]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
mov dword [esp + 0x1ef], eax
movq qword [esp + 0x1e8], xmm1
movq qword [esp + 0x1e0], xmm0
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x86]
movzx edx, word [esp + 0x84]
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
mov dword [esp + 0x9e0], eax
mov eax, dword [esp + 0x1ef]
mov dword [esp + 0x9e4], esi
lea esi, [esp + 0x9e9]
mov byte [esp + 0x9e8], bl
movsd qword [esi], xmm0
mov dword [esi + 0xf], eax
mov al, byte [esp + 0x28]
movsd qword [esi + 8], xmm1
mov byte [esp + 0x9fe], cl
mov word [esp + 0x9fc], dx
cmp al, 6
je 0x52f62c
lea edx, [esp + 0x29]
mov ecx, dword [edx + 0xf]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov dword [esp + 0x5f], ecx
movsd qword [esp + 0x58], xmm1
movsd qword [esp + 0x50], xmm0
mov ecx, dword [esp + 0x20]
mov dl, byte [esp + 0x3e]
movzx esi, word [esp + 0x3c]
movq xmm0, qword [esp + 0x50]
movq xmm1, qword [esp + 0x58]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], edi
mov byte [esp + 0x1e8], al
mov eax, dword [esp + 0x5f]
lea ecx, [esp + 0x1e9]
movq qword [ecx], xmm0
mov dword [ecx + 0xf], eax
movq qword [ecx + 8], xmm1
mov byte [esp + 0x1fe], dl
mov word [esp + 0x1fc], si
lea esi, [esp + 0x9e0]
lea edx, [esp + 0x1e0]
mov ecx, esi
call fcn.00448c28
mov edi, dword [esp + 0xec]
test al, al
lea ebx, [esp + 0xc8]
jne 0x52f823
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52f750
lea eax, [esp + 0xa8]
mov dword [esp + str.Renaming_shortcut_from_.], 0x639360
mov dword [esp + 0x1e4], 3
and dword [esp + 0x1f0], 0
mov ecx, fcn.004e5630
mov dword [esp + 0x20], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x20]
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 2
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x639378
lea ecx, [esp + 0x1e0]
push 3
pop edx
push esi
call fcn.0045db8c
pop eax
mov edx, dword [esp + 0xa8]
lea ecx, [esp + 0x50]
push dword [esp + 0x98]
push dword [esp + 0x94]
push dword [esp + 0xb8]
call fcn.004fa4f0
add esp, 0xc
cmp byte [esp + 0x50], 4
je 0x52f823
movq xmm0, qword [esp + 0x50]
movq qword [esp + 0x68], xmm0
mov eax, dword [0x64fd94]
cmp eax, 1
jbe 0x52f818
xor ecx, ecx
lea eax, [esp + 0x68]
mov dword [esp + str.Failed_to_rename_shortcut:], 0x6393a4
inc ecx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x24], fcn.004e54a0
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x9e0], ecx
push 0x1c
pop eax
mov dword [esp + 0x9e4], eax
mov dword [esp + 0x9e8], ecx
mov dword [esp + 0x9ec], eax
mov dword [esp + 0x9f0], 0x6393ac
lea ecx, [esp + 0x1e0]
push 2
pop edx
push esi
call fcn.0045db8c
pop eax
lea eax, [esp + 0x68]
push eax
call fcn.004fdf2b
pop eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
call fcn.00448429
cmp dword [esp + 0xc], 0
jne 0x52f850
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
call fcn.00448429
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
jmp 0x52f38c
mov ecx, ebx
call fcn.00530530
mov eax, dword [esp + 0x174]
lea ecx, [esp + 0x9e0]
mov dword [ecx], str.NONESTART_MENUDESKTOPSTARTUPSTART_MENU_ROOTUSER_PINNED
mov dword [ecx + 4], 6
and dword [ecx + 8], 0
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x70]
mov byte [ecx + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x170]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x78]
lea edi, [esp + 0x1e0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov ecx, edi
lea edx, [esp + 0x9e0]
call fcn.00521f24
cmp dword [esp + 0x1e0], 0
je 0x52f8e2
mov eax, dword [esp + 0x1e8]
jmp 0x52f907
cmp byte [esp + 0x9f4], 0
jne 0x52ff42
mov byte [esp + 0x9f4], 1
mov eax, dword [esp + 0x9f0]
test eax, eax
je 0x52ff42
mov edx, dword [esp + 0xec]
mov dword [esp + 0x158], eax
mov ecx, edi
push eax
call fcn.005305b0
pop eax
mov al, byte [esp + 0x1ec]
mov esi, dword [esp + 0x1e0]
cmp al, 2
je 0x52fd23
lea edx, [esp + 0x1fc]
mov edi, ebx
lea ebx, [esp + 0xd5]
movzx ecx, word [edx - 0xf]
mov word [ebx], cx
mov cl, byte [edx - 0xd]
mov edx, dword [esp + 0xc]
mov byte [ebx + 2], cl
mov ecx, dword [esp + 0x1e8]
mov ebx, edi
mov dword [esp + 0xc8], esi
mov edi, dword [esp + 0x10]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0xcc], ecx
mov byte [esp + 0xd4], al
lea ecx, [esp + 0xa8]
push edi
mov esi, dword [esp + 0x1c]
push esi
push dword [esp + 0x1c]
call fcn.0053038d
add esp, 0xc
lea ecx, [esp + 0x90]
mov edx, esi
push edi
lea edi, [esp + 0x1e4]
call fcn.0053041b
pop eax
mov eax, dword [0x64fd94]
cmp eax, 2
jbe 0x52fa46
mov dword [esp + str.Creating_new_shortcut_for_flag___], 0x6391d8
mov dword [esp + 0x1e4], 3
and dword [esp + 0x1f0], 0
lea eax, [esp + 0x158]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], fcn.004e5630
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x70], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x74], fcn.00521d45
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], 2
push 0x1c
pop eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x6391f0
mov ecx, edi
push 3
pop edx
lea eax, [esp + 0x20]
push eax
call fcn.0045db8c
pop eax
call fcn.0052323d
mov esi, edx
test eax, eax
je 0x52fae3
mov dword [esp + 0x50], esi
mov eax, dword [0x64fd94]
cmp eax, 1
jbe 0x52fad6
xor ecx, ecx
lea eax, [esp + 0x50]
mov dword [esp + str.Failed_to_create_shortcut:], 0x63932c
inc ecx
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x6c], fcn.00417b50
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
mov ecx, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x20], ecx
push 0x1c
pop eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x639334
mov ecx, edi
push 2
pop edx
lea eax, [esp + 0x20]
push eax
call fcn.0045db8c
pop eax
mov esi, dword [esp + 0x50]
mov eax, dword [esi]
push esi
call dword [eax]
add esp, 4
jmp 0x52fc7c
and dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
mov eax, dword [esi]
push ecx
push 0x632844
push esi
call dword [eax]
mov ecx, edi
mov edx, eax
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52fcba
mov eax, dword [esp + 0x20]
test eax, eax
je 0x52fcca
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 1
and dword [esp + 0x74], 0
and dword [esp + 0x78], 0
mov ecx, esi
mov edx, ebx
push edi
call fcn.00530774
pop ecx
test eax, eax
jne 0x52fd38
mov edx, dword [esp + 0x90]
mov ecx, esi
push dword [esp + 0x98]
call fcn.005307d5
pop ecx
test eax, eax
jne 0x52fda7
mov edx, dword [esp + 0x110]
mov ecx, esi
push dword [esp + 0x118]
call fcn.00530836
pop ecx
test eax, eax
jne 0x52fe16
mov ecx, esi
mov edx, ebx
push edi
call fcn.005309aa
pop ecx
test eax, eax
jne 0x52fe82
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0x50]
push dword [esp + 0xd0]
call fcn.004f6ea0
pop eax
mov ebx, dword [esp + 0x50]
test ebx, ebx
jne 0x52fbc8
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x20]
mov edx, ebx
push esi
call fcn.00523200
pop eax
mov eax, dword [esp + 0x20]
mov ecx, esi
xor edx, edx
mov dword [esp + 0x88], eax
call fcn.0055c09d
mov edi, eax
mov dword [esp + 0x130], edx
push esi
push ebx
push eax
call fcn.00570db0
add esp, 0xc
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
call fcn.00448429
mov eax, dword [esp + 0x130]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
push 1
push dword [esp + 0x8c]
push eax
call dword [ecx + 0x18]
lea edi, [esp + 0x1e0]
mov edx, eax
mov ecx, edi
call fcn.005220c8
cmp dword [esp + 0x1e0], 0
jne 0x52ffa6
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.0051a4f7
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
call fcn.0041c24b
lea ecx, [esp + 0x68]
call fcn.00521d6a
lea ebx, [esp + 0xc8]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
call fcn.00448429
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
call fcn.00448429
jmp 0x52f8c1
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
jmp 0x52fcd6
mov ecx, 0x80004003
call fcn.0055c6b5
mov ecx, eax
call fcn.00584e88
mov edi, eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, edi
lea edi, [esp + 0x1e0]
jmp 0x52fa55
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
call fcn.00448429
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
call fcn.00448429
lea ecx, [esp + 0xc8]
call fcn.00530530
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xf0]
call fcn.00448429
jmp 0x52de4f
mov dword [esp + 0xb8], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52fefd
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x50]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [ecx], str.Failed_to_set_target_path:
mov dword [esp + 0x54], fcn.00417b50
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x20], eax
push 0x1c
pop edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x639224
jmp 0x52fee8
mov dword [esp + 0xb8], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52fefd
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x50]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [ecx], str.Failed_to_set_working_directory:
mov dword [esp + 0x54], fcn.00417b50
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x20], eax
push 0x1c
pop edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x639260
jmp 0x52fee8
mov dword [esp + 0xb8], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52fefd
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x50]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [ecx], str.Failed_to_set_app_model_ID:_p
mov dword [esp + 0x54], fcn.00417b50
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x20], eax
push 0x1c
pop edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x639294
jmp 0x52fee8
mov dword [esp + 0xb8], eax
mov ecx, dword [0x64fd94]
cmp ecx, 1
jbe 0x52fefd
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x50]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [ecx], str.Failed_to_set_icon_location:
mov dword [esp + 0x54], fcn.00417b50
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [esp + 0x20], eax
push 0x1c
pop edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x6392cc
push 2
pop edx
lea eax, [esp + 0x20]
push eax
call fcn.0045db8c
pop eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
push eax
call dword [ecx]
add esp, 4
lea ecx, [esp + 0x68]
call fcn.00521d6a
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
call fcn.00448429
mov edx, dword [esp + 0xac]
mov ecx, ebx
call fcn.00448429
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
call fcn.00448429
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xf0]
call fcn.00448429
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1ac]
call fcn.00448429
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
call fcn.00448429
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
call fcn.0041c24b
xor esi, esi
jmp 0x52de88
push 0x10
pop eax
mov dword [esp + 0x14], eax
jmp 0x52edba
push 0x10
pop ecx
jmp 0x52f34b
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
call fcn.00584e88
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov esi, eax
call fcn.0051a4f7
mov dword [esp + 0x120], esi
mov eax, dword [0x64fd94]
cmp eax, 1
jbe 0x53004b
xor edx, edx
lea ecx, [esp + 0x1e0]
lea eax, [esp + 0x120]
inc edx
mov dword [ecx], str.Failed_to_save_shortcut:
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], fcn.00417b50
mov dword [ecx + 4], edx
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov eax, str.velopack::windows::shortcutssrcwindows_shortcuts.rsc
mov dword [ecx + 0xc], edx
mov dword [esp + 0x20], eax
push 0x1c
pop edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], 0x639300
push 2
pop edx
lea eax, [esp + 0x20]
push eax
call fcn.0045db8c
pop eax
mov esi, dword [esp + 0x120]
mov eax, dword [esi]
push esi
call dword [eax]
add esp, 4
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
call fcn.0041c24b
mov ebx, dword [esp + 0xa8]
jmp 0x52ff05
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
push 0x5a207c
call fcn.00580f20
pop eax
ud2
mov edx, dword [esp + 0x1c]
mov ecx, esi
push 0x5a2014
push edi
push 0
jmp 0x5300ab
push 0x37
pop edx
mov ecx, str.assertion_failed:_self.dir_patterns.len______0_as_usize
push 0x5a206c
jmp 0x530079
mov edx, dword [esp + 0x1c]
push 0x5a2024
push edx
push eax
call fcn.00581400
add esp, 0xc
ud2