Function at 0x42b776
Capabilities:
Contain obfuscated stackstrings
Delete file

Disassembly:
push 0x12c
mov eax, 0x481224
call fcn.004569c5
mov edi, edx
mov dword [ebp - 0xf8], edi
mov esi, ecx
mov dword [ebp - 0xf4], esi
lea eax, [ebp - 0x9c]
xor ebx, ebx
push eax
push str.ApplyXmlFileUpdate
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x9c], ebx
call fcn.0041e6cc
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xac]
call fcn.00451160
lea ecx, [ebp - 0xc4]
call fcn.0040aaed
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x12c]
call fcn.0040aaed
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb8]
call fcn.0040aaed
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x108]
call fcn.0040aaed
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x104]
call fcn.0040aaed
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xec]
call fcn.0040aaed
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xd4]
call fcn.0040aaed
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xf0]
call fcn.0040aaed
mov byte [ebp - 4], 8
xor eax, eax
mov ecx, esi
mov byte [ebp - 0x9d], al
mov bh, bl
mov byte [ebp - 0xb0], al
call fcn.00430a68
mov byte [ebp - 0xc5], al
mov ecx, esi
xor eax, eax
mov bl, al
mov byte [ebp - 0xcd], al
mov byte [ebp - 0xb2], al
mov byte [ebp - 0xad], al
mov byte [ebp - 0xaf], al
mov byte [ebp - 0xae], al
mov byte [ebp - 0x114], al
mov byte [ebp - 0xbe], al
mov byte [ebp - 0xc6], al
mov byte [ebp - 0xb3], al
mov byte [ebp - 0xbd], al
mov al, byte [0x4c24a0]
mov byte [ebp - 0xd8], bl
mov byte [ebp - 0xbf], al
call fcn.004512f0
test al, al
jne 0x42bd66
mov ecx, esi
call fcn.00454f40
cmp eax, 2
jne 0x42bd66
mov ecx, esi
call fcn.00452350
push eax
lea ecx, [ebp - 0x104]
call fcn.0040a676
lea ecx, [ebp - 0x104]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
push str.file
push dword [ebp - 0x104]
call fcn.0045f9d3
pop ecx
pop ecx
test eax, eax
jne 0x42bd66
push 0x4add08
lea eax, [ebp - 0xbc]
mov ecx, esi
push eax
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.004512f0
test al, al
je 0x42b950
push 0x4add08
push str._s_attribute_is_mandatory_for_file_node
call fcn.0041e1d8
pop ecx
pop ecx
mov dword [ebp - 0x9c], 0xd
jmp 0x42bd70
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040a676
lea ecx, [ebp - 0xc4]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0xc4]
cmp dword [eax - 0xc], 0
jne 0x42b991
push 0x4add08
push str._s_attribute_is_empty
jmp 0x42b93a
push eax
push str.Processing_file_node:__s
call fcn.0041e1d8
pop ecx
pop ecx
push str.flags
lea eax, [ebp - 0xbc]
mov ecx, esi
push eax
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.00451320
test eax, eax
je 0x42bc3b
lea ecx, [ebp - 0xac]
call fcn.00454f60
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x98]
call fcn.0041efe3
mov esi, dword [ebp - 0x98]
push 9
push str.mustexist
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42ba0a
add esi, 0x12
jmp 0x42bb12
push 6
push str.delete
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42ba30
add esi, 0xc
mov byte [ebp - 0x9d], 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
push 3
push 0x4adde4
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42ba56
add esi, 6
mov byte [ebp - 0xb0], 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
push 4
push str.fimm
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42ba7f
add esi, 8
mov byte [ebp - 0xbf], 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
push 4
push str.aimm
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42baae
add esi, 8
xor cl, cl
mov dword [ebp - 0x98], esi
call fcn.00430986
mov byte [ebp - 0xc5], al
jmp 0x42b9dd
push 6
push str.remote
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42bad7
add esi, 0xc
mov byte [ebp - 0xb2], 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
push 4
push str.diff
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42baf4
mov byte [ebp - 0xaf], 1
jmp 0x42bb0f
push 4
push str.cour
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42bb1f
mov byte [ebp - 0xae], 1
add esi, 8
mov dword [ebp - 0x98], esi
mov bh, 1
jmp 0x42b9dd
push 3
push 0x4ade20
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42bb48
add esi, 6
mov byte [ebp - 0xbe], 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
push 9
push str.sha256drv
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42bb71
add esi, 0x12
mov byte [ebp - 0xbd], 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
push 4
push str.icar
push esi
call fcn.0046c919
add esp, 0xc
test eax, eax
jne 0x42bb95
add esi, 8
mov bl, 1
mov dword [ebp - 0x98], esi
jmp 0x42b9dd
mov al, byte [ebp - 0xbf]
lea ecx, [ebp - 0x98]
mov byte [ebp - 0xbf], al
mov al, byte [ebp - 0xbd]
mov byte [ebp - 0xbd], al
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xbe], al
mov al, byte [ebp - 0xae]
mov byte [ebp - 0xae], al
mov al, byte [ebp - 0xaf]
mov byte [ebp - 0xaf], al
mov al, byte [ebp - 0xb2]
mov byte [ebp - 0xb2], al
mov al, byte [ebp - 0xc5]
mov byte [ebp - 0xc5], al
mov al, byte [ebp - 0x9d]
mov byte [ebp - 0xc6], bl
mov byte [ebp - 0x9d], al
call fcn.0041efe3
mov eax, dword [ebp - 0x98]
xor ecx, ecx
cmp word [eax], cx
je 0x42bc1e
push eax
push str.Invalid_flag__s
jmp 0x42b93a
cmp byte [ebp - 0xb0], 0
mov cl, byte [ebp - 0xbd]
mov al, byte [ebp - 0xbf]
mov byte [ebp - 0xd8], bl
jne 0x42bc50
jmp 0x42bc47
mov al, byte [ebp - 0xbf]
mov cl, byte [ebp - 0xbd]
cmp byte [ebp - 0xc5], 0
je 0x42bc59
cmp byte [0x4c253f], 0
je 0x42bc67
test al, al
jne 0x42bc67
xor eax, eax
mov byte [ebp - 0x100], al
jmp 0x42bc6e
mov byte [ebp - 0x100], 1
test cl, cl
je 0x42bc95
cmp byte [0x4c2770], 0
jne 0x42bc95
mov dword [ebp - 0x9c], 0x32
push str.SHA256_driver_signatures_are_not_supported_by_OS_but_it_is_required_for_this_file
call fcn.0041e1d8
pop ecx
jmp 0x42bd70
test bh, bh
je 0x42bccd
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0xb0]
push edi
push eax
mov dl, 1
call fcn.00416e67
mov dword [ebp - 0x9c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42bd70
cmp byte [ebp - 0xb0], al
jne 0x42bccd
push str.Attribure_mustexist_is_specified__but_the_destination_file_is_missing__skipping
jmp 0x42bc8a
xor eax, eax
lea ecx, [ebp - 0xc4]
push edi
push eax
mov dl, 1
call fcn.0041f2ea
mov dword [ebp - 0x9c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42bd70
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0040951e
mov bh, byte [ebp - 0x9d]
test bh, bh
jne 0x42bd32
lea ecx, [ebp - 0xc4]
call fcn.004208a0
test al, al
je 0x42bd32
push dword [ebp - 0xc4]
push str.Destination_file_is_already_scheduled_for_replace__using__s_destination_instead
call fcn.0041e1d8
pop ecx
pop ecx
mov byte [ebp - 0x100], 1
xor eax, eax
cmp byte [ebp - 0xaf], al
setne al
cmp byte [ebp - 0xae], 0
lea ecx, [eax + 1]
cmove ecx, eax
test bl, bl
lea eax, [ecx + 1]
cmove eax, ecx
cmp eax, 1
jbe 0x42be1e
push str.Multiple_special_methods_specified
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], 0x57
mov esi, dword [ebp - 0x9c]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xd4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xec]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x104]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x108]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xb8]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x12c]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
xor eax, eax
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0xc4]
add ecx, 0xfffffff0
call fcn.0040aacb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.0041e740
mov eax, esi
call fcn.00456974
ret
mov esi, dword [ebp - 0xf4]
lea eax, [ebp - 0xbc]
push str.srcurl
push eax
mov ecx, esi
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
test bl, bl
je 0x42be5c
call fcn.00451320
test eax, eax
je 0x42be7d
push str.Attribute_srcurl_cant_be_specified_with_icar_flag
jmp 0x42bd60
call fcn.004512f0
movzx ecx, al
xor eax, eax
cmp byte [ebp - 0xb2], al
sete al
cmp eax, ecx
je 0x42be7d
push str.srcurl_specified_without_remote_flag_or_vice_versa
jmp 0x42bd60
lea ecx, [ebp - 0xac]
call fcn.00451320
test eax, eax
je 0x42bf1d
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040a676
lea ecx, [ebp - 0xd4]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0xd4]
cmp dword [eax - 0xc], 0
jne 0x42bed4
push str.Attribute_srcurl_is_empty
call fcn.0041e1d8
jmp 0x42b940
push ecx
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0xd4]
call fcn.0041b0a3
mov byte [ebp - 4], 9
push str..cab
push dword [ebp - 0xcc]
call fcn.0045f9d3
test eax, eax
pop ecx
pop ecx
sete byte [ebp - 0xad]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c46a
test bl, bl
je 0x42c46a
lea ecx, [ebp - 0x98]
call fcn.0040aaed
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xbc]
push str.dst_sha256
push eax
mov ecx, esi
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.004512f0
test al, al
je 0x42bf7f
mov dword [ebp - 0x9c], 0x57
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42bd70
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x98]
call fcn.0040a676
lea ecx, [ebp - 0x98]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
lea ecx, [ebp - 0x98]
call fcn.0040944e
mov ecx, dword [ebp - 0xc4]
call fcn.0041feac
test al, al
je 0x42c28b
push str.http:__honzik.avcdn.net_diffs_
lea ecx, [ebp - 0xf0]
call fcn.0040a676
lea ecx, [ebp - 0xa4]
call fcn.0040aaed
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x30]
mov ecx, dword [ebp - 0xc4]
push 1
call fcn.0042012d
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42c017
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42bf68
lea eax, [ebp - 0xa4]
push eax
push 0x20
pop edx
lea ecx, [ebp - 0x30]
call fcn.00420559
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42c04b
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42bf68
lea ecx, [ebp - 0xa4]
call fcn.0040944e
push dword [ebp - 0x98]
lea ecx, [ebp - 0xa4]
call fcn.00409ba2
test eax, eax
jne 0x42c082
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42bf68
push 4
push 8
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00416c82
mov edi, eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xfc]
push 4
push 4
push eax
lea ecx, [ebp - 0xa4]
call fcn.00416c82
mov esi, eax
mov byte [ebp - 4], 0x15
xor eax, eax
push 4
push eax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00416c82
mov byte [ebp - 4], 0x16
mov edx, eax
push 0x2f
lea ecx, [ebp - 0x10c]
call fcn.0042310f
mov byte [ebp - 4], 0x17
mov edx, eax
push esi
lea ecx, [ebp - 0xdc]
call fcn.0041b04e
mov byte [ebp - 4], 0x18
mov edx, eax
push 0x2f
lea ecx, [ebp - 0x124]
call fcn.0042310f
mov byte [ebp - 4], 0x19
mov edx, eax
push edi
lea ecx, [ebp - 0x128]
call fcn.0041b04e
mov byte [ebp - 4], 0x1a
mov edx, eax
push 0x2f
lea ecx, [ebp - 0x120]
call fcn.0042310f
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xa4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.0041b04e
mov byte [ebp - 4], 0x1c
mov edx, eax
push 0x2d
lea ecx, [ebp - 0x118]
call fcn.0042310f
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x98]
push ecx
mov edx, eax
lea ecx, [ebp - 0xa8]
call fcn.0041b04e
mov byte [ebp - 4], 0x1e
mov edx, eax
push str..bs43
lea ecx, [ebp - 0xcc]
call fcn.00409379
add esp, 0x24
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xf0]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040be21
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xa8]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x118]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x11c]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x120]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x128]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xdc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x10c]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xfc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c296
push str.Destination_file_doesnt_exist__diff_wont_be_queried_at_all
call fcn.0041e1d8
pop ecx
push str.http:__honzik.avcdn.net_universe_
lea ecx, [ebp - 0xd4]
call fcn.0040a676
push 4
push 8
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x98]
call fcn.00416c82
mov edi, eax
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x11c]
push 4
push 4
push eax
lea ecx, [ebp - 0x98]
call fcn.00416c82
mov esi, eax
mov byte [ebp - 4], 0x2e
xor eax, eax
push 4
push eax
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x98]
call fcn.00416c82
mov byte [ebp - 4], 0x2f
mov edx, eax
push 0x2f
lea ecx, [ebp - 0x128]
call fcn.0042310f
mov byte [ebp - 4], 0x30
mov edx, eax
push esi
lea ecx, [ebp - 0x124]
call fcn.0041b04e
mov byte [ebp - 4], 0x31
mov edx, eax
push 0x2f
lea ecx, [ebp - 0xdc]
call fcn.0042310f
mov byte [ebp - 4], 0x32
mov edx, eax
push edi
lea ecx, [ebp - 0x10c]
call fcn.0041b04e
mov byte [ebp - 4], 0x33
mov edx, eax
push 0x2f
lea ecx, [ebp - 0x110]
call fcn.0042310f
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x98]
push ecx
mov edx, eax
lea ecx, [ebp - 0xfc]
call fcn.0041b04e
mov byte [ebp - 4], 0x35
mov edx, eax
push str..lzma
lea ecx, [ebp - 0xbc]
call fcn.00409379
add esp, 0x1c
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xd4]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040be21
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0xfc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x10c]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0xdc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x128]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x120]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x11c]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x118]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xd4]
cmp dword [eax - 0xc], 0
je 0x42c94e
lea ecx, [ebp - 0xa8]
call fcn.0040aaed
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x98]
call fcn.0040aaed
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0xcc]
call fcn.0040aaed
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xa4]
call fcn.0040aaed
mov byte [ebp - 4], 0x45
lea ecx, [edi + 0x60]
test bl, bl
je 0x42c4d8
mov eax, dword [ebp - 0xf0]
cmp dword [eax - 0xc], 0
jne 0x42c621
push str.Icarus_diff_is_not_available__using_full_lzma
call fcn.0041e1d8
pop ecx
xor eax, eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 0xb3], al
lea eax, [ebp - 0xd4]
push eax
call fcn.0040951e
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x60]
call fcn.00431163
pop ecx
test al, al
jne 0x42c81c
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xcc]
call fcn.0040951e
lea ecx, [ebp - 0xcc]
call fcn.0040944e
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx - 0xc]
lea edx, [eax + eax]
lea eax, [ebp - 0x20]
push eax
call fcn.00420527
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
jne 0x42c7a6
lea eax, [ebp - 0x98]
push eax
push 0x10
pop edx
lea ecx, [ebp - 0x20]
call fcn.00420559
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
jne 0x42c7a6
lea eax, [ebp - 0x98]
push eax
lea edx, [edi + 4]
lea ecx, [ebp - 0xbc]
call fcn.0041b04e
pop ecx
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x98]
push eax
call fcn.0040951e
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
cmp byte [ebp - 0xad], 0
mov ecx, 0x4ac674
mov eax, str..rmt
cmovne eax, ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.0041cdf8
cmp byte [ebp - 0xad], 0
je 0x42c670
mov edx, str..cab
lea ecx, [ebp - 0xfc]
call fcn.0041eeb3
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0xa8]
push eax
call fcn.0040951e
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0xfc]
add ecx, 0xfffffff0
call fcn.0040aacb
cmp dword [ebp - 0xa8], 0
jne 0x42c682
mov dword [ebp - 0x9c], 0x52
jmp 0x42c7a6
mov edx, dword [ebp - 0xd4]
lea eax, [ebp - 0x98]
push eax
call fcn.00431163
pop ecx
test al, al
jne 0x42c7b8
push str.Trying_Icarus_diff_first
call fcn.0041e1d8
pop ecx
lea eax, [ebp - 0xf0]
mov byte [ebp - 0xb3], 1
push eax
lea ecx, [ebp - 0xa4]
call fcn.0040951e
lea ecx, [ebp - 0xf0]
call fcn.0040a366
jmp 0x42c4f2
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040951e
mov edx, dword [ebp - 0xa8]
push ecx
push dword [ebp - 0xd8]
push ecx
mov ecx, dword [ebp - 0xa4]
call fcn.0041ce33
add esp, 0xc
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x42c7a6
push dword [ebp - 0xa8]
lea ecx, [ebp - 0xe0]
call fcn.0040c04f
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x42c786
push dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xa8]
call fcn.00421f7f
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42c762
test bl, bl
jne 0x42c755
cmp byte [ebp - 0xad], bl
jne 0x42c755
push str.dst_sha256
lea eax, [ebp - 0x110]
mov ecx, esi
push eax
call fcn.00451700
mov ecx, eax
call fcn.004512f0
test al, al
je 0x42c7e5
push str.dst_md5
lea eax, [ebp - 0x10c]
mov ecx, esi
push eax
call fcn.00451700
mov ecx, eax
call fcn.004512f0
test al, al
je 0x42c7e5
push dword [ebp - 0xa8]
push str.Update_file:_s_has_no_signature_and_no_hash_is_specified_either
call fcn.0041e1d8
pop ecx
pop ecx
jmp 0x42c786
push dword [ebp - 0xa8]
push str.Update_file:_s_has_broken_signature
jmp 0x42c74c
cmp byte [ebp - 0xad], 0
je 0x42c7e5
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xa8]
call fcn.00416968
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x42c7e5
mov byte [ebp - 4], 0x45
cmp dword [ebp - 0xe0], 0xffffffff
je 0x42c7a6
push dword [ebp - 0xe0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 0xe0], 0xffffffff
cmp byte [ebp - 0xb3], 0
je 0x42c83d
jmp 0x42c4b6
xor eax, eax
lea ecx, [ebp - 0xa4]
mov byte [ebp - 0xb3], al
lea eax, [ebp - 0xd4]
push eax
call fcn.0040951e
push dword [ebp - 0x98]
push dword [ebp - 0xa4]
push str.Full_lzma__s_is_already_downloaded_as__s__skipping_download
jmp 0x42c82d
mov byte [ebp - 4], 0x45
cmp dword [ebp - 0xe0], 0xffffffff
je 0x42c805
push dword [ebp - 0xe0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 0xe0], 0xffffffff
push dword [ebp - 0x98]
mov edx, dword [ebp - 0xa4]
lea ecx, [edi + 0x60]
call fcn.004310af
pop ecx
jmp 0x42c83d
push dword [ebp - 0x98]
push dword [ebp - 0xa4]
push str._s_is_already_downloaded_as__s__skipping_download
xor eax, eax
mov dword [ebp - 0x9c], eax
call fcn.0041e1d8
add esp, 0xc
cmp byte [ebp - 0xad], 0
je 0x42c895
mov eax, dword [ebp - 0xa8]
cmp dword [eax - 0xc], 0
je 0x42c88d
push 9
pop edi
push dword [ebp - 0xa8]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
jne 0x42c887
cmp eax, 0x20
je 0x42c877
cmp eax, 5
jne 0x42c887
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub edi, 1
jns 0x42c855
mov edi, dword [ebp - 0xf8]
lea eax, [ebp - 0x98]
jmp 0x42c8aa
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040951e
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x108]
call fcn.0040951e
cmp dword [ebp - 0x9c], 0
je 0x42c904
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa8]
jmp 0x42bf72
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa8]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c95d
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x108]
call fcn.0040951e
mov esi, dword [ebp - 0xf4]
lea eax, [ebp - 0xbc]
push 0x4ae538
push eax
mov ecx, esi
call fcn.00451700
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
test bl, bl
je 0x42c99b
lea ecx, [ebp - 0xac]
call fcn.00451320
test eax, eax
je 0x42c9f4
push str.Attribute_src_cant_be_specified_with_icar_flag
jmp 0x42bd60
cmp byte [ebp - 0xb2], 0
je 0x42c9c6
cmp byte [ebp - 0xad], 0
jne 0x42c9c6
lea ecx, [ebp - 0xac]
call fcn.00451320
test eax, eax
je 0x42c9f4
push str.Attribute_src_cant_be_specified_with_non_cab_remote_file
jmp 0x42bd60
lea ecx, [ebp - 0xac]
call fcn.004512f0
movzx ecx, al
xor eax, eax
test bh, bh
sete al
cmp eax, ecx
jne 0x42c9f4
test bh, bh
mov eax, str.Attribute_src_is_missing
mov ecx, str.Flag_delete_specified__but_there_is_also_src_attribute
cmovne eax, ecx
push eax
jmp 0x42bd60
lea ecx, [ebp - 0xac]
call fcn.00451320
test eax, eax
je 0x42caf5
mov eax, dword [edi + 4]
cmp dword [eax - 0xc], 0
je 0x42b941
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040a676
lea ecx, [ebp - 0xb8]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0xb8]
cmp dword [eax - 0xc], 0
je 0x42b941
xor eax, eax
lea ecx, [ebp - 0xb8]
push edi
push eax
mov dl, 1
call fcn.0041f2ea
mov dword [ebp - 0x9c], eax
pop ecx
pop ecx
test eax, eax
jne 0x42bd70
lea ecx, [ebp - 0xb8]
call fcn.0041fc81
test al, al
jne 0x42caba
lea eax, [ebp - 0xb8]
push eax
lea edx, [ebp - 0x108]
lea ecx, [ebp - 0xbc]
call fcn.0041b04e
pop ecx
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0xb8]
push eax
call fcn.0040951e
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42cac1
mov byte [ebp - 0x114], 1
push 0x4ae6bc
push dword [ebp - 0xb8]
call fcn.0046e128
pop ecx
pop ecx
mov ecx, dword [ebp - 0xb8]
test eax, eax
je 0x42cbec
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
je 0x42cbec
mov byte [ebp - 0xcd], 1
push 0x5c
pop eax
push eax
push dword [ebp - 0xc4]
call fcn.00456ff3
pop ecx
pop ecx
push 0x57
pop ebx
test eax, eax
je 0x42cc29
sub eax, dword [ebp - 0xc4]
sar eax, 1
cmp eax, 0xffffffff
je 0x42cc29
inc eax
lea ecx, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040bd08
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xec]
push eax
call fcn.0040951e
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov ecx, dword [ebp - 0xec]
call fcn.0041feac
test al, al
jne 0x42cc29
mov edx, dword [ebp - 0xec]
lea ecx, [edi + 0x58]
call fcn.00431037
test al, al
jne 0x42cc29
lea ecx, [ebp - 0xe8]
call fcn.0043358d
mov byte [ebp - 4], bl
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0xe0]
mov byte [ebp - 0xd9], 1
mov byte [ebp - 0xdb], 1
call fcn.0040951e
lea eax, [ebp - 0xe8]
lea ecx, [edi + 0x18]
push eax
push dword [ecx]
call fcn.00432a70
mov edx, dword [ebp - 0xec]
lea ecx, [edi + 0x58]
call fcn.00430fda
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x42cc1a
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xe8]
call fcn.004335cf
jmp 0x42bd70
call fcn.0041feac
test al, al
jne 0x42caf5
push dword [ebp - 0xb8]
push str.Source_file__s_do_not_exists
call fcn.0041e1d8
pop ecx
pop ecx
mov dword [ebp - 0x9c], 0x54f
jmp 0x42bd70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xe8]
call fcn.004335cf
cmp byte [ebp - 0xaf], 0
jne 0x42cd97
cmp byte [ebp - 0xae], 0
jne 0x42cd97
cmp byte [ebp - 0xc6], 0
jne 0x42cd97
cmp byte [ebp - 0xcd], 0
je 0x42ccaf
mov eax, dword [ebp - 0xc4]
lea ecx, [ebp - 0xc4]
mov eax, dword [eax - 0xc]
dec eax
push eax
call fcn.004095d2
push 0x5c
pop ecx
cmp ax, cx
je 0x42cc83
push ecx
lea ecx, [ebp - 0xc4]
call fcn.004094f4
push dword [ebp - 0x114]
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb8]
push edi
push dword [ebp - 0x100]
call fcn.00430b37
add esp, 0xc
mov dword [ebp - 0x9c], eax
jmp 0x42bd70
mov bl, byte [ebp - 0x9d]
test bl, bl
je 0x42d262
lea ecx, [ebp - 0xe8]
call fcn.0043358d
mov byte [ebp - 4], 0x81
test bl, bl
jne 0x42cd25
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.0040951e
push dword [ebp - 0x114]
mov ecx, dword [ebp - 0xb8]
mov edx, edi
call fcn.004311e1
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
jne 0x42cbd8
cmp byte [ebp - 0xbe], al
je 0x42cd25
mov ecx, dword [ebp - 0xb8]
call fcn.00421bb1
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x42cbd8
mov al, byte [ebp - 0x100]
lea ecx, [ebp - 0xe0]
mov byte [ebp - 0xd9], al
lea eax, [ebp - 0xc4]
push eax
mov byte [ebp - 0xda], bl
call fcn.0040951e
lea eax, [edi + 8]
push eax
lea edx, [ebp - 0xc4]
lea ecx, [ebp - 0xbc]
call fcn.0041b04e
pop ecx
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0xe4]
push eax
call fcn.0040951e
mov byte [ebp - 4], 0x81
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
lea eax, [ebp - 0xe8]
lea ecx, [edi + 0x18]
push eax
push dword [ecx]
call fcn.00432a70
jmp 0x42cbd8
lea ecx, [ebp - 0xa8]
call fcn.0040aaed
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x98]
call fcn.0040aaed
mov byte [ebp - 4], 0x59
cmp byte [ebp - 0xcd], 0
mov cl, byte [ebp - 0x9d]
jne 0x42d43a
test cl, cl
jne 0x42d43a
push 0x5c
pop eax
push eax
push dword [ebp - 0xb8]
call fcn.00456ff3
pop ecx
pop ecx
test eax, eax
je 0x42ce2a
sub eax, dword [ebp - 0xb8]
sar eax, 1
cmp eax, 0xffffffff
je 0x42ce2a
inc eax
lea ecx, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040bd08
push 0x5c
pop ecx
mov byte [ebp - 4], cl
lea ecx, [ebp - 0xa8]
push eax
call fcn.0040951e
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0xbc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
cmp byte [ebp - 0xc6], 0
lea eax, [ebp - 0xbc]
mov ecx, esi
je 0x42cee6
push str.dst_sha256
push eax
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.004512f0
test al, al
je 0x42ce89
push str.Attribute_dst_sha256_must_be_specified_with_icar_flag
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x98]
call fcn.0040a676
lea ecx, [ebp - 0x98]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0x98]
cmp dword [eax - 0xc], 0
jne 0x42cf3d
push str.Attribute_dst_sha256_is_empty
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
push str.dst_md5
push eax
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.00451320
test eax, eax
je 0x42cf31
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0x98]
call fcn.0040a676
lea ecx, [ebp - 0x98]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov eax, dword [ebp - 0x98]
cmp dword [eax - 0xc], 0
je 0x42cf51
push dword [eax - 0xc]
lea ecx, [ebp - 0xa8]
push eax
call fcn.0040be21
jmp 0x42d016
lea ecx, [ebp - 0xcc]
call fcn.0040aaed
mov byte [ebp - 4], 0x62
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx - 0xc]
lea edx, [eax + eax]
lea eax, [ebp - 0x20]
push eax
call fcn.00420527
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42cfa9
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
lea eax, [ebp - 0xcc]
push eax
push 0x10
pop edx
lea ecx, [ebp - 0x20]
call fcn.00420559
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42cfef
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0xa8]
push dword [eax - 0xc]
push eax
call fcn.0040be21
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xf8], eax
call fcn.0040aaed
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp - 0xbc]
test eax, eax
jne 0x42d051
mov dword [ebp - 0xf8], ebx
mov byte [ebp - 0xb0], al
jmp 0x42d090
push eax
lea ecx, [ebp - 0xd8]
call fcn.0040a676
lea ecx, [ebp - 0xd8]
call fcn.0040944e
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [edi + 0x50]
call fcn.0043267a
mov esi, dword [ebp - 0xf4]
mov eax, dword [eax]
cmp eax, dword [edi + 0x50]
setne byte [ebp - 0xb0]
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0xd8]
add ecx, 0xfffffff0
call fcn.0040aacb
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x42d0c9
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
cmp byte [ebp - 0xb0], 0
jne 0x42d226
push ecx
lea ecx, [ebp - 0x34]
call fcn.004362ad
mov byte [ebp - 4], 0x6e
cmp byte [ebp - 0xae], 0
je 0x42d124
push str.courgette_is_not_available_in_this_edition
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], 0x32
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x34]
call fcn.004362cf
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
cmp byte [ebp - 0xaf], 0
je 0x42d17a
mov edx, dword [ebp - 0xa8]
xor eax, eax
mov ecx, dword [ebp - 0xc4]
push eax
push dword [ebp - 0xb8]
call fcn.00410283
pop ecx
pop ecx
test eax, eax
je 0x42d17a
mov dword [ebp - 0x9c], 0x7c
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x34]
call fcn.004362cf
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
cmp byte [ebp - 0xc6], 0
je 0x42d21a
cmp byte [ebp - 0xb3], 0
je 0x42d1da
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
je 0x42d1ed
xor eax, eax
cmp word [ecx], ax
je 0x42d1ed
mov edx, dword [ebp - 0xa8]
test edx, edx
je 0x42d1ed
cmp word [edx], ax
je 0x42d1ed
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x42d1ed
xor esi, esi
cmp word [eax], si
mov esi, dword [ebp - 0xf4]
je 0x42d1ed
push 0x58
push eax
call fcn.00410283
neg eax
pop ecx
sbb ebx, ebx
pop ecx
and ebx, 0x7c
jmp 0x42d1ed
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa8]
call fcn.00422e6d
mov ebx, eax
mov dword [ebp - 0x9c], ebx
test ebx, ebx
je 0x42d21a
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x34]
call fcn.004362cf
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x34]
call fcn.004362cf
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040951e
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa8]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
mov bl, byte [ebp - 0x9d]
push str.dst_sha256
lea eax, [ebp - 0xbc]
mov ecx, esi
push eax
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.00451320
test eax, eax
je 0x42d33b
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0xa4]
call fcn.0040956c
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0xa4]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov ecx, dword [ebp - 0xa4]
lea edx, [ebp - 0x94]
push 0x20
call fcn.004205d8
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42d2ea
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa4]
jmp 0x42bf72
mov ecx, dword [ebp - 0xb8]
lea edx, [ebp - 0x74]
xor eax, eax
push eax
call fcn.0042012d
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42d308
jmp 0x42d2db
xor eax, eax
lea edx, [ebp - 0x74]
mov ecx, eax
mov eax, dword [edx + ecx*4]
lea edx, [ebp - 0x94]
cmp eax, dword [edx + ecx*4]
lea edx, [ebp - 0x74]
jne 0x42d3b6
inc ecx
cmp ecx, 8
jne 0x42d30f
mov byte [ebp - 4], cl
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
push str.dst_md5
lea eax, [ebp - 0xbc]
mov ecx, esi
push eax
call fcn.00451700
lea ecx, [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
call fcn.00451320
test eax, eax
je 0x42ccbd
lea ecx, [ebp - 0xac]
call fcn.00454f60
push eax
lea ecx, [ebp - 0xa4]
call fcn.0040956c
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0xa4]
call fcn.0041b0f9
mov ecx, eax
call fcn.004093ea
mov ecx, dword [ebp - 0xa4]
lea edx, [ebp - 0x54]
push 0x10
call fcn.004205d8
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42d3d0
jmp 0x42d2db
push str.Expected_sha256_doesnt_match
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], 9
jmp 0x42d2db
mov ecx, dword [ebp - 0xb8]
lea edx, [ebp - 0x44]
xor eax, eax
push eax
call fcn.0042032c
mov dword [ebp - 0x9c], eax
pop ecx
test eax, eax
je 0x42d3f1
jmp 0x42d2db
xor eax, eax
lea edx, [ebp - 0x44]
lea esi, [ebp - 0x54]
mov ecx, eax
mov eax, dword [edx + ecx*4]
cmp eax, dword [esi + ecx*4]
jne 0x42d420
inc ecx
cmp ecx, 4
jne 0x42d3fb
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42ccbd
push str.Expected_md5_doesnt_match
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], 9
jmp 0x42d2db
test cl, cl
mov edx, str.Flag_delete_cant_be_specified
mov eax, str.Wild_operation_cant_be_specified
cmovne eax, edx
push eax
call fcn.0041e1d8
pop ecx
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx - 0x10]
call fcn.0040aacb
jmp 0x42c8f5