Function at 0x42ace0
Capabilities:
Connect network resource
Delete file
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2e0
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x520014]
xor ecx, ebp
mov dword [esp + 0x2d8], ecx
xor ecx, ecx
dec ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
cmp byte [eax + 0xb], 0
js 0x42ad29
mov ecx, dword [eax + 8]
mov dword [esp + 0x60], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x58], xmm0
jmp 0x42ad37
lea ecx, [esp + 0x58]
push dword [eax + 4]
push dword [eax]
call fcn.0046cbe0
movzx ecx, byte [esp + 0x63]
mov eax, ecx
test cl, cl
jns 0x42ad46
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x42b3f4
test cl, cl
jns 0x42ad58
mov edx, dword [esp + 0x58]
jmp 0x42ad5c
lea edx, [esp + 0x58]
lea edi, [esp + 0xa0]
mov ecx, edi
push eax
push edx
call fcn.00440530
push edi
call fcn.00443be0
add esp, 4
mov ebx, eax
mov ecx, edi
call fcn.0046d580
test bl, bl
jne 0x42b146
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0x42ad9c
cmp eax, 0x52e
jne 0x42b7dc
xor ebx, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.004449d0
add esp, 4
mov dword [esp + 4], eax
push eax
push ebx
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x42adef
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp esi, 0xffffffff
je 0x42bebe
call fcn.0046e410
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ebx, esi
lea eax, [ebx + 1]
mov dword [esp + 8], eax
cmp eax, 1
mov dword [esp], ebx
jbe 0x42b2a1
xor eax, eax
lea ecx, [esp + 0x90]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
pxor xmm0, xmm0
lea esi, [esp + 0x2b0]
movdqu xmmword [esi + 0xc], xmm0
movdqa xmmword [esi], xmm0
push 0x1c
push esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp eax, 0x1c
jne 0x42afb0
mov eax, dword [esp + 0x2bc]
cmp eax, 0xffffffff
je 0x42afb0
cmp dword [esp + 0x2c8], 0x40000
jne 0x42afa4
push 0x20a
push 0
push edi
call fcn.0048d770
add esp, 0xc
push 0x104
push edi
push dword [esp + 0x2b8]
push ebx
call sub.KERNEL32.dll_K32GetMappedFileNameW
dec eax
cmp eax, 0x103
ja 0x42af9d
push edi
call fcn.004a3276
add esp, 4
push 1
push 4
push str..msi
push eax
push edi
call fcn.00444d00
add esp, 0x14
test al, al
je 0x42af9d
push edi
call fcn.004a3276
add esp, 4
cmp eax, 0x7ffffff0
jae 0x42bf79
mov ebx, eax
cmp eax, 5
jae 0x42aede
mov byte [esp + 0x8b], bl
lea esi, [esp + 0x80]
test ebx, ebx
jne 0x42af14
jmp 0x42af23
lea edi, [ebx + 8]
and edi, 0xfffffff8
lea eax, [edi + edi]
push eax
call fcn.00489952
add esp, 4
mov esi, eax
mov dword [esp + 0x80], eax
or edi, 0x80000000
mov dword [esp + 0x88], edi
lea edi, [esp + 0xa0]
mov dword [esp + 0x84], ebx
mov eax, ebx
add eax, ebx
push eax
push edi
push esi
call fcn.0048cc70
add esp, 0xc
mov word [esi + ebx*2], 0
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x98]
jae 0x42af66
mov ecx, dword [esp + 0x88]
mov dword [eax + 8], ecx
movq xmm0, qword [esp + 0x80]
movq qword [eax], xmm0
add eax, 0xc
mov dword [esp + 0x94], eax
mov ebx, dword [esp]
lea esi, [esp + 0x2b0]
jmp 0x42af9d
lea ecx, [esp + 0x90]
lea eax, [esp + 0x80]
push eax
call fcn.0042c5e0
cmp byte [esp + 0x8b], 0
mov ebx, dword [esp]
lea esi, [esp + 0x2b0]
jns 0x42af9d
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
mov eax, dword [esp + 0x2bc]
add eax, dword [esp + 0x2b0]
jmp 0x42ae27
mov eax, dword [esp + 0x94]
sub eax, dword [esp + 0x90]
cmp eax, 0xc
jne 0x42b5fc
lea esi, [esp + 0x80]
xor eax, eax
dec eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ecx, esi
call fcn.004404a0
mov eax, dword [esp + 0x94]
movzx edx, byte [eax - 1]
test dl, dl
jns 0x42aff7
mov edx, dword [eax - 8]
mov eax, dword [eax - 0xc]
jmp 0x42affa
add eax, 0xfffffff4
mov ecx, edi
push edx
push eax
call fcn.00440530
push esi
push edi
call fcn.004cf0e0
add esp, 8
mov esi, eax
mov ecx, edi
call fcn.0046d580
mov eax, esi
mov dword [esp + 4], esi
test al, al
je 0x42b6ea
cmp byte [esp + 0x73], 0
js 0x42b987
cmp byte [esp + 0x8b], 0
js 0x42b055
mov eax, dword [esp + 0x88]
mov dword [esp + 0x70], eax
movq xmm0, qword [esp + 0x80]
movq qword [esp + 0x68], xmm0
jmp 0x42b06c
lea ecx, [esp + 0x68]
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.0043f7a0
lea ecx, [esp + 0x80]
call fcn.0046d580
mov esi, dword [esp + 0x90]
test esi, esi
je 0x42b0c6
mov eax, dword [esp + 0x94]
cmp eax, esi
je 0x42b325
lea ebx, [eax - 0xc]
cmp byte [eax - 1], 0
jns 0x42b0a6
push dword [eax - 0xc]
call fcn.00489982
add esp, 4
mov eax, ebx
cmp esi, ebx
jne 0x42b092
mov eax, dword [esp + 0x90]
mov ebx, dword [esp]
mov dword [esp + 0x94], esi
push eax
call fcn.00489982
add esp, 4
cmp dword [esp + 8], 2
jb 0x42b0db
call fcn.0046e410
push ebx
call fcn.00470b40
add esp, 4
cmp byte [esp + 4], 0
je 0x42b26f
movzx eax, byte [esp + 0x73]
test al, al
jns 0x42b0f9
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
jmp 0x42b0fd
lea edx, [esp + 0x68]
mov ecx, edi
push eax
push edx
call fcn.00440530
push edi
call fcn.00443be0
add esp, 4
mov ebx, eax
mov ecx, edi
call fcn.0046d580
test bl, bl
je 0x42b26f
cmp byte [esp + 0x63], 0
js 0x42b91f
cmp byte [esp + 0x73], 0
js 0x42b1a7
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
movq xmm0, qword [esp + 0x68]
movq qword [esp + 0x58], xmm0
mov eax, dword [ebp + 0x10]
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x2b0], xmm0
movzx ecx, byte [eax + 0xb]
mov edx, ecx
test cl, cl
jns 0x42b163
mov edx, dword [eax + 4]
test edx, edx
jne 0x42b1d6
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x149
push str.GetPartnerPackageOverrideGUIDMarker
push 0
call fcn.004b83c0
lea edi, [esp + 0xdc]
mov ecx, edi
push 0x505819
push str.partner_package_guid
call fcn.004b45d0
mov ecx, edi
push 0x505e2f
push 0x505df8
jmp 0x42b21a
lea ecx, [esp + 0x58]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.0043f7a0
mov bl, 1
cmp byte [esp + 0x73], 0
jns 0x42b1cd
push dword [esp + 0x68]
call fcn.00489982
add esp, 4
test bl, bl
je 0x42b226
jmp 0x42b146
test cl, cl
jns 0x42b1dc
mov eax, dword [eax]
lea ecx, [esp + 0x2b0]
push ecx
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
jns 0x42b25b
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x150
push str.GetPartnerPackageOverrideGUIDMarker
push 0
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505ff8
push str.Failed_to_decode_guid_string:_assuming_no_override_for_brand_package.
call fcn.004b45d0
mov ecx, esi
call fcn.004374c0
mov eax, dword [ebp + 8]
mov dword [eax], 0
cmp byte [esp + 0x63], 0
jns 0x42b242
push dword [esp + 0x58]
call fcn.00489982
add esp, 4
mov ecx, dword [esp + 0x2d8]
xor ecx, ebp
call fcn.0048a678
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esp + 0x63], 0
jns 0x42b32c
mov eax, dword [esp + 0x58]
jmp 0x42b330
xor eax, eax
dec eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
movzx eax, byte [esp + 0x63]
test al, al
jns 0x42b426
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
jmp 0x42b42a
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [esp + 0x2b0]
push eax
push ebx
call fcn.004b86f0
add esp, 8
lea esi, [esp + 0xa0]
mov ecx, esi
push ebx
push 0xe9
push str.FindMsiDatabaseLocalCopy
push 1
call fcn.004b84f0
lea ecx, [esp + 0xdc]
push 0x505eac
push str.Failed_to_open_parent_process_id
call fcn.004b45d0
lea ecx, [esp + 0xa8]
push dword [esp + 4]
call fcn.004b44e0
mov ecx, esi
call fcn.004b8530
cmp byte [ebx + 0xb], 0
jns 0x42b315
push dword [esp + 0x2b0]
call fcn.00489982
add esp, 4
mov dword [esp + 4], 0
mov ebx, dword [esp]
jmp 0x42b0c6
mov eax, esi
jmp 0x42b0b6
lea eax, [esp + 0x58]
sub esp, 0x1c
movdqa xmm0, xmmword [0x5057e0]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x42b3a3
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3b7
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505ab5
push str.Failed_to_open_msi_file_for_reading
call fcn.004b45d0
mov ecx, esi
call fcn.004374c0
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp 0x42ba29
lea eax, [esp + 0x50]
xor ecx, ecx
dec ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
xor edi, edi
push 2
push eax
push edi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x42b76b
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3bf
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505b00
push str.Failed_to_get_source_file_size_for_extracted_package_validation.
jmp 0x42ba10
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x12a
push 0x505de0
push 0
call fcn.004b83c0
lea edi, [esp + 0xdc]
mov ecx, edi
push 0x505804
push str.msi_database
jmp 0x42b194
lea edx, [esp + 0x58]
lea esi, [esp + 0x2b0]
mov ecx, esi
push eax
push edx
call fcn.00440530
mov ecx, esi
push edi
call fcn.0046d5a0
cmp byte [esp + 0xab], 0
jns 0x42b468
lea ecx, [esp + 0x90]
push dword [esp + 0xa4]
push dword [esp + 0xa4]
call fcn.0046cbe0
jmp 0x42b488
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x98], eax
movq xmm0, qword [esp + 0xa0]
movq qword [esp + 0x90], xmm0
lea ecx, [esp + 0xa0]
call fcn.0046d580
lea esi, [esp + 0x2b0]
mov ecx, esi
call fcn.0046d580
pxor xmm0, xmm0
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
cmp byte [esp + 0x9b], 0
jns 0x42b4c2
mov eax, dword [esp + 0x90]
jmp 0x42b4c9
lea eax, [esp + 0x90]
mov dword [esp + 0x2c4], eax
mov eax, 0x505f0e
push 8
push eax
push eax
push esi
call sub.MPR.dll_WNetAddConnection2W
test eax, eax
sete bl
jne 0x42b538
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x122
push str.ConnectInteractiveToFileIfLogonFailure
push 0
call fcn.004b83c0
lea edi, [esp + 0xa8]
lea ecx, [esp + 0xdc]
push 0x505f8e
push str.Successfully_connected_to
call fcn.004b45d0
lea eax, [esp + 0x90]
mov ecx, edi
push eax
call fcn.004b4550
mov ecx, esi
call fcn.004374c0
jmp 0x42b5da
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [esp + 0x80]
push eax
push edi
call fcn.004b86f0
add esp, 8
lea ecx, [esp + 0xa0]
push edi
push 0x11f
push str.ConnectInteractiveToFileIfLogonFailure
push 1
call fcn.004b84f0
lea edi, [esp + 0xa8]
lea ecx, [esp + 0xdc]
push 0x505f5c
push str.Failed_WNetAddConnection2_with_error
call fcn.004b45d0
mov ecx, edi
push esi
call fcn.004b44e0
mov esi, eax
lea ecx, [eax + 0x34]
push 0x505f73
push str._during_connection_to
call fcn.004b45d0
lea eax, [esp + 0x90]
mov ecx, esi
push eax
call fcn.004b4550
lea ecx, [esp + 0xa0]
call fcn.004b8530
lea eax, [esp + 0x80]
cmp byte [eax + 0xb], 0
jns 0x42b5da
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
cmp byte [esp + 0x9b], 0
jns 0x42b1ba
push dword [esp + 0x90]
call fcn.00489982
add esp, 4
jmp 0x42b1ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [esp + 0x80]
push eax
push ebx
call fcn.004b86f0
add esp, 8
lea esi, [esp + 0xa0]
mov ecx, esi
push ebx
push 0x10b
push str.FindMsiDatabaseLocalCopy
push 1
call fcn.004b84f0
lea ecx, [esp + 0xdc]
push 0x505f0c
push str.Unexpected_count_of_local_mapped_msi_
call fcn.004b45d0
mov eax, dword [esp + 0x94]
sub eax, dword [esp + 0x90]
sar eax, 2
imul eax, eax, 0xaaaaaaab
lea ecx, [esp + 0xa8]
push eax
call fcn.004b4b80
mov ecx, esi
call fcn.004b8530
cmp byte [ebx + 0xb], 0
jns 0x42b684
push dword [esp + 0x80]
call fcn.00489982
add esp, 4
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
cmp esi, eax
mov ebx, dword [esp]
je 0x42b83f
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xa0]
push 0x10d
push str.FindMsiDatabaseLocalCopy
push 0
call fcn.004b83c0
lea ecx, [esp + 0xa8]
push esi
call fcn.004b4550
lea ecx, [esp + 0xa0]
call fcn.004374c0
mov eax, dword [esp + 0xc]
add esi, 0xc
mov dword [esp + 4], 0
cmp eax, esi
jne 0x42b6a1
jmp 0x42b078
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esp + 0x74]
push eax
push esi
call fcn.004b86f0
add esp, 8
lea ecx, [esp + 0xa0]
push esi
push 0x104
push str.FindMsiDatabaseLocalCopy
push 1
call fcn.004b84f0
lea ecx, [esp + 0xdc]
push 0x505ee4
push str.DevicePathToDriveLetterPath_failed_for_path
call fcn.004b45d0
mov eax, dword [esp + 0x94]
add eax, 0xfffffff4
lea ecx, [esp + 0xa8]
push eax
call fcn.004b4550
lea ecx, [esp + 0xa0]
call fcn.004b8530
cmp byte [esi + 0xb], 0
jns 0x42b06c
push dword [esp + 0x74]
call fcn.00489982
add esp, 4
jmp 0x42b06c
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x48], 0xfffffff0
sub esp, 0x14
movq xmm0, qword [esp + 0x5c]
movq qword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x42b84c
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3c6
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505b2e
push str.Failed_to_move_file_pointer_for_guid_reading.
jmp 0x42ba10
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [esp + 0x2b0]
push eax
push edi
call fcn.004b86f0
add esp, 8
lea esi, [esp + 0xa0]
mov ecx, esi
push edi
push 0x138
push 0x505de0
push 1
call fcn.004b84f0
lea edi, [esp + 0xa8]
lea ecx, [esp + 0xdc]
push 0x505e39
push str.MSI_file
call fcn.004b45d0
cmp byte [esp + 0x63], 0
jns 0x42b940
mov eax, dword [esp + 0x58]
jmp 0x42b944
mov dword [esp + 4], 0
jmp 0x42b07f
pcmpeqd xmm0, xmm0
lea eax, [esp + 0x90]
movdqa xmmword [eax], xmm0
xor edi, edi
mov dword [esp + 0xa0], edi
push edi
lea ecx, [esp + 0xa4]
push ecx
push 0x10
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42b9b8
cmp dword [esp + 0xa0], 0
je 0x42b9b8
movdqa xmm0, xmmword [esp + 0x2b0]
pcmpeqb xmm0, xmmword [esp + 0x90]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x42b9e4
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffe8
sub esp, 0x14
movq xmm0, qword [esp + 0x54]
movq qword [esp + 4], xmm0
mov dword [esp], ebx
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x42ba35
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3d9
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505bc2
push str.Failed_to_move_file_pointer_for_target_position_reading.
jmp 0x42ba10
lea edx, [esp + 0x68]
movzx eax, byte [edx + 0xb]
test al, al
cmovs eax, dword [edx + 4]
cmovs edx, dword [edx]
lea ecx, [esp + 0x58]
push eax
push edx
call fcn.0043f730
jmp 0x42b1b8
lea eax, [esp + 0x58]
mov ecx, edi
push eax
call fcn.004b4b00
lea ecx, [eax + 0x34]
push 0x505e71
push str.does_not_exist:_assuming_no_override_for_brand_package.
call fcn.004b45d0
mov ecx, esi
call fcn.004b8530
cmp byte [esp + 0x2bb], 0
jns 0x42b226
push dword [esp + 0x2b0]
call fcn.00489982
add esp, 4
jmp 0x42b226
movzx eax, byte [esp + 0x8b]
test al, al
cmovs eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
cmovs edx, dword [esp + 0x80]
lea ecx, [esp + 0x68]
push eax
push edx
call fcn.0043f730
jmp 0x42b06c
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3ce
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505b51
push str.Failed_to_read_tailing_guid_marker
jmp 0x42ba10
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3d3
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505b89
push str.Tail_GUID_from_msi_does_not_match_specified_guid_marker
call fcn.004b45d0
mov ecx, esi
call fcn.004374c0
mov eax, dword [ebp + 8]
mov dword [eax], edi
test ebx, ebx
je 0x42b22f
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42b22f
lea eax, [esp + 0x38]
xor ecx, ecx
dec ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
xor edi, edi
mov dword [esp + 0xa0], edi
push edi
lea ecx, [esp + 0xa4]
push ecx
push 8
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42bad0
cmp dword [esp + 0xa0], 0
je 0x42bad0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
sub esp, 0x14
movq xmm0, qword [esp + 0x44]
movq qword [esp + 4], xmm0
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edi
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x42bae3
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3e7
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505c01
push str.Failed_to_move_file_pointer_to_target_pos_for_package_reading.
jmp 0x42ba10
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3e1
jmp 0x42b9c6
pcmpeqd xmm0, xmm0
lea eax, [esp + 0x80]
movdqa xmmword [eax], xmm0
mov dword [esp + 0xa0], edi
push edi
lea ecx, [esp + 0xa4]
push ecx
push 0x10
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42be5e
cmp dword [esp + 0xa0], 0
je 0x42be5e
movdqa xmm0, xmmword [esp + 0x2b0]
pcmpeqb xmm0, xmmword [esp + 0x80]
pmovmskb eax, xmm0
xor edi, edi
cmp eax, 0xffff
jne 0x42be8f
lea eax, [esp + 0x2c]
mov dword [eax], edi
mov dword [esp + 0xa0], edi
push edi
lea ecx, [esp + 0xa4]
push ecx
push 4
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42bec5
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x42bec5
cmp eax, 4
jne 0x42bec5
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42bec5
xor edi, edi
lea esi, [esp + 0x74]
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov byte [esp + 0xa0], 0
mov ecx, esi
lea edx, [esp + 0xa0]
push edx
push eax
call fcn.004b4f70
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi]
mov dword [esp + 0xa0], edi
push edi
lea edx, [esp + 0xa4]
push edx
mov esi, ecx
push ecx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42bbe3
mov eax, dword [esp + 0xa0]
xor edi, edi
cmp esi, eax
jne 0x42bef4
lea eax, [esp + 0x28]
mov dword [eax], edi
mov dword [esp + 0xa0], edi
push edi
lea ecx, [esp + 0xa4]
push ecx
push 4
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42bf20
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x42bf20
cmp eax, 4
jne 0x42bf20
mov eax, dword [esp + 0x28]
test eax, eax
je 0x42bf20
xor edi, edi
lea esi, [esp + 0x68]
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov byte [esp + 0xa0], 0
mov ecx, esi
lea edx, [esp + 0xa0]
push edx
push eax
call fcn.004b4f70
mov ecx, dword [esp + 0x28]
mov eax, dword [esi]
mov dword [esp + 0xa0], edi
push edi
lea edx, [esp + 0xa4]
push edx
mov esi, ecx
push ecx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42bc8b
mov eax, dword [esp + 0xa0]
cmp esi, eax
jne 0x42c04d
mov esi, dword [ebp + 0x14]
lea ecx, [esp + 0xa0]
call fcn.004d65a0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov edx, dword [esp + 0x78]
sub edx, eax
mov eax, dword [esi]
mov dword [esp + 4], eax
mov esi, dword [esi + 4]
sub esi, eax
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
sub edi, eax
lea ecx, [esp + 0xa0]
push edx
push dword [esp + 4]
push esi
push dword [esp + 0x10]
push edi
push eax
call fcn.004d67a0
mov byte [esp], al
lea ecx, [esp + 0xa0]
call fcn.004d65c0
cmp byte [esp], 0
je 0x42c08f
lea esi, [esp + 0x1c]
xor eax, eax
dec eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
lea edi, [esp + 0xa0]
push edi
call fcn.00429020
add esp, 4
push edi
push esi
call fcn.00429330
add esp, 8
cmp byte [esp + 0xab], 0
jns 0x42bd37
push dword [esp + 0xa0]
call fcn.00489982
add esp, 4
movzx eax, byte [esp + 0x27]
test al, al
jns 0x42bd48
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0xa0]
mov ecx, edi
push eax
push esi
call fcn.00440530
push 0x1c
call fcn.00489952
add esp, 4
mov esi, eax
mov ecx, eax
push 0x261
push edi
call fcn.00440290
mov ecx, edi
call fcn.0046d580
mov dword [esp], esi
mov ecx, esi
call fcn.00444300
test al, al
je 0x42c0fb
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x78]
mov ecx, dword [esp]
call fcn.00424d70
mov esi, eax
xor eax, eax
mov dword [esp + 0xa0], eax
push 2
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x42bfc4
mov ecx, eax
sub edi, dword [esp + 4]
xor eax, eax
push eax
push edi
push eax
mov dword [esp + 0x14], ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_LockFile]
xor eax, eax
push eax
lea eax, [esp + 0xa4]
push eax
push edi
push dword [esp + 0x10]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [esp + 4], eax
xor eax, eax
push eax
push edi
push eax
push dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_UnlockFile]
cmp dword [esp + 4], 0
je 0x42bfc4
cmp dword [esp + 0xa0], edi
jne 0x42bfc4
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x1c]
cmp eax, ecx
sete dl
test ecx, ecx
je 0x42bf92
test dl, dl
jne 0x42bf92
cmp byte [ecx + 0xb], 0
js 0x42c16b
cmp byte [esp + 0x27], 0
js 0x42bf85
mov eax, dword [esp + 0x24]
mov dword [ecx + 8], eax
movq xmm0, qword [esp + 0x1c]
movq qword [ecx], xmm0
jmp 0x42bf92
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3ee
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505c25
push str.Failed_to_read_starting_guid_marker
jmp 0x42ba10
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3f3
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505c67
push str.Appendix_start_GUID_from_msi_does_not_match_specified_guid_marker
jmp 0x42ba10
xor esi, esi
jmp 0x42ade6
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x3fc
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505c7f
push str.Failed_to_read_zip_size
jmp 0x42ba10
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x403
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505c97
push str.Failed_to_read_zip_data
jmp 0x42bf4a
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x40d
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505cb5
push str.Failed_to_read_signature_size
call fcn.004b45d0
mov ecx, esi
call fcn.004374c0
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov eax, dword [esp + 0x74]
test eax, eax
je 0x42ba21
mov dword [esp + 0x78], eax
push eax
call fcn.00489982
add esp, 4
jmp 0x42ba21
lea ecx, [esp + 0x80]
call fcn.004c9f10
push dword [esp + 0x20]
push dword [esp + 0x20]
call fcn.0043f7a0
mov eax, dword [ebp + 8]
mov ecx, dword [esp]
mov dword [eax], ecx
cmp byte [esp + 0x27], 0
jns 0x42bfad
push dword [esp + 0x1c]
call fcn.00489982
add esp, 4
mov eax, dword [esp + 0x68]
test eax, eax
je 0x42bf5b
mov dword [esp + 0x6c], eax
push eax
call fcn.00489982
add esp, 4
jmp 0x42bf5b
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x430
push str.ExtractPartnerPackageOverridePackage
push 0
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505d3f
push str.Failed_to_write_file_data_to_output_file
call fcn.004b45d0
lea edi, [esp + 0x1c]
lea ecx, [esp + 0xa8]
push edi
call fcn.004b4550
mov ecx, esi
call fcn.004374c0
cmp dword [esp], 0
je 0x42c025
mov esi, dword [esp]
mov ecx, esi
call fcn.00440410
push esi
call fcn.00489982
add esp, 4
cmp byte [esp + 0x27], 0
jns 0x42c030
mov edi, dword [esp + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x42c188
mov eax, dword [ebp + 8]
mov dword [eax], 0
jmp 0x42bf9a
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x415
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505cd3
push str.Failed_to_read_signature_data
call fcn.004b45d0
mov ecx, esi
call fcn.004374c0
mov eax, dword [ebp + 8]
mov dword [eax], edi
jmp 0x42bfad
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [esp + 0x1c]
push eax
push edi
call fcn.004b86f0
add esp, 8
lea esi, [esp + 0xa0]
mov ecx, esi
push edi
push 0x41c
push str.ExtractPartnerPackageOverridePackage
push 1
call fcn.004b84f0
lea ecx, [esp + 0xdc]
push 0x505ced
push str.Zip_verification_failed:
call fcn.004b45d0
mov ecx, esi
call fcn.004b8530
cmp byte [edi + 0xb], 0
jns 0x42c0ed
push dword [esp + 0x1c]
call fcn.00489982
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax], 0
jmp 0x42bfad
xor edi, edi
lea esi, [esp + 0xa0]
mov ecx, esi
push 0x427
push str.ExtractPartnerPackageOverridePackage
push edi
call fcn.004b83c0
lea ecx, [esp + 0xdc]
push 0x505d15
push str.Failed_to_open_target_file_for_reading
call fcn.004b45d0
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xa8]
push eax
call fcn.004b4550
mov ecx, esi
call fcn.004374c0
mov eax, dword [ebp + 8]
mov dword [eax], edi
cmp dword [esp], 0
je 0x42bf9a
mov esi, dword [esp]
mov ecx, esi
call fcn.00440410
push esi
call fcn.00489982
add esp, 4
jmp 0x42bf9a
movzx edx, byte [esp + 0x27]
test dl, dl
cmovs edx, dword [esp + 0x20]
cmovs eax, dword [esp + 0x1c]
push edx
push eax
call fcn.0043f730
jmp 0x42bf92
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [esp + 0x10]
push eax
push edi
call fcn.004b86f0
add esp, 8
lea esi, [esp + 0xa0]
mov ecx, esi
push edi
push 0x433
push str.ExtractPartnerPackageOverridePackage
push 1
call fcn.004b84f0
lea ecx, [esp + 0xdc]
push 0x505d57
push str.Unable_to_delete_file:
call fcn.004b45d0
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xa8]
push eax
call fcn.004b4550
mov ecx, esi
call fcn.004b8530
cmp byte [edi + 0xb], 0
jns 0x42c03f
push dword [esp + 0x10]
call fcn.00489982
add esp, 4
jmp 0x42c03f