Function at 0x4de974
Capabilities:
Set current directory

Disassembly:
invalid
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax]
test ecx, ecx
je 0x4de968
call fcn.00512dac
test eax, eax
cmovne esi, eax
inc edi
cmp edi, dword [ebx + 0x30]
jl 0x4de952
pop edi
mov eax, esi
pop esi
pop ebx
ret
mov eax, 0x549f02
call fcn.0054565c
sub esp, 0x1c8
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0x3c], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x4f
ja 0x4deba3
lodsb al, byte cs:[esi]
lea ecx, [esi - 0x70]
daa
jnp 0x4de94c
sub dl, 0xc3
bound esi, qword [edi + ebx + 0x931c3ed]
inc edi
scasd eax, dword es:[edi]
mov edi, 0x9b99efa2
sub dword [esi], 0x78
insd dword es:[edi], dx
add eax, 0xa6790f07
adc byte [edx + 0x19], dh
scasb al, byte es:[edi]
add esi, 0x488b126b
inc edi
cwde
jmp 0x4de965
mov edi, dword [ebp + 8]
cmp byte [edi + 0xa8], 0
je 0x4debc2
cmp byte [edi + 0xa9], 0
je 0x4debc2
mov eax, 0x80004005
jmp 0x4df957
cmp dword [edi + 0xcc], 0
jle 0x4debeb
cmp byte [edi + 0xa9], 0
jne 0x4debe1
cmp byte [edi + 0x88], 0
je 0x4decef
mov eax, 0x80004001
jmp 0x4df957
cmp byte [edi + 0x88], 0
je 0x4decef
lea ecx, [ebp - 0x84]
call fcn.0040eb91
xor ebx, ebx
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], ebx
call fcn.0040eb91
push str.rsfx
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 1
call fcn.0040de20
push 0x55d5cc
lea ecx, [ebp - 0x78]
call fcn.0040de20
lea eax, [ebp - 0x84]
push eax
lea ecx, [edi + 4]
call fcn.0040f3b8
cmp dword [edi + 0x90], ebx
jne 0x4dec75
mov ecx, dword [ebp + 0xc]
push str.SFX_file_is_not_specified
lea ecx, [ecx + 0x1c]
call fcn.0040de20
push dword [ebp - 0x78]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x84]
call fcn.00418a9a
pop ecx
jmp 0x4debb8
lea esi, [edi + 0x8c]
push esi
lea ecx, [ebp - 0x38]
call fcn.0040eba9
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x38]
push esi
push ecx
call fcn.005052b7
add esp, 0xc
test al, al
jne 0x4deccc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebp + 0xc]
push str.7_Zip_cannot_find_specified_SFX_module
lea ecx, [esi + 0x1c]
mov dword [esi], eax
call fcn.0040de20
lea eax, [ebp - 0x38]
push eax
lea ecx, [esi + 4]
call fcn.0040ebec
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
jmp 0x4dec5b
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x78]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x84]
call fcn.00418a9a
mov esi, dword [ebp - 0x3c]
pop ecx
jmp 0x4decf1
xor ebx, ebx
lea ecx, [ebp - 0x174]
call fcn.00411614
lea ecx, [ebp - 0x6c]
push ecx
lea ecx, [edi + 0x30]
mov dword [ebp - 4], 3
call fcn.00411334
mov byte [ebp - 4], 4
cmp dword [edi + 0x34], ebx
je 0x4deedc
lea ecx, [ebp - 0x104]
call fcn.0040eb91
mov byte [ebp - 4], 5
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x12c]
call fcn.0050727b
test al, al
je 0x4deec9
mov eax, dword [ebp - 0x10c]
shr eax, 4
test al, 1
je 0x4ded69
push 0x564d10
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xe8], str.there_is_no_such_archive
push eax
call fcn.0041f140
cmp dword [edi + 0xcc], 0
jle 0x4ded7c
mov esi, 0x80004001
jmp 0x4dee6e
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], 4
mov dword [ebp - 0x98], vtable.CRecordVector_int_.0
mov byte [ebp - 4], 6
cmp dword [edi], 0
jl 0x4dedb8
push dword [edi]
lea ecx, [ebp - 0x98]
call fcn.0040f33a
push dword [ebp + 0x10]
lea eax, [ebp - 0x6c]
push eax
push ecx
push ebx
lea eax, [ebp - 0x98]
push eax
push esi
lea ecx, [ebp - 0x174]
call fcn.00516377
mov esi, 0x80004004
mov dword [ebp - 0x40], eax
cmp eax, esi
je 0x4dee55
mov ecx, dword [ebp + 0x14]
push eax
push dword [ebp - 0x6c]
call fcn.004da38a
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x4dee11
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], vtable.CBaseRecordVector.0
call fcn.004e5c24
mov esi, dword [ebp - 0x1c]
jmp 0x4dee6e
cmp dword [ebp - 0x40], 0
je 0x4dee35
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], vtable.CBaseRecordVector.0
call fcn.004e5c24
mov esi, dword [ebp - 0x40]
jmp 0x4dee6e
cmp dword [ebp - 0x158], 1
jle 0x4dee7f
mov ecx, dword [ebp + 0xc]
mov esi, 0x80004001
mov dword [ecx], esi
push str.Updating_for_multivolume_archives_is_not_implemented
add ecx, 0x1c
call fcn.0040de20
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], vtable.CBaseRecordVector.0
call fcn.004e5c24
push dword [ebp - 0x104]
call fcn.00418a9a
pop ecx
jmp 0x4df9fd
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
cmp byte [ebp - 0x108], 0
mov ecx, dword [ecx + eax*4 - 4]
sete al
mov byte [ecx + 0x2c], al
mov eax, dword [ebp - 0x114]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x110]
mov dword [ecx + 0x28], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], vtable.CBaseRecordVector.0
call fcn.004e5c24
jmp 0x4deece
mov esi, 0x80004004
push dword [ebp - 0x104]
call fcn.00418a9a
pop ecx
jmp 0x4deee1
mov esi, 0x80004004
lea ecx, [ebp - 0x1d4]
call fcn.00410a8c
mov byte [ebp - 4], 7
cmp byte [edi + 0x99], 0
je 0x4df0fe
lea ecx, [ebp - 0x10c]
call fcn.0040eb91
or dword [ebp - 0xfc], 0xffffffff
or dword [ebp - 0xf8], 0xffffffff
lea eax, [edi + 0x9c]
push eax
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 8
call fcn.0040ebec
or dword [ebp - 0x12c], 0xffffffff
or dword [ebp - 0x128], 0xffffffff
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x100], ebx
call fcn.0050f860
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x124], ecx
push eax
lea ecx, [ebp - 0x198]
call fcn.004118b3
mov byte [ebp - 4], 7
push dword [ebp - 0x10c]
call fcn.00418a9a
pop ecx
push 4
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.0040de7a
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x28]
mov byte [ebp + 0xb], bl
mov byte [ebp - 0x2c], bl
call fcn.0040eb91
mov byte [ebp - 4], 0xc
cmp byte [edi + 0xa9], 0
je 0x4defed
cmp byte [edi + 0xaa], 0
je 0x4defed
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00505757
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x60]
call fcn.0040ebec
lea ecx, [ebp - 0x60]
call fcn.00507574
mov byte [ebp + 0xb], 1
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x54], vtable.CObjectVector_class_CStringBase_wchar_t__.0
mov byte [ebp - 4], 0xd
cmp byte [edi + 0xa8], 0
mov al, byte [ebp - 0x144]
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x16], al
jne 0x4df079
cmp byte [edi + 0x2c], 0
je 0x4df079
mov eax, dword [edi + 0x24]
mov esi, dword [eax]
lea eax, [edi + 0x30]
push eax
lea ecx, [esi + 0xc]
call fcn.00411817
cmp byte [ebp - 0x16], 0
jne 0x4df042
cmp dword [edi + 0xbc], ebx
je 0x4df079
mov cl, byte [ebp + 0xb]
test cl, cl
jne 0x4df07c
cmp dword [edi + 0xcc], 0
jne 0x4df07c
mov byte [esi + 0x48], 1
mov byte [ebp - 0x15], 1
cmp dword [edi + 0xbc], ebx
je 0x4df07c
lea eax, [edi + 0xb8]
push eax
lea ecx, [esi + 0x4c]
call fcn.0040ebec
lea ecx, [esi + 0x4c]
call fcn.00507574
mov cl, byte [ebp + 0xb]
cmp dword [edi + 0x20], 0
mov esi, ebx
jle 0x4df357
mov eax, dword [edi + 0x24]
mov eax, dword [eax + esi*4]
add eax, 0xc
mov dword [ebp - 0x1c], eax
test cl, cl
je 0x4df0a7
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [eax + 0xc]
call fcn.0040ebec
mov eax, dword [ebp - 0x1c]
cmp byte [edi + 0xa8], 0
jne 0x4df0ef
test esi, esi
jg 0x4df0ba
cmp byte [ebp - 0x15], 0
jne 0x4df0ef
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, eax
call fcn.00411334
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xb8]
call fcn.0050702c
test al, al
jne 0x4df309
mov byte [ebp - 4], 0xd
push dword [ebp - 0xb8]
call fcn.00418a9a
pop ecx
inc esi
cmp esi, dword [edi + 0x20]
jge 0x4df357
mov cl, byte [ebp + 0xb]
jmp 0x4df088
cmp dword [edi + 0x20], 0
mov byte [ebp - 0x15], bl
mov edx, ebx
jle 0x4def91
mov ecx, dword [edi + 0x24]
mov eax, ebx
mov edi, dword [ecx]
cmp dword [edi + eax*4 + 0x64], 2
mov edi, dword [ebp + 8]
je 0x4df13d
inc eax
cmp eax, 7
jl 0x4df112
xor eax, eax
inc eax
mov edi, dword [ecx]
cmp dword [edi + eax*4 + 0x64], ebx
mov edi, dword [ebp + 8]
jne 0x4df13d
inc eax
cmp eax, 7
jl 0x4df127
mov al, byte [ebp - 0x15]
jmp 0x4df142
mov al, 1
mov byte [ebp - 0x15], al
inc edx
add ecx, 4
cmp edx, dword [edi + 0x20]
jl 0x4df110
test al, al
je 0x4def91
mov eax, dword [ebp + 0x14]
mov ecx, eax
mov dword [ebp - 0xf0], 0x55d854
mov dword [ebp - 0xec], eax
call fcn.004da168
mov dword [ebp + 8], eax
test eax, eax
je 0x4df18b
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
mov esi, dword [ebp + 8]
jmp 0x4df9fd
push 4
pop eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x80], vtable.CObjectVector_class_CStringBase_wchar_t__.0
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xcc], 0x55d1f4
mov ecx, dword [ebp - 0xd0]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xf0]
push eax
lea edx, [ebp - 0x1d4]
mov byte [ebp - 4], 0xa
call fcn.005096f2
add esp, 0xc
cmp dword [ebp - 0x78], 0
mov dword [ebp - 0x40], eax
mov edx, ebx
mov dword [ebp + 8], ebx
jle 0x4df22a
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x74]
push dword [ecx + edx*4]
mov eax, dword [eax + edx*4]
mov ecx, dword [ebp + 0x14]
push dword [eax]
call fcn.004d9e1d
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4df282
mov edx, dword [ebp + 8]
inc edx
mov dword [ebp + 8], edx
cmp edx, dword [ebp - 0x78]
jl 0x4df1fb
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4df2be
cmp eax, esi
je 0x4df246
mov ecx, dword [ebp + 0xc]
push str.Scanning_error
lea ecx, [ecx + 0x1c]
call fcn.0040de20
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xcc], vtable.CBaseRecordVector.0
call fcn.004e5c24
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.0040ea97
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
mov esi, dword [ebp - 0x40]
jmp 0x4df9fd
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xcc], vtable.CBaseRecordVector.0
call fcn.004e5c24
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.0040ea97
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
mov esi, dword [ebp - 0x1c]
jmp 0x4df9fd
mov ecx, dword [ebp + 0x14]
call fcn.004d9bf7
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xcc]
mov esi, eax
mov dword [ebp - 0xcc], vtable.CBaseRecordVector.0
call fcn.004e5c24
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.0040ea97
test esi, esi
je 0x4def91
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
jmp 0x4df9fd
mov esi, dword [ebp + 0xc]
push str.The_file_already_exists
lea ecx, [esi + 0x1c]
mov dword [esi], ebx
call fcn.0040de20
lea eax, [ebp - 0xb8]
push eax
lea ecx, [esi + 4]
call fcn.0040ebec
push dword [ebp - 0xb8]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x10
jmp 0x4df9c9
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], 4
mov dword [ebp - 0xac], vtable.CObjectVector_struct_CArcItem_.0
cmp byte [ebp - 0x16], 0
mov byte [ebp - 4], 0x11
je 0x4df418
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x16c]
lea edx, [ebp - 0xac]
push edx
mov edx, dword [ecx + eax*4 - 4]
mov ecx, dword [ebp - 0xd0]
call fcn.004dce4f
mov esi, eax
pop ecx
test esi, esi
je 0x4df404
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x12
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x13
cmp byte [ebp - 0x2c], 0
je 0x4df3ed
lea ecx, [ebp - 0x28]
call fcn.005048f7
push dword [ebp - 0x28]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x60]
call fcn.00418a9a
pop ecx
jmp 0x4df2f5
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x16c]
mov eax, dword [ecx + eax*4 - 4]
mov eax, dword [eax]
jmp 0x4df41a
mov eax, ebx
push dword [ebp + 0x14]
lea ecx, [ebp - 0x54]
push dword [ebp + 0xc]
mov edx, edi
push ecx
lea ecx, [ebp - 0x1d4]
push ecx
lea ecx, [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.004dcd0f
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4df476
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x14
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x15
jmp 0x4df3df
cmp byte [ebp - 0x16], 0
je 0x4df4c8
lea ecx, [ebp - 0x174]
call fcn.005169b2
mov esi, eax
test esi, esi
je 0x4df4bd
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x16
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x17
jmp 0x4df3df
lea ecx, [ebp - 0x174]
call fcn.00516790
push dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
push ebx
lea ecx, [ebp - 0x54]
call dword [eax + 4]
cmp byte [ebp - 0x15], 0
je 0x4df644
mov byte [ebp - 4], 0x18
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
lea eax, [ebp - 0x38]
lea ecx, [ecx + 0xc]
push eax
call fcn.004113b3
cmp byte [ebp - 0x16], 0
mov byte [ebp - 4], 0x19
je 0x4df5bc
mov ecx, dword [ebp - 0x6c]
call fcn.00505529
test al, al
jne 0x4df5bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [ebp + 0xc]
push str.7_Zip_cannot_delete_the_file
lea ecx, [ebx + 0x1c]
mov dword [ebx], eax
call fcn.0040de20
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebx + 4]
call fcn.0040ebec
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1a
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x1b
cmp byte [ebp - 0x2c], 0
je 0x4df57e
lea ecx, [ebp - 0x28]
call fcn.005048f7
test al, al
sete byte [ebp - 0x2c]
push dword [ebp - 0x28]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x60]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
push dword [ebp - 0x6c]
call fcn.00418a9a
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x174]
call fcn.0041164a
jmp 0x4debb8
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x38]
call fcn.00504c21
test al, al
jne 0x4df634
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [ebp + 0xc]
push str.7_Zip_cannot_move_the_file
lea ecx, [ebx + 0x1c]
mov dword [ebx], eax
call fcn.0040de20
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebx + 4]
call fcn.0040ebec
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebx + 0x10]
call fcn.0040ebec
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1c
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x1d
jmp 0x4df56a
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
mov dword [ebp - 4], 0x11
cmp byte [edi + 0xa9], 0
je 0x4df8e3
mov dword [ebp + 8], ebx
push ecx
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1f
call fcn.00511570
test al, al
jne 0x4df6be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0xc]
push str.7_Zip_cannot_load_Mapi32.dll
mov dword [ecx], eax
add ecx, 0x1c
call fcn.0040de20
lea ecx, [ebp + 8]
call fcn.005115c8
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x20
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x21
jmp 0x4df9c9
push str.MAPISendDocuments
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x4df723
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0xc]
push str.7_Zip_cannot_find_MAPISendDocuments_function
mov dword [ecx], eax
add ecx, 0x1c
call fcn.0040de20
lea ecx, [ebp + 8]
call fcn.005115c8
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x22
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x23
jmp 0x4df9c9
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], 4
mov dword [ebp - 0xe4], vtable.CObjectVector_class_CStringBase_wchar_t__.0
mov byte [ebp - 4], 0x24
cmp dword [edi + 0x20], 0
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
jle 0x4df7e3
mov eax, dword [edi + 0x24]
push 4
mov esi, dword [eax + ecx*4]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.0040de7a
lea eax, [ebp - 0x138]
push eax
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0x25
call fcn.00411334
mov byte [ebp - 4], 0x26
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
call int.0050598d
mov bl, al
mov byte [ebp - 4], 0x25
push dword [ebp - 0x138]
neg bl
sbb bl, bl
call fcn.00418a9a
pop ecx
inc bl
jne 0x4df966
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0040eadb
mov byte [ebp - 4], 0x24
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
mov ecx, dword [ebp - 0x3c]
inc ecx
push 0
mov dword [ebp - 0x3c], ecx
pop ebx
cmp ecx, dword [edi + 0x20]
jl 0x4df75c
lea ecx, [ebp - 0x38]
call fcn.0040eb91
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x29
call fcn.005046a9
mov byte [ebp - 4], 0x2a
cmp dword [ebp - 0xdc], 0
mov esi, ebx
jle 0x4df8ba
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xb8]
push dword [eax + esi*4]
call fcn.0040eba9
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x2b
call fcn.0050c09e
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x2c
call fcn.00411459
lea edx, [ebp - 0xf4]
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x2d
call fcn.00411459
push ebx
mov byte [ebp - 4], 0x2e
push dword [ebp - 0x180]
push dword [ebp - 0x138]
push 0x55d820
push ebx
call edi
push dword [ebp - 0x180]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x138]
call fcn.00418a9a
pop ecx
push dword [ebp - 0xf4]
call fcn.00418a9a
pop ecx
mov byte [ebp - 4], 0x2a
push dword [ebp - 0xb8]
call fcn.00418a9a
inc esi
pop ecx
cmp esi, dword [ebp - 0xdc]
jl 0x4df80d
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x1f
call fcn.0040ea97
lea ecx, [ebp + 8]
call fcn.005115c8
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x2f
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x30
cmp byte [ebp - 0x2c], 0
je 0x4df91c
lea ecx, [ebp - 0x28]
call fcn.005048f7
push dword [ebp - 0x28]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x60]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
push dword [ebp - 0x6c]
call fcn.00418a9a
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x174]
call fcn.0041164a
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0xc]
push 0x55d824
mov dword [ecx], eax
add ecx, 0x1c
call fcn.0040de20
push dword [ebp - 0x38]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x1f
call fcn.0040ea97
lea ecx, [ebp + 8]
call fcn.005115c8
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0xd
call fcn.00411ae7
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x27
call fcn.00518097
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xc
call fcn.0040ea97
mov byte [ebp - 4], 0x28
cmp byte [ebp - 0x2c], 0
je 0x4df9d7
lea ecx, [ebp - 0x28]
call fcn.005048f7
push dword [ebp - 0x28]
call fcn.00418a9a
pop ecx
push dword [ebp - 0x60]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.00410ade
mov esi, 0x80004005
push dword [ebp - 0x6c]
call fcn.00418a9a
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x174]
call fcn.0041164a
mov eax, esi
jmp 0x4df957