Function at 0x428ddc
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
mov qword [rsp + 0x340], 0xfffffffffffffffe
mov r13, r9
mov rsi, r8
mov r15, rcx
xor ebx, ebx
cmp byte [r8 + 0xf8], bl
je 0x428e2b
cmp byte [r8 + 0xf9], bl
je 0x428e2b
mov eax, 0x80004005
jmp 0x42aff8
cmp dword [r8 + 0x12c], ebx
jle 0x428e50
cmp byte [r8 + 0xf9], bl
jne 0x428e46
cmp byte [r8 + 0xc8], bl
je 0x428e50
mov eax, 0x80004001
jmp 0x42aff8
cmp byte [r8 + 0xc8], bl
je 0x429162
lea rcx, [rsp + 0x158]
call fcn.004144f0
nop
mov dword [rsp + 0x160], ebx
mov rax, qword [rsp + 0x158]
mov word [rax], bx
lea r14, str.rsfx
mov rax, r14
mov edi, 2
lea r12d, [rdi - 1]
add ebx, r12d
add rax, rdi
cmp word [rax], 0
jne 0x428e90
mov edx, ebx
lea rcx, [rsp + 0x158]
call fcn.0040139c
mov r11, qword [rsp + 0x158]
xor ecx, ecx
movzx eax, word [r14]
mov word [r11], ax
add r11, rdi
add r14, rdi
cmp ax, cx
jne 0x428eb5
mov dword [rsp + 0x160], ebx
mov dword [rsp + 0x170], ecx
mov rax, qword [rsp + 0x168]
mov word [rax], cx
mov ebx, ecx
lea r14, [0x00433f54]
mov rax, r14
add ebx, r12d
add rax, rdi
cmp word [rax], cx
jne 0x428eed
mov edx, ebx
lea rcx, [rsp + 0x168]
call fcn.0040139c
mov r11, qword [rsp + 0x168]
movzx eax, word [r14]
mov word [r11], ax
add r11, rdi
add r14, rdi
test ax, ax
jne 0x428f0f
mov dword [rsp + 0x170], ebx
mov ecx, 0x20
call fcn.0040bcb8
mov qword [rsp + 0x3a0], rax
test rax, rax
je 0x428f55
lea rdx, [rsp + 0x158]
mov rcx, rax
call fcn.00420190
mov r14, rax
jmp 0x428f58
xor r14d, r14d
lea rcx, [rsi + 8]
call fcn.0040cba4
movsxd rcx, dword [rsi + 0x14]
mov rax, qword [rsi + 0x18]
mov qword [rax + rcx*8], r14
add dword [rsi + 0x14], r12d
xor r14d, r14d
cmp dword [rsi + 0xd8], r14d
jne 0x428fec
mov dword [r13 + 0x30], r14d
mov rax, qword [r13 + 0x28]
mov word [rax], r14w
mov ebx, r14d
lea rsi, str.SFX_file_is_not_specified
mov rax, rsi
add ebx, r12d
add rax, rdi
cmp word [rax], r14w
jne 0x428f96
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [rsi]
mov word [r11], ax
add r11, rdi
add rsi, rdi
cmp ax, r14w
jne 0x428fb1
mov dword [r13 + 0x30], ebx
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
mov eax, 0x80004005
jmp 0x42aff8
mov qword [rsp + 0xb0], r14
mov dword [rsp + 0xb8], r14d
mov dword [rsp + 0xbc], r14d
mov edx, dword [rsi + 0xd8]
lea rcx, [rsp + 0xb0]
call fcn.0040139c
mov r14, qword [rsp + 0xb0]
mov rcx, r14
mov rdx, qword [rsi + 0xd0]
movzx eax, word [rdx]
mov word [rcx], ax
add rcx, rdi
add rdx, rdi
test ax, ax
jne 0x429029
mov eax, dword [rsi + 0xd8]
mov dword [rsp + 0xb8], eax
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x20], rax
lea r9, [rsi + 0xd0]
xor r8d, r8d
mov rdx, r14
xor ecx, ecx
call fcn.0040f15c
xor ebx, ebx
cmp al, bl
jne 0x42913d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
xor ecx, ecx
mov dword [r13 + 0x30], ecx
mov rax, qword [r13 + 0x28]
mov word [rax], cx
mov esi, ecx
lea r15, str.7_Zip_cannot_find_specified_SFX_module
mov rax, r15
add esi, r12d
add rax, rdi
cmp word [rax], cx
jne 0x429095
mov edx, esi
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [r15]
mov word [r11], ax
add r11, rdi
add r15, rdi
test ax, ax
jne 0x4290af
mov dword [r13 + 0x30], esi
add r13, 8
lea rax, [rsp + 0xb0]
cmp rax, r13
je 0x429110
mov dword [r13 + 8], ebx
mov rax, qword [r13]
mov word [rax], bx
mov ebx, dword [rsp + 0xb8]
mov edx, ebx
mov rcx, r13
call fcn.0040139c
mov r11, qword [r13]
mov rcx, r14
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
test ax, ax
jne 0x4290fa
mov dword [r13 + 8], ebx
mov rcx, r14
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
mov eax, 0x80004005
jmp 0x42aff8
mov rcx, r14
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x168]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
jmp 0x42916b
mov edi, 2
lea r12d, [rdi - 1]
mov dword [rsp + 0x1e8], ebx
mov dword [rsp + 0x1ec], ebx
mov qword [rsp + 0x1f0], rbx
mov ecx, 8
mov qword [rsp + 0x1f8], rcx
lea rax, [0x00430000]
mov qword [rsp + 0x1e0], rax
mov dword [rsp + 0x208], ebx
mov dword [rsp + 0x20c], ebx
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x218], rcx
lea rax, [0x0042ffd0]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x220], rbx
mov byte [rsp + 0x228], bl
lea rdx, [rsp + 0x88]
lea rcx, [rsi + 0x50]
call fcn.00426628
nop
cmp dword [rsi + 0x58], ebx
je 0x4294f9
mov qword [rsp + 0x320], rbx
mov dword [rsp + 0x328], ebx
mov dword [rsp + 0x32c], ebx
mov edx, 3
lea rcx, [rsp + 0x320]
call fcn.0040139c
nop
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x2f8]
call fcn.0040ffdc
cmp al, bl
je 0x4294de
mov eax, dword [rsp + 0x318]
shr eax, 4
test r12b, al
je 0x42926d
lea rax, str.there_is_no_such_archive
mov qword [rsp + 0x2c0], rax
lea rdx, [0x00440428]
lea rcx, [rsp + 0x2c0]
call sub.msvcrt.dll__CxxThrowException
int3
cmp dword [rsi + 0x12c], ebx
jle 0x42929b
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, 0x80004001
jmp 0x42a391
mov dword [rsp + 0x140], ebx
mov dword [rsp + 0x144], ebx
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], 4
lea r14, [0x00430ba8]
mov qword [rsp + 0x138], r14
mov ebx, dword [rsi]
test ebx, ebx
js 0x4292fb
lea rcx, [rsp + 0x138]
call fcn.0040cba4
movsxd r11, dword [rsp + 0x144]
mov rax, qword [rsp + 0x148]
mov dword [rax + r11*4], ebx
add dword [rsp + 0x144], r12d
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x138]
mov rdx, r15
lea rcx, [rsp + 0x1e0]
call fcn.00424f2c
mov r15d, eax
mov ebx, 0x80004004
cmp eax, ebx
jne 0x429374
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
nop
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
jmp 0x42a391
mov r9, qword [rsp + 0x3b8]
mov rax, qword [r9]
mov r8d, r15d
mov rdx, qword [rsp + 0x88]
mov rcx, r9
call qword [rax + 0x58]
mov dword [rsp + 0x3a0], eax
xor r8d, r8d
cmp eax, r8d
je 0x4293d5
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
nop
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, dword [rsp + 0x3a0]
jmp 0x42a391
cmp r15d, r8d
je 0x42940c
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
nop
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, r15d
jmp 0x42a391
cmp dword [rsp + 0x20c], r12d
jle 0x4294a0
mov dword [r13], 0x80004001
mov dword [r13 + 0x30], r8d
mov rax, qword [r13 + 0x28]
mov word [rax], r8w
mov ebx, r8d
lea rsi, str.Updating_for_multivolume_archives_is_not_implemented
mov rax, rsi
add ebx, r12d
add rax, rdi
cmp word [rax], r8w
jne 0x42943b
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [rsi]
mov word [r11], ax
add r11, rdi
add rsi, rdi
test ax, ax
jne 0x429456
mov dword [r13 + 0x30], ebx
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
nop
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, 0x80004001
jmp 0x42a391
movsxd rcx, dword [rsp + 0x1ec]
mov rax, qword [rsp + 0x1f0]
mov rdx, qword [rax + rcx*8 - 8]
cmp byte [rsp + 0x31c], r8b
sete al
mov byte [rdx + 0x38], al
mov rax, qword [rsp + 0x310]
mov qword [rdx + 0x30], rax
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
jmp 0x4294ea
lea r14, [0x00430ba8]
mov ebx, 0x80004004
mov rcx, qword [rsp + 0x320]
call sub.msvcrt.dll_free
jmp 0x429505
lea r14, [0x00430ba8]
mov ebx, 0x80004004
xor r15d, r15d
mov dword [rsp + 0x238], r15d
mov dword [rsp + 0x23c], r15d
mov qword [rsp + 0x240], r15
lea r10d, [r15 + 8]
mov qword [rsp + 0x248], r10
lea rax, [0x0042ffd0]
mov qword [rsp + 0x230], rax
mov dword [rsp + 0x258], r15d
mov dword [rsp + 0x25c], r15d
mov qword [rsp + 0x260], r15
mov qword [rsp + 0x268], 4
mov qword [rsp + 0x250], r14
mov dword [rsp + 0x278], r15d
mov dword [rsp + 0x27c], r15d
mov qword [rsp + 0x280], r15
mov qword [rsp + 0x288], 4
mov qword [rsp + 0x270], r14
mov dword [rsp + 0x298], r15d
mov dword [rsp + 0x29c], r15d
mov qword [rsp + 0x2a0], r15
mov qword [rsp + 0x2a8], r10
lea rax, [0x00432540]
mov qword [rsp + 0x290], rax
cmp byte [rsi + 0xe1], r15b
je 0x429712
mov qword [rsp + 0x1c0], r15
mov dword [rsp + 0x1c8], r15d
mov dword [rsp + 0x1cc], r15d
lea edx, [r15 + 3]
lea rcx, [rsp + 0x1c0]
call fcn.0040139c
lea r14, [r15 - 1]
mov dword [rsp + 0x1d4], r14d
mov dword [rsp + 0x1d8], r14d
lea rbx, [rsi + 0xe8]
lea rax, [rsp + 0x1c0]
cmp rbx, rax
je 0x42966c
mov dword [rsp + 0x1c8], r15d
mov rax, qword [rsp + 0x1c0]
mov word [rax], r15w
mov edx, dword [rbx + 8]
lea rcx, [rsp + 0x1c0]
call fcn.0040139c
mov r11, qword [rsp + 0x1c0]
mov rcx, qword [rbx]
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
cmp ax, r15w
jne 0x42964f
mov eax, dword [rbx + 8]
mov dword [rsp + 0x1c8], eax
mov qword [rsp + 0x1a0], r14
mov dword [rsp + 0x1d0], r15d
lea rcx, [rsp + 0x1b8]
call fcn.00411798
mov r11, qword [rsp + 0x1b8]
mov qword [rsp + 0x1b0], r11
mov qword [rsp + 0x1a8], r11
mov ecx, 0x40
call fcn.0040bcb8
mov qword [rsp + 0x3a0], rax
cmp rax, r15
je 0x4296cd
lea rdx, [rsp + 0x1a0]
mov rcx, rax
call fcn.0041a210
mov rbx, rax
jmp 0x4296d0
mov rbx, r15
lea rcx, [rsp + 0x290]
call fcn.0040cba4
movsxd r11, dword [rsp + 0x29c]
mov rax, qword [rsp + 0x2a0]
mov qword [rax + r11*8], rbx
add dword [rsp + 0x29c], r12d
mov rcx, qword [rsp + 0x1c0]
call sub.msvcrt.dll_free
lea rbx, [0x0042ffd0]
jmp 0x429abb
mov r9b, r15b
mov edx, r15d
cmp dword [rsi + 0x34], r15d
jle 0x429aab
mov rcx, qword [rsi + 0x38]
mov r8, qword [rcx]
mov rax, r15
cmp dword [r8 + rax*4 + 0x88], edi
je 0x429757
add rax, r12
cmp rax, 7
jl 0x42972c
mov rax, r12
cmp dword [r8 + rax*4 + 0x88], r15d
jne 0x429757
add rax, r12
cmp rax, 7
jl 0x429742
jmp 0x42975a
mov r9b, r12b
add edx, r12d
add rcx, r10
cmp edx, dword [rsi + 0x34]
jl 0x429726
cmp r9b, r15b
je 0x429ab4
lea rax, [0x004339c0]
mov qword [rsp + 0x128], rax
mov r15, qword [rsp + 0x3b8]
mov qword [rsp + 0x130], r15
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x60]
mov r14d, eax
xor eax, eax
cmp r14d, eax
je 0x4297c4
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, r14d
jmp 0x42a391
mov dword [rsp + 0x180], eax
mov dword [rsp + 0x184], eax
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], 8
lea rcx, [0x0042ffd0]
mov qword [rsp + 0x178], rcx
mov dword [rsp + 0x1a8], eax
mov dword [rsp + 0x1ac], eax
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1b8], 4
lea rax, [0x00430ba8]
mov qword [rsp + 0x1a0], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x178]
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x230]
mov rcx, qword [rsp + 0x398]
call fcn.0041b75c
mov r14d, eax
xor ecx, ecx
mov dword [rsp + 0x3a0], ecx
cmp dword [rsp + 0x184], ecx
jle 0x429952
mov r15, rcx
mov r9, rcx
mov qword [rsp + 0xb0], rcx
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x188]
mov rdx, qword [r15 + rcx]
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rcx]
mov r8d, dword [r9 + r8]
mov rdx, qword [rdx]
call qword [rax + 0x70]
mov dword [rsp + 0xf0], eax
xor ecx, ecx
cmp eax, ecx
jne 0x4298f1
mov eax, dword [rsp + 0x3a0]
add eax, r12d
mov dword [rsp + 0x3a0], eax
mov r9, qword [rsp + 0xb0]
add r9, 4
mov qword [rsp + 0xb0], r9
add r15, 8
cmp eax, dword [rsp + 0x184]
jl 0x42987f
mov r15, qword [rsp + 0x3b8]
jmp 0x429952
lea rcx, [rsp + 0x1a0]
call fcn.0040cc3c
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x178]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x178]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, dword [rsp + 0xf0]
jmp 0x42a391
cmp r14d, ecx
je 0x429a04
cmp r14d, ebx
je 0x4299a7
mov dword [r13 + 0x30], ecx
mov rax, qword [r13 + 0x28]
mov word [rax], cx
mov ebx, ecx
lea rsi, str.Scanning_error
mov rax, rsi
add ebx, r12d
add rax, rdi
cmp word [rax], cx
jne 0x429977
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [rsi]
mov word [r11], ax
add r11, rdi
add rsi, rdi
test ax, ax
jne 0x429991
mov dword [r13 + 0x30], ebx
lea rcx, [rsp + 0x1a0]
call fcn.0040cc3c
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x178]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x178]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, r14d
jmp 0x42a391
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x78]
mov ebx, eax
xor r15d, r15d
cmp eax, r15d
je 0x429a71
lea rcx, [rsp + 0x1a0]
call fcn.0040cc3c
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0x178], rax
lea rcx, [rsp + 0x178]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x178]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
jmp 0x42a391
lea rcx, [rsp + 0x1a0]
call fcn.0040cc3c
nop
lea rbx, [0x0042ffd0]
mov qword [rsp + 0x178], rbx
lea rcx, [rsp + 0x178]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x178]
call fcn.0040cc3c
jmp 0x429abb
lea rbx, [0x0042ffd0]
jmp 0x429abb
lea rbx, [0x0042ffd0]
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0xc8], r15d
mov dword [rsp + 0xcc], r15d
mov edx, 3
lea rcx, [rsp + 0xc0]
call fcn.0040139c
nop
mov r14b, r15b
mov byte [rsp + 0x81], r15b
mov byte [rsp + 0x98], r15b
mov qword [rsp + 0xa0], r15
mov dword [rsp + 0xa8], r15d
mov dword [rsp + 0xac], r15d
mov edx, 3
lea rcx, [rsp + 0xa0]
call fcn.0040139c
nop
cmp byte [rsi + 0xf9], r15b
je 0x429bc3
cmp byte [rsi + 0xfa], r15b
je 0x429bc3
mov rdx, qword [0x004428a8]
lea rcx, [rsp + 0x98]
call fcn.0040fd94
mov dword [rsp + 0xc8], r15d
mov rax, qword [rsp + 0xc0]
mov word [rax], r15w
mov edx, dword [rsp + 0xa8]
lea rcx, [rsp + 0xc0]
call fcn.0040139c
mov r11, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xa0]
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
cmp ax, r15w
jne 0x429b8a
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0xc8], eax
lea rcx, [rsp + 0xc0]
call fcn.00410ce0
mov r14b, r12b
mov byte [rsp + 0x81], r12b
mov dword [rsp + 0xd8], r15d
mov dword [rsp + 0xdc], r15d
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], 8
mov qword [rsp + 0xd0], rbx
mov byte [rsp + 0x80], r15b
mov r15b, byte [rsp + 0x228]
mov byte [rsp + 0x3a0], r15b
xor edx, edx
cmp byte [rsi + 0xf8], dl
jne 0x429cb3
cmp byte [rsi + 0x48], dl
je 0x429cb3
mov rax, qword [rsi + 0x38]
mov rbx, qword [rax]
add rbx, 0x10
lea rdx, [rsi + 0x50]
mov rcx, rbx
call fcn.00426b44
xor edx, edx
cmp r15b, dl
jne 0x429c44
cmp dword [rsi + 0x118], edx
je 0x429cb3
cmp r14b, dl
jne 0x429cb3
cmp dword [rsi + 0x12c], edx
jne 0x429cb3
mov byte [rsp + 0x80], r12b
mov byte [rbx + 0x50], r12b
cmp dword [rsi + 0x118], edx
je 0x429cb3
add rbx, 0x58
lea r14, [rsi + 0x110]
cmp r14, rbx
je 0x429ca9
mov dword [rbx + 8], edx
mov rax, qword [rbx]
mov word [rax], dx
mov edx, dword [r14 + 8]
mov rcx, rbx
call fcn.0040139c
mov r11, qword [rbx]
mov rcx, qword [r14]
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
test ax, ax
jne 0x429c90
mov eax, dword [r14 + 8]
mov dword [rbx + 8], eax
mov rcx, rbx
call fcn.00410ce0
xor edx, edx
mov r15d, edx
cmp dword [rsi + 0x34], edx
jle 0x429eea
mov r14, rdx
mov rax, qword [rsi + 0x38]
mov rax, qword [r14 + rax]
add rax, 0x10
mov qword [rsp + 0xb0], rax
cmp byte [rsp + 0x81], dl
je 0x429d39
lea rbx, [rax + 0x10]
lea rcx, [rsp + 0xc0]
cmp rcx, rbx
je 0x429d39
mov dword [rbx + 8], edx
mov rax, qword [rbx]
mov word [rax], dx
mov edx, dword [rsp + 0xc8]
mov rcx, rbx
call fcn.0040139c
mov r11, qword [rbx]
mov rcx, qword [rsp + 0xc0]
xor edx, edx
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
cmp ax, dx
jne 0x429d15
mov eax, dword [rsp + 0xc8]
mov dword [rbx + 8], eax
mov rax, qword [rsp + 0xb0]
cmp byte [rsi + 0xf8], dl
jne 0x429d80
cmp r14, rdx
jg 0x429d4f
cmp byte [rsp + 0x80], dl
jne 0x429d80
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.00426628
nop
mov rcx, qword [rsp + 0xf8]
call fcn.004101b0
test al, al
jne 0x429d96
mov rcx, qword [rsp + 0xf8]
call sub.msvcrt.dll_free
xor edx, edx
add r15d, r12d
add r14, 8
cmp r15d, dword [rsi + 0x34]
jl 0x429cc2
jmp 0x429eea
xor r15d, r15d
mov dword [r13], r15d
mov dword [r13 + 0x30], r15d
mov rax, qword [r13 + 0x28]
mov word [rax], r15w
mov esi, r15d
lea r14, str.The_file_already_exists
mov rax, r14
add esi, r12d
add rax, rdi
cmp word [rax], r15w
jne 0x429db6
mov edx, esi
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [r14]
mov word [r11], ax
add r11, rdi
add r14, rdi
cmp ax, r15w
jne 0x429dd1
mov dword [r13 + 0x30], esi
add r13, 8
lea rax, [rsp + 0xf8]
cmp rax, r13
je 0x429e3f
mov dword [r13 + 8], r15d
mov rax, qword [r13]
mov word [rax], r15w
mov edx, dword [rsp + 0x100]
mov rcx, r13
call fcn.0040139c
mov r11, qword [r13]
mov rcx, qword [rsp + 0xf8]
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
cmp ax, r15w
jne 0x429e21
mov eax, dword [rsp + 0x100]
mov dword [r13 + 8], eax
mov rcx, qword [rsp + 0xf8]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x429ea8
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
mov ebx, 0x80004005
jmp 0x42a391
mov dword [rsp + 0x110], edx
mov dword [rsp + 0x114], edx
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], 8
lea r14, [0x004339f8]
mov qword [rsp + 0x108], r14
cmp byte [rsp + 0x3a0], dl
je 0x42a033
movsxd rcx, dword [rsp + 0x1ec]
mov rax, qword [rsp + 0x1f0]
lea r8, [rsp + 0x108]
mov rdx, qword [rax + rcx*8 - 8]
mov rcx, qword [rsp + 0x398]
call fcn.00428ad0
mov ebx, eax
xor edx, edx
cmp eax, edx
je 0x42a019
mov qword [rsp + 0x108], r14
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], 0
je 0x429fdc
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
test al, al
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
jmp 0x42a391
movsxd rcx, dword [rsp + 0x1ec]
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rax + rcx*8 - 8]
mov r15, qword [rcx]
jmp 0x42a036
mov r15, rdx
mov dword [rsp + 0xf0], edx
mov r14, rdx
cmp dword [rsi + 0x34], edx
jle 0x42a1d9
mov rax, qword [rsi + 0x38]
mov rax, qword [rax + r14*8]
mov qword [rsp + 0xb0], rax
cmp byte [rsi + 0xf8], dl
je 0x42a08c
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rcx]
cmp r15, rdx
setne r8b
lea rdx, [0x00433c58]
call qword [rax + 0x80]
mov ebx, eax
test eax, eax
jne 0x42a1c5
jmp 0x42a0e3
cmp r14, rdx
jne 0x42a0a0
cmp byte [rsi + 0x48], dl
je 0x42a0a0
cmp r15, rdx
je 0x42a0a0
mov bl, r12b
jmp 0x42a0a2
mov bl, dl
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x158]
call fcn.00426628
nop
mov rcx, qword [rsp + 0x3b8]
mov r9, qword [rcx]
mov r8b, bl
mov rdx, qword [rax]
call qword [r9 + 0x80]
mov ebx, eax
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
test ebx, ebx
jne 0x42a1ca
lea rax, [rsi + 0x120]
lea rcx, [rsi + 0xd0]
mov rdx, qword [rsp + 0xb0]
lea r8, [rdx + 0x10]
add rdx, 0x88
mov r9, qword [rsp + 0x3b8]
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x70], r13
lea r9, [rsp + 0xd0]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rcx
mov al, byte [rsi + 0xc8]
mov byte [rsp + 0x50], al
lea rax, [rsp + 0x230]
mov qword [rsp + 0x48], rax
mov al, byte [rsi + 0xf8]
mov byte [rsp + 0x40], al
mov al, byte [rsi + 0xe1]
mov byte [rsp + 0x38], al
mov al, byte [rsi + 0xe0]
mov byte [rsp + 0x30], al
lea rax, [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
mov r9, rsi
mov r8, r15
mov rcx, qword [rsp + 0x390]
call fcn.004279a8
mov ebx, eax
test eax, eax
jne 0x42a1cf
mov rcx, qword [rsp + 0x3b8]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov ebx, eax
xor edx, edx
cmp eax, edx
jne 0x42a1d4
mov ecx, dword [rsp + 0xf0]
add ecx, r12d
mov dword [rsp + 0xf0], ecx
add r14, r12
cmp ecx, dword [rsi + 0x34]
jl 0x42a049
jmp 0x42a1d9
xor r15d, r15d
jmp 0x42a1df
xor r15d, r15d
jmp 0x42a1df
xor r15d, r15d
jmp 0x42a1df
xor r15d, r15d
jmp 0x42a1df
xor r15d, r15d
mov ebx, r15d
cmp ebx, r15d
je 0x42a2ab
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x42a26e
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
jmp 0x42a391
mov bl, byte [rsp + 0x3a0]
cmp bl, r15b
je 0x42a3b9
lea rcx, [rsp + 0x1e0]
call fcn.00422f44
mov ebx, eax
cmp eax, r15d
je 0x42a3a5
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x42a359
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
mov eax, ebx
jmp 0x42aff8
lea rcx, [rsp + 0x1e0]
call fcn.0042284c
mov bl, byte [rsp + 0x3a0]
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
cmp byte [rsp + 0x80], r15b
je 0x42a85b
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax]
add rcx, 0x10
lea rdx, [rsp + 0x128]
call fcn.00426750
nop
cmp bl, r15b
je 0x42a5eb
mov rcx, qword [rsp + 0x88]
call fcn.0040ecb8
cmp al, r15b
jne 0x42a5eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
mov dword [r13 + 0x30], r15d
mov rax, qword [r13 + 0x28]
mov word [rax], r15w
mov ebx, r15d
mov dword [rsp + 0x198], r15d
lea rsi, str.7_Zip_cannot_delete_the_file
movsxd rax, ebx
cmp word [rsi + rax*2], r15w
je 0x42a44a
add ebx, r12d
mov dword [rsp + 0x198], ebx
jmp 0x42a434
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov rcx, qword [r13 + 0x28]
mov qword [rsp + 0x338], rcx
mov qword [rsp + 0x330], rsi
movzx eax, word [rsi]
mov word [rcx], ax
add rcx, rdi
mov qword [rsp + 0x338], rcx
add rsi, rdi
mov qword [rsp + 0x330], rsi
cmp ax, r15w
jne 0x42a469
mov dword [r13 + 0x30], ebx
add r13, 8
lea rbx, [rsp + 0x88]
lea rax, [rsp + 0x88]
cmp rax, r13
je 0x42a508
mov dword [r13 + 8], r15d
mov rax, qword [r13]
mov word [rax], r15w
mov edx, dword [rsp + 0x90]
mov rcx, r13
call fcn.0040139c
mov rcx, qword [r13]
mov qword [rsp + 0x2e8], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x2c8], rdx
movzx eax, word [rdx]
mov word [rcx], ax
add rcx, rdi
mov qword [rsp + 0x2e8], rcx
add rdx, rdi
mov qword [rsp + 0x2c8], rdx
cmp ax, r15w
jne 0x42a4df
mov eax, dword [rbx + 8]
mov dword [r13 + 8], eax
mov rcx, qword [rsp + 0x128]
call sub.msvcrt.dll_free
nop
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x42a59c
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
mov eax, 0x80004005
jmp 0x42aff8
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x128]
call fcn.0040eae8
cmp al, r15b
jne 0x42a84d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
mov dword [r13 + 0x30], r15d
mov rax, qword [r13 + 0x28]
mov word [rax], r15w
mov ebx, r15d
mov dword [rsp + 0x19c], r15d
lea rsi, str.7_Zip_cannot_move_the_file
movsxd rax, ebx
cmp word [rsi + rax*2], r15w
je 0x42a647
add ebx, r12d
mov dword [rsp + 0x19c], ebx
jmp 0x42a631
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov rcx, qword [r13 + 0x28]
mov qword [rsp + 0x2f0], rcx
mov qword [rsp + 0x2d8], rsi
movzx eax, word [rsi]
mov word [rcx], ax
add rcx, rdi
mov qword [rsp + 0x2f0], rcx
add rsi, rdi
mov qword [rsp + 0x2d8], rsi
cmp ax, r15w
jne 0x42a666
mov dword [r13 + 0x30], ebx
lea rbx, [r13 + 8]
lea rsi, [rsp + 0x128]
cmp rsi, rbx
je 0x42a6f1
mov dword [rbx + 8], r15d
mov rax, qword [rbx]
mov word [rax], r15w
mov edx, dword [rsi + 8]
mov rcx, rbx
call fcn.0040139c
mov rcx, qword [rbx]
mov qword [rsp + 0x2e0], rcx
mov rdx, qword [rsi]
mov qword [rsp + 0x2b8], rdx
movzx eax, word [rdx]
mov word [rcx], ax
add rcx, rdi
mov qword [rsp + 0x2e0], rcx
add rdx, rdi
mov qword [rsp + 0x2b8], rdx
cmp ax, r15w
jne 0x42a6c9
mov eax, dword [rsi + 8]
mov dword [rbx + 8], eax
add r13, 0x18
lea rbx, [rsp + 0x88]
lea rax, [rsp + 0x88]
cmp rax, r13
je 0x42a76a
mov dword [r13 + 8], r15d
mov rax, qword [r13]
mov word [rax], r15w
mov edx, dword [rsp + 0x90]
mov rcx, r13
call fcn.0040139c
mov rcx, qword [r13]
mov qword [rsp + 0x2b0], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x2d0], rdx
movzx eax, word [rdx]
mov word [rcx], ax
add rcx, rdi
mov qword [rsp + 0x2b0], rcx
add rdx, rdi
mov qword [rsp + 0x2d0], rdx
cmp ax, r15w
jne 0x42a741
mov eax, dword [rbx + 8]
mov dword [r13 + 8], eax
mov rcx, qword [rsp + 0x128]
call sub.msvcrt.dll_free
nop
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x42a7fe
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
mov eax, 0x80004005
jmp 0x42aff8
mov rcx, qword [rsp + 0x128]
call sub.msvcrt.dll_free
nop
cmp byte [rsi + 0xf9], r15b
je 0x42af2b
mov qword [rsp + 0x3a0], r15
lea rdx, str.Mapi32.dll
lea rcx, [rsp + 0x3a0]
call fcn.0040e458
cmp al, r15b
jne 0x42a9c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
mov dword [r13 + 0x30], r15d
mov rax, qword [r13 + 0x28]
mov word [rax], r15w
mov ebx, r15d
lea rsi, str.7_Zip_cannot_load_Mapi32.dll
mov rax, rsi
add ebx, r12d
add rax, rdi
cmp word [rax], r15w
jne 0x42a8b0
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [rsi]
mov word [r11], ax
add r11, rdi
add rsi, rdi
cmp ax, r15w
jne 0x42a8cb
mov dword [r13 + 0x30], ebx
lea rcx, [rsp + 0x3a0]
call fcn.0040e3d8
nop
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x42a976
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
mov eax, 0x80004005
jmp 0x42aff8
lea rdx, str.MAPISendDocuments
mov rcx, qword [rsp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
mov qword [rsp + 0xb0], rax
xor ebx, ebx
cmp rax, rbx
jne 0x42ab22
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
mov dword [r13 + 0x30], ebx
mov rax, qword [r13 + 0x28]
mov word [rax], bx
lea rsi, str.7_Zip_cannot_find_MAPISendDocuments_function
mov rax, rsi
add ebx, r12d
add rax, rdi
cmp word [rax], 0
jne 0x42aa0f
mov edx, ebx
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [rsi]
mov word [r11], ax
add r11, rdi
add rsi, rdi
test ax, ax
jne 0x42aa2a
mov dword [r13 + 0x30], ebx
lea rcx, [rsp + 0x3a0]
call fcn.0040e3d8
nop
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], 0
je 0x42aad3
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
test al, al
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
mov eax, 0x80004005
jmp 0x42aff8
mov dword [rsp + 0x140], ebx
mov dword [rsp + 0x144], ebx
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], 8
lea rax, [0x0042ffd0]
mov qword [rsp + 0x138], rax
mov r14d, ebx
cmp dword [rsi + 0x34], ebx
jle 0x42ad7b
mov r15, rbx
mov rax, qword [rsi + 0x38]
mov rbx, qword [r15 + rax]
xor eax, eax
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x104], eax
lea edx, [rax + 3]
lea rcx, [rsp + 0xf8]
call fcn.0040139c
nop
lea rdx, [rsp + 0x158]
lea rcx, [rbx + 0x10]
call fcn.00426628
nop
lea rdx, [rsp + 0xf8]
mov rcx, qword [rax]
call fcn.0040fa9c
test al, al
sete bl
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
test bl, bl
jne 0x42ac0e
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0x138]
call fcn.00409bb0
nop
mov rcx, qword [rsp + 0xf8]
call sub.msvcrt.dll_free
add r14d, r12d
add r15, 8
cmp r14d, dword [rsi + 0x34]
jl 0x42ab62
mov r15, qword [rsp + 0xb0]
xor ebx, ebx
jmp 0x42ad7b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r13], eax
xor r14d, r14d
mov dword [r13 + 0x30], r14d
mov rax, qword [r13 + 0x28]
mov word [rax], r14w
mov esi, r14d
lea rbx, str.GetFullPathName_error
mov rax, rbx
add esi, r12d
add rax, rdi
cmp word [rax], r14w
jne 0x42ac34
mov edx, esi
lea rcx, [r13 + 0x28]
call fcn.0040139c
mov r11, qword [r13 + 0x28]
movzx eax, word [rbx]
mov word [r11], ax
add r11, rdi
add rbx, rdi
cmp ax, r14w
jne 0x42ac4f
mov dword [r13 + 0x30], esi
mov rcx, qword [rsp + 0xf8]
call sub.msvcrt.dll_free
nop
lea rbx, [0x0042ffd0]
mov qword [rsp + 0x138], rbx
lea rcx, [rsp + 0x138]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0x3a0]
call fcn.0040e3d8
nop
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
mov qword [rsp + 0xd0], rbx
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r14b
je 0x42ad2c
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r14b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
mov eax, 0x80004005
jmp 0x42aff8
mov qword [rsp + 0x128], rbx
mov dword [rsp + 0x130], ebx
mov dword [rsp + 0x134], ebx
mov edx, 3
lea rcx, [rsp + 0x128]
call fcn.0040139c
nop
lea rcx, [rsp + 0x128]
call fcn.0040f0f4
nop
mov r13d, ebx
cmp dword [rsp + 0x144], ebx
jle 0x42aed4
mov rsi, rbx
xor r14d, r14d
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsi + rax]
mov qword [rsp + 0xb0], r14
mov dword [rsp + 0xb8], r14d
mov dword [rsp + 0xbc], r14d
mov edx, dword [rbx + 8]
lea rcx, [rsp + 0xb0]
call fcn.0040139c
mov r11, qword [rsp + 0xb0]
mov rcx, qword [rbx]
movzx eax, word [rcx]
mov word [r11], ax
add r11, rdi
add rcx, rdi
cmp ax, r14w
jne 0x42ae07
mov eax, dword [rbx + 8]
mov dword [rsp + 0xb8], eax
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x158]
call fcn.0040d414
nop
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x178]
call fcn.00426174
nop
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0xf8]
call fcn.00426174
nop
mov dword [rsp + 0x20], r14d
mov r9, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x178]
lea rdx, [0x00433c88]
xor ecx, ecx
call r15
nop
mov rcx, qword [rsp + 0xf8]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x178]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x158]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
add r13d, r12d
add rsi, 8
cmp r13d, dword [rsp + 0x144]
jl 0x42adc8
mov rcx, qword [rsp + 0x128]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, qword [rsp + 0x128]
call sub.msvcrt.dll_free
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x138]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x138]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0x3a0]
call fcn.0040e3d8
xor r15d, r15d
lea rax, [0x004339f8]
mov qword [rsp + 0x108], rax
lea rcx, [rsp + 0x108]
call fcn.0040cb94
nop
lea rcx, [rsp + 0x108]
call fcn.0040cc3c
nop
lea rcx, [rsp + 0xd0]
call fcn.004260c0
nop
lea rax, [0x0042ffd0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xd0]
call fcn.0040cb94
nop
lea rcx, [rsp + 0xd0]
call fcn.0040cc3c
nop
cmp byte [rsp + 0x98], r15b
je 0x42afb1
lea rcx, [rsp + 0xa0]
call fcn.0040ed60
cmp al, r15b
sete byte [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x230]
call fcn.004147cc
nop
mov rcx, qword [rsp + 0x88]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x1e0]
call fcn.00401dac
xor eax, eax
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret