Function at 0x406040
Capabilities:
Inspect section memory permissions
Read file on windows

Disassembly:
mov qword [rsp + 8], rcx
mov rax, rsp
sub rsp, 0x258
mov qword [rsp + 0x1d8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax - 8], rdi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
mov r12, rcx
xor r13d, r13d
mov dword [rsp + 0x68], r13d
xor ecx, ecx
mov qword [rsp + 0xd8], rcx
xor r15d, r15d
mov qword [rsp + 0x80], r15
xor r14d, r14d
mov qword [rsp + 0x70], r14
xor esi, esi
mov qword [rsp + 0x78], rsi
mov qword [rax - 0x190], rcx
xor edx, edx
mov qword [rsp + 0xd0], rdx
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x4060da
mov ecx, 0x80004005
call entry0
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x90], rdi
mov rax, qword [r12 + 0x170]
cmp dword [rax - 0x10], 0
jne 0x406124
lea rdx, [rdi - 0x18]
mov rbp, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x40611a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x21
jmp 0x407e02
lea rbp, [r12 + 0x178]
mov qword [rsp + 0xa8], rbp
mov rcx, qword [rbp]
test rcx, rcx
je 0x40614a
call fcn.004389b0
mov qword [rbp], 0
lea r8, [0x00459198]
mov rdx, qword [r12 + 0x170]
mov rcx, rbp
call fcn.00436a50
mov r9, qword [rbp]
test r9, r9
je 0x407ddd
test eax, eax
jne 0x407ddd
lea edx, [rax + 2]
lea r8d, [rax + 1]
lea rcx, [rsp + 0xb0]
call fcn.00438310
cmp eax, 1
je 0x4061b9
lea rdx, [rdi - 0x18]
mov rbp, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x4061af
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x23
jmp 0x407e02
cmp word [rsp + 0xb0], 0xfeff
jne 0x4062db
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x4061e8
mov ecx, 0x80004005
call entry0
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x108], rax
lea rdx, str.__detected_as_Unicode.
test rdx, 0xffffffffffff0000
jne 0x40622e
movzx edi, dx
mov ecx, edi
call fcn.00426d80
test rax, rax
je 0x40623c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.00417570
jmp 0x40623c
lea rcx, [rsp + 0x108]
call fcn.00417420
nop
lea r8, [r12 + 0x170]
lea rdx, str.INFO:_Input_file_for_restore_operation:__
lea rcx, [rsp + 0x138]
call fcn.00417200
nop
lea r8, [rsp + 0x108]
mov rdx, rax
lea rcx, [rsp + 0x1e8]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov rbp, 0xffffffffffffffff
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x4062a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406417
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
jne 0x4062fa
mov ecx, 0x80004005
call entry0
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xf8], rax
lea rdx, str.__detected_as_ANSI.
test rdx, 0xffffffffffff0000
jne 0x406340
movzx edi, dx
mov ecx, edi
call fcn.00426d80
test rax, rax
je 0x40634e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xf8]
call fcn.00417570
jmp 0x40634e
lea rcx, [rsp + 0xf8]
call fcn.00417420
nop
lea r8, [r12 + 0x170]
lea rdx, str.INFO:_Input_file_for_restore_operation:__
lea rcx, [rsp + 0x128]
call fcn.00417200
nop
lea r8, [rsp + 0xf8]
mov rdx, rax
lea rcx, [rsp + 0x208]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov rbp, 0xffffffffffffffff
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x4063b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4063dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdi, [r12 + 0x178]
mov rcx, qword [rdi]
call fcn.004389b0
lea r8, [0x00458714]
mov rdx, qword [r12 + 0x170]
mov rcx, rdi
call fcn.00436a50
cmp qword [rdi], 0
je 0x407db5
test eax, eax
jne 0x407db5
jmp 0x406447
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
mov r15, qword [rsp + 0x80]
jmp 0x406447
mov r15, qword [rsp + 0x80]
jmp 0x406447
mov r15, qword [rsp + 0x80]
jmp 0x406447
mov r15, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x90]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x2000
or eax, ecx
jge 0x40647d
mov edx, 0x2000
lea rcx, [rsp + 0x90]
call fcn.004179f0
mov rbx, qword [rsp + 0x90]
mov r8, qword [rdi]
mov edx, 0x1ffe
mov rcx, rbx
call fcn.00437a10
test rax, rax
je 0x407cb8
test rbx, rbx
jne 0x4064a1
xor edi, edi
mov ecx, edi
jmp 0x4064bd
xor eax, eax
mov rcx, rbp
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x407cad
xor edi, edi
cmp ecx, dword [rbx - 0xc]
jg 0x407cad
mov dword [rbx - 0x10], ecx
movsxd rax, ecx
mov word [rbx + rax*2], 0
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x4064ed
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0xc8], rdi
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x406508
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0xd0], rdi
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x406526
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0xd8], rdi
test r15, r15
je 0x406541
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor r15d, r15d
mov qword [rsp + 0x80], r15
jmp 0x406544
xor r15d, r15d
test r14, r14
je 0x406557
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0x70], r15
test rsi, rsi
je 0x40656a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0x78], r15
mov dword [rsp + 0xb8], r15d
mov dword [rsp + 0xc0], r15d
mov dword [rsp + 0xbc], r15d
mov dword [rsp + 0xc4], r15d
mov dword [rsp + 0xb4], r15d
call fcn.00426d94
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
je 0x407ca2
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x88], rdi
call fcn.00426d94
mov rcx, rax
mov eax, r15d
test rcx, rcx
setne al
test eax, eax
je 0x407c97
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r13d, r15d
mov r12, rbx
mov rsi, r15
cmp word [rbx], 0
je 0x406673
movzx edx, word [r12]
lea rcx, [0x00459230]
call fcn.00436ac0
test rax, rax
je 0x406614
test rsi, rsi
jne 0x406617
mov rsi, r12
jmp 0x406617
mov rsi, r15
add r12, 2
cmp word [r12], 0
jne 0x4065f4
test rsi, rsi
je 0x406673
sub rsi, rbx
sar rsi, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x406656
mov edx, esi
lea rcx, [rsp + 0x90]
call fcn.004179f0
mov rbx, qword [rsp + 0x90]
test esi, esi
js 0x4079ad
cmp esi, dword [rbx - 0xc]
jg 0x4079ad
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], 0
lea rdx, [0x00459238]
lea rcx, [rsp + 0x90]
call fcn.00416900
mov rbx, qword [rsp + 0x90]
cmp dword [rbx - 0x10], 0
jge 0x40669a
mov r12d, ebp
jmp 0x4066bc
lea rdx, [0x0045923c]
mov rcx, rbx
call fcn.00437ec0
mov r12, rax
test rax, rax
jne 0x4066b6
mov r12d, ebp
jmp 0x4066bc
sub r12, rbx
sar r12, 1
mov r8d, r12d
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0x90]
call fcn.00416d80
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x406735
cmp dword [rdi + 0x10], 0
jl 0x406723
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x406723
call fcn.00417a50
mov rsi, rax
mov eax, ebp
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406715
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x88], rax
jmp 0x406735
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x88]
call fcn.00417880
nop
mov rdx, qword [rsp + 0x1c8]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406758
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea eax, [r12 + 1]
test eax, eax
js 0x406794
cmp eax, dword [rbx - 0x10]
jg 0x406794
cdqe
mov rdi, qword [rsp + 0x90]
lea rcx, [rdi + rax*2]
lea rdx, [0x00459244]
call fcn.00437ec0
mov rsi, rax
test rax, rax
jne 0x40678c
mov esi, ebp
jmp 0x406796
sub rsi, rdi
sar rsi, 1
jmp 0x406796
mov esi, ebp
mov r9d, esi
sub r9d, r12d
sub r9d, 1
lea r8d, [r12 + 2]
lea rdx, [rsp + 0x148]
lea rcx, [rsp + 0x90]
call fcn.00416a20
mov rcx, qword [rax]
call fcn.00436f80
mov r14d, eax
mov dword [rsp + 0x118], eax
mov rdx, qword [rsp + 0x148]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4067ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8d, dword [rbx - 0x10]
sub r8d, esi
sub r8d, 2
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x90]
call fcn.00416be0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x60]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x40686f
cmp dword [rdi + 0x10], 0
jl 0x406860
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x406860
call fcn.00417a50
mov rbx, rax
mov eax, ebp
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406855
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x40686f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.00417880
nop
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406892
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x60]
movsxd rdi, dword [rbx - 0x10]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x4068bd
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.004179f0
mov rbx, qword [rsp + 0x60]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.00437db0
test edi, edi
js 0x407c8c
cmp edi, dword [rbx - 0xc]
jg 0x407c8c
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], 0
mov r15, qword [rsp + 0x88]
add r15, 0xffffffffffffffe8
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r15 + 0x10], 0
jl 0x406914
cmp rax, qword [r15]
jne 0x406914
mov rdi, r15
lock add dword [r15 + 0x10], 1
jmp 0x406954
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r15 + 8]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x407c86
mov eax, dword [r15 + 8]
mov dword [rdi + 8], eax
mov eax, dword [r15 + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [r15 + 0x18]
add rdx, rdx
lea rcx, [rdi + 0x18]
call fcn.00438330
lea rax, [rdi + 0x18]
mov qword [rsp + 0x158], rax
lea rdx, [rsp + 0x158]
mov r12, qword [rsp + 0x260]
mov rcx, r12
call fcn.00404ac0
test eax, eax
je 0x406ae3
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x4079b8
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
lea rax, str.__because_a_filter_keyword_matched.
test rax, 0xffffffffffff0000
jne 0x4069dd
movzx edi, ax
mov ecx, edi
call fcn.00426d80
test rax, rax
je 0x4069ee
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.00417570
jmp 0x4069ee
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.00417420
nop
lea r8, [rsp + 0x88]
lea rdx, str.INFO:_Omitting_ACL_of:__
lea rcx, [rsp + 0x1a0]
call fcn.00417200
nop
lea r8, [rsp + 0xe0]
mov rdx, rax
lea rcx, [rsp + 0x1f8]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406a53
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406a77
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406a98
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebp
lock xadd dword [r15 + 0x10], eax
add eax, 0xffffffff
test eax, eax
mov r13d, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
lea rdi, [r12 + 0x178]
jg 0x40643f
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x407c7b
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe8], rax
lea rax, [0x004592ac]
test rax, 0xffffffffffff0000
jne 0x406b40
movzx edi, ax
mov ecx, edi
call fcn.00426d80
test rax, rax
je 0x406b51
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.00417570
jmp 0x406b51
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.00417420
nop
lea r8, [rsp + 0x88]
lea rdx, [0x004592b0]
lea rcx, [rsp + 0x168]
call fcn.00417200
nop
lea r8, [rsp + 0xe8]
mov rdx, rax
lea rcx, [rsp + 0x218]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406bb6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406bd9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x407c70
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rsi, [rax + 0x18]
mov qword [rsp + 0xa0], rsi
cmp dword [rbx - 0x10], 0
jl 0x406d3e
lea rdx, [0x004592e4]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.00437ec0
mov r12, rax
test rax, rax
je 0x406d43
sub r12, rdi
sar r12, 1
cmp r12d, 0xffffffff
je 0x406d43
mov dword [rsp + 0x98], 0x20000000
lea r13d, [r12 + 2]
test r13d, r13d
js 0x406cf0
cmp r13d, dword [rbx - 0x10]
jg 0x406cf0
movsxd rax, r13d
lea rcx, [rdi + rax*2]
lea rdx, [0x004592ec]
call fcn.00437ec0
test rax, rax
je 0x406cf0
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x406cf0
sub eax, r12d
lea r9d, [rax - 2]
mov r8d, r13d
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x60]
call fcn.00416a20
nop
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.00417730
nop
mov rdx, qword [rsp + 0x1b0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406ce3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa0]
jmp 0x406cf0
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa0]
cmp dword [rsi - 0x10], 0
jl 0x406d30
lea rdx, [0x004592f0]
mov rcx, rsi
call fcn.00437ec0
test rax, rax
je 0x406d26
sub rax, rsi
sar rax, 1
mov r13d, dword [rsp + 0x98]
cmp eax, 0xffffffff
mov eax, 0x80000000
cmovne r13d, eax
jmp 0x406d38
mov r13d, dword [rsp + 0x98]
jmp 0x406d38
mov r13d, dword [rsp + 0x98]
or r13d, 4
jmp 0x406d43
mov rdi, qword [rsp + 0x60]
cmp dword [rbx - 0x10], 0
jl 0x406e71
lea rdx, [0x004592f4]
mov rcx, rdi
call fcn.00437ec0
mov r12, rax
test rax, rax
je 0x406e71
sub r12, rdi
sar r12, 1
cmp r12d, 0xffffffff
je 0x406e71
or r13d, 8
mov dword [rsp + 0x98], r13d
mov r14d, 0x10000000
lea r13d, [r12 + 2]
test r13d, r13d
js 0x406e32
cmp r13d, dword [rbx - 0x10]
jg 0x406e32
movsxd rax, r13d
lea rcx, [rdi + rax*2]
lea rdx, [0x004592ec]
call fcn.00437ec0
test rax, rax
je 0x406e32
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x406e32
sub eax, r12d
lea r9d, [rax - 2]
mov r8d, r13d
lea rdx, [rsp + 0x178]
lea rcx, [rsp + 0x60]
call fcn.00416a20
nop
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.00417730
nop
mov rdx, qword [rsp + 0x178]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406e25
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa0]
jmp 0x406e32
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa0]
cmp dword [rsi - 0x10], 0
jl 0x406e5e
lea rdx, [0x004592f0]
mov rcx, rsi
call fcn.00437ec0
test rax, rax
je 0x406e5e
sub rax, rsi
sar rax, 1
cmp eax, 0xffffffff
mov eax, 0x40000000
cmovne r14d, eax
mov r13d, dword [rsp + 0x98]
or r13d, r14d
mov r14d, dword [rsp + 0x118]
cmp dword [rbx - 0x10], 0
jl 0x406e9a
lea rdx, [0x004592fc]
mov rcx, rdi
call fcn.00437ec0
test rax, rax
je 0x406e9a
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x406e9a
or r13d, 1
cmp dword [rbx - 0x10], 0
jl 0x406ec3
lea rdx, [0x00459304]
mov rcx, rdi
call fcn.00437ec0
test rax, rax
je 0x406ec3
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
je 0x406ec3
or r13d, 2
xor r9d, r9d
lea r8, [rsp + 0xc8]
lea edx, [r9 + 1]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW]
test eax, eax
jne 0x4070f8
mov r12, qword [rsp + 0x260]
cmp dword [r12 + 0x8c], eax
je 0x4079ce
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x4079c3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xf0], rax
lea rax, [0x0045930c]
test rax, 0xffffffffffff0000
jne 0x406f56
movzx edi, ax
mov ecx, edi
call fcn.00426d80
test rax, rax
je 0x406f67
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.00417570
jmp 0x406f67
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.00417420
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [rsp + 0x1d0]
mov rcx, r12
call fcn.00403c80
mov rdi, rax
lea r8, [rsp + 0x88]
lea rdx, [0x00459310]
lea rcx, [rsp + 0x188]
call fcn.00417200
nop
lea r8, [rsp + 0xf0]
mov rdx, rax
lea rcx, [rsp + 0x1c0]
call fcn.00416ef0
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x1e0]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x1c0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x406ffc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407020
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407044
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407068
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x40708c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4070ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebp
lock xadd dword [r15 + 0x10], eax
add eax, 0xffffffff
test eax, eax
mov r13d, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
lea rdi, [r12 + 0x178]
jg 0x406435
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0xc4]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0xbc]
mov qword [rsp + 0x30], rax
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xd8]
lea r8, [rsp + 0xb8]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.ADVAPI32.dll_MakeAbsoluteSD]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x407398
mov r12, qword [rsp + 0x260]
cmp dword [r12 + 0x8c], 0
je 0x407a70
call fcn.00426d94
mov rcx, rax
xor eax, eax
test rcx, rcx
setne al
test eax, eax
je 0x407a65
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x100], rax
lea rax, [0x0045930c]
test rax, 0xffffffffffff0000
jne 0x4071f6
movzx edi, ax
mov ecx, edi
call fcn.00426d80
test rax, rax
je 0x407207
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.00417570
jmp 0x407207
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.00417420
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [rsp + 0x1a8]
mov rcx, r12
call fcn.00403c80
mov rdi, rax
lea r8, [rsp + 0x88]
lea rdx, [0x00459310]
lea rcx, [rsp + 0x1b8]
call fcn.00417200
nop
lea r8, [rsp + 0x100]
mov rdx, rax
lea rcx, [rsp + 0x198]
call fcn.00416ef0
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x1f0]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x198]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x40729c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1b8]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4072c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1a8]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4072e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407308
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x40732c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x40734d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebp
lock xadd dword [r15 + 0x10], eax
add eax, 0xffffffff
test eax, eax
mov r13d, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
lea rdi, [r12 + 0x178]
jg 0x40642b
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
mov edx, dword [rsp + 0xb8]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rsp + 0xd0], rax
mov edx, dword [rsp + 0xc0]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r12, rax
mov qword [rsp + 0xd8], rax
mov edx, dword [rsp + 0xbc]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
mov qword [rsp + 0x80], rax
mov edx, dword [rsp + 0xc4]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rdi, rax
mov qword [rsp + 0x70], rax
mov edx, dword [rsp + 0xb4]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0xb4]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xc4]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0xbc]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9, r12
lea r8, [rsp + 0xb8]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.ADVAPI32.dll_MakeAbsoluteSD]
test eax, eax
jne 0x407645
mov r12, qword [rsp + 0x260]
cmp dword [r12 + 0x8c], eax
je 0x407aff
lea rdx, [0x0045930c]
lea rcx, [rsp + 0x110]
call fcn.00415f40
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, [rsp + 0x150]
mov rcx, r12
call fcn.00403c80
mov rdi, rax
lea r8, [rsp + 0x88]
lea rdx, [0x00459310]
lea rcx, [rsp + 0x140]
call fcn.00417200
nop
lea r8, [rsp + 0x110]
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.00416ef0
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x200]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407549
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x40756d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x150]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407591
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4075b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4075d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4075fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, ebp
lock xadd dword [r15 + 0x10], eax
add eax, 0xffffffff
test eax, eax
mov r13d, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
lea rdi, [r12 + 0x178]
jg 0x406421
mov rcx, qword [r15]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
mov ecx, 0x68
call fcn.00426c68
mov qword [rsp + 0x118], rax
test rax, rax
je 0x407674
mov r12, qword [rsp + 0x260]
mov rdx, r12
mov rcx, rax
call fcn.00414840
mov rdi, rax
jmp 0x40767e
xor edi, edi
mov r12, qword [rsp + 0x260]
mov rbx, qword [rsp + 0x88]
mov edx, dword [rbx - 0x10]
add edx, 1
mov ecx, 1
sub ecx, dword [r15 + 0x10]
mov eax, dword [r15 + 0xc]
sub eax, edx
or eax, ecx
jge 0x4076b4
lea rcx, [rsp + 0x88]
call fcn.004179f0
mov rbx, qword [rsp + 0x88]
mov rdx, rbx
lea rcx, [rsp + 0x210]
call fcn.00415e60
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], rcx
mov r15, qword [rsp + 0x80]
mov qword [rsp + 0x28], r15
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rcx
mov r9d, r13d
mov r8d, r14d
mov rdx, rax
mov rcx, rdi
call fcn.00415200
mov r13d, eax
mov dword [rsp + 0x68], eax
mov ecx, dword [rdi + 0x30]
mov dword [r12 + 0x88], ecx
test rbx, rbx
jne 0x40771e
xor ecx, ecx
jmp 0x407738
xor eax, eax
mov rcx, rbp
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x407c65
cmp ecx, dword [rbx - 0xc]
jg 0x407c65
mov dword [rbx - 0x10], ecx
movsxd rax, ecx
mov word [rbx + rax*2], 0
test r13d, r13d
je 0x40792a
lea rdx, str.__failed_with:
lea rcx, [rsp + 0x120]
call fcn.00415f40
nop
mov r8d, dword [r12 + 0x88]
lea rdx, [rsp + 0x180]
mov rcx, r12
call fcn.00403c80
mov rdi, rax
lea r8, [rsp + 0x88]
lea rdx, str.ERROR:_Writing_SD_to__
lea rcx, [rsp + 0x170]
call fcn.00417200
nop
lea r8, [rsp + 0x120]
mov rdx, rax
lea rcx, [rsp + 0x160]
call fcn.00416ef0
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x220]
call fcn.00416ef0
mov rdx, rax
mov rcx, r12
call fcn.004022e0
nop
mov rdx, qword [rsp + 0x160]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4077ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407823
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x180]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407847
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x40786a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [r12 + 0x88]
cmp eax, 5
je 0x40788b
cmp eax, 2
je 0x40788b
cmp dword [r12 + 0x8c], 0
je 0x407b96
mov dword [r12 + 0x88], 0
xor r13d, r13d
mov dword [rsp + 0x68], r13d
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4078c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4078e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
lea rdi, [r12 + 0x178]
jg 0x406447
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
lea rdx, [rsi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407946
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407967
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
lea rdi, [r12 + 0x178]
jg 0x406447
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0xa8]
jmp 0x406447
mov ecx, 0x80070057
call entry0
int3
mov ecx, 0x80004005
call entry0
nop
mov ecx, 0x80004005
call entry0
int3
mov r13d, 0x1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12 + 0x88], eax
lea rdx, [rsi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x4079fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407a1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407c3c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
jmp 0x407cf8
mov ecx, 0x80004005
call entry0
int3
mov r13d, 0x1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12 + 0x88], eax
lea rdx, [rsi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407aa0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407ac1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407c4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
jmp 0x407cf8
mov r13d, 0x1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12 + 0x88], eax
lea rdx, [rsi - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407b2f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407b50
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407c32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
jmp 0x407cf8
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407bba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407bdb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x407bfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp r13d, 0x2c
jne 0x407c46
mov dword [r12 + 0x88], 0
xor r13d, r13d
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
jmp 0x407cf8
mov rdi, qword [rsp + 0x80]
jmp 0x407c4e
mov rdi, qword [rsp + 0x80]
jmp 0x407c4e
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
jmp 0x407cf8
mov ecx, 0x80070057
call entry0
nop
mov ecx, 0x80004005
call entry0
int3
mov ecx, 0x80004005
call entry0
int3
call fcn.00417bc0
int3
mov ecx, 0x80070057
call entry0
nop
mov ecx, 0x80004005
call entry0
nop
mov ecx, 0x80004005
call entry0
int3
mov ecx, 0x80070057
call entry0
int3
test rbx, rbx
jne 0x407cc1
xor ecx, ecx
jmp 0x407cdb
xor eax, eax
mov rcx, rbp
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x407daa
cmp ecx, dword [rbx - 0xc]
jg 0x407daa
mov dword [rbx - 0x10], ecx
movsxd rax, ecx
mov word [rbx + rax*2], 0
mov rdi, qword [rsp + 0x80]
mov r12, qword [rsp + 0xa8]
mov rcx, qword [r12]
test rcx, rcx
je 0x407d16
call fcn.004389b0
mov qword [r12], 0
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x407d35
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov qword [rsp + 0xc8], 0
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x407d4b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x407d61
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rdi, rdi
je 0x407d6f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
test r14, r14
je 0x407d7d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
test rsi, rsi
je 0x407d8c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x407da5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r13d
jmp 0x407e02
mov ecx, 0x80070057
call entry0
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x407dd6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x22
jmp 0x407e02
lea rdx, [rdi - 0x18]
mov rbp, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x407dfd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x22
mov rbx, qword [rsp + 0x268]
mov rbp, qword [rsp + 0x270]
mov rsi, qword [rsp + 0x278]
mov rdi, qword [rsp + 0x250]
mov r12, qword [rsp + 0x248]
mov r13, qword [rsp + 0x240]
mov r14, qword [rsp + 0x238]
mov r15, qword [rsp + 0x230]
add rsp, 0x258
ret