Function at 0x140038fd0
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe30
mov qword [rsp + 0x270], 0xfffffffffffffffe
mov rax, qword [0x1400e71f0]
xor rax, rsp
mov qword [rsp + 0xe20], rax
mov rsi, r9
mov edi, r8d
mov qword [rsp + 0x60], rdx
mov rbx, rcx
mov qword [rsp + 0xb0], rdx
mov r14, qword [rsp + 0xe90]
mov qword [rsp + 0x190], r14
xor r15d, r15d
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], 1
mov r13d, 1
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x90], r13d
call fcn.140015a10
cmp eax, 6
je 0x140039060
xor eax, eax
jmp 0x14003a878
test edi, edi
jne 0x140039be0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8d, [rdi + 6]
mov rdx, rsi
xor ecx, ecx
call sub.WINSPOOL.DRV_EnumPrinterDriversW
test eax, eax
jne 0x1400390a8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400390a8
xor eax, eax
jmp 0x14003a878
mov edx, dword [rsp + 0x54]
add edx, 0x100
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14003a873
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x20], ecx
mov r9, rdi
mov r8d, 6
mov rdx, rsi
xor ecx, ecx
call sub.WINSPOOL.DRV_EnumPrinterDriversW
test eax, eax
je 0x140039bd0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x140039bd0
cmp r15d, eax
jae 0x140039bb9
mov r12d, r15d
imul r12, r12, 0x88
mov rdx, rbx
mov rcx, qword [r12 + rdi + 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x140039ba6
mov rdx, qword [r12 + rdi + 0x78]
lea rcx, [rsp + 0x88]
call fcn.140004ec0
nop
lea rcx, [rsp + 0x88]
call fcn.140026a10
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
call fcn.1400696cc
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14003918c
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov r12, qword [r12 + rdi + 0x38]
or rbx, 0xffffffffffffffff
or r13d, 0xffffffff
nop
nop
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x1400393e3
test r12, r12
jne 0x1400391ca
xor ecx, ecx
jmp 0x1400391dc
xor eax, eax
mov rcx, rbx
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140003c40
mov dx, 0x5c
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140080890
test rax, rax
jne 0x140039207
mov eax, r13d
jmp 0x14003920d
sub rax, rdi
sar rax, 1
add eax, 1
mov r8d, dword [rdi - 0x10]
sub r8d, eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.140003710
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140039286
cmp dword [rdi + 0x10], 0
jl 0x140039277
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140039277
call fcn.1400031e0
mov rbx, rax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140039268
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 + 0x48], rax
or rbx, 0xffffffffffffffff
jmp 0x140039286
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.140003c40
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400392a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 7
mov qword [rsp + 0x1d0], rdx
xor r8d, r8d
mov qword [rsp + 0x1c8], r8
mov word [rsp + 0x1b8], r8w
xor eax, eax
mov rcx, rbx
mov rbx, qword [rsp + 0x48]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rsi, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x140039305
call fcn.1400a1f30
mov rdx, qword [rsp + 0x1d0]
mov r8, qword [rsp + 0x1c8]
cmp rdx, rsi
jae 0x140039324
mov rdx, rsi
lea rcx, [rsp + 0x1b0]
call fcn.14000fa70
mov rdx, qword [rsp + 0x1d0]
jmp 0x14003934b
test rsi, rsi
jne 0x14003934b
mov qword [rsp + 0x1c8], rsi
lea rax, [rsp + 0x1b8]
cmp rdx, 8
cmovae rax, qword [rsp + 0x1b8]
mov word [rax], si
jmp 0x14003939f
test rsi, rsi
je 0x14003939f
lea rcx, [rsp + 0x1b8]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x1b8]
lea rdi, [rsi + rsi]
add rdx, rdx
mov r9, rdi
mov r8, rbx
call fcn.140080540
mov qword [rsp + 0x1c8], rsi
lea rax, [rsp + 0x1b8]
cmp qword [rsp + 0x1d0], 8
cmovae rax, qword [rsp + 0x1b8]
mov word [rax + rdi], 0
lea rdx, [rsp + 0x1b0]
mov rcx, r14
call fcn.140012d10
nop
cmp qword [rsp + 0x1d0], 8
jb 0x1400393c8
mov rcx, qword [rsp + 0x1b8]
call fcn.140067524
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
cdqe
lea r12, [r12 + rax*2]
or rbx, 0xffffffffffffffff
jmp 0x1400391b0
mov esi, r15d
imul rsi, rsi, 0x88
mov r12, qword [rsp + 0x58]
mov rdx, qword [rsi + r12 + 0x28]
test rdx, rdx
jne 0x140039400
xor ecx, ecx
jmp 0x140039412
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x48]
call fcn.140003c40
mov dx, 0x5c
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140080890
test rax, rax
jne 0x14003943a
mov eax, r13d
jmp 0x140039440
sub rax, rdi
sar rax, 1
add eax, 1
mov r8d, dword [rdi - 0x10]
sub r8d, eax
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x48]
call fcn.140003710
nop
mov r15, qword [rax]
mov edx, 7
mov qword [rsp + 0x168], rdx
xor r8d, r8d
mov qword [rsp + 0x160], r8
mov word [rsp + 0x150], r8w
xor eax, eax
mov rcx, rbx
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x1400394ba
call fcn.1400a1f30
mov rdx, qword [rsp + 0x168]
mov r8, qword [rsp + 0x160]
cmp rdx, rbx
jae 0x1400394d9
mov rdx, rbx
lea rcx, [rsp + 0x148]
call fcn.14000fa70
mov rdx, qword [rsp + 0x168]
jmp 0x140039500
test rbx, rbx
jne 0x140039500
mov qword [rsp + 0x160], rbx
lea rax, [rsp + 0x150]
cmp rdx, 8
cmovae rax, qword [rsp + 0x150]
mov word [rax], bx
jmp 0x140039554
test rbx, rbx
je 0x140039554
lea rcx, [rsp + 0x150]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x150]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, r15
call fcn.140080540
mov qword [rsp + 0x160], rbx
lea rax, [rsp + 0x150]
cmp qword [rsp + 0x168], 8
cmovae rax, qword [rsp + 0x150]
mov word [rdi + rax], 0
lea rdx, [rsp + 0x148]
mov rcx, r14
call fcn.140012d10
nop
cmp qword [rsp + 0x168], 8
jb 0x14003957d
mov rcx, qword [rsp + 0x150]
call fcn.140067524
mov qword [rsp + 0x168], 7
mov qword [rsp + 0x160], 0
mov word [rsp + 0x150], 0
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x1400395c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsi + r12 + 0x20]
test rdx, rdx
jne 0x1400395d3
xor ecx, ecx
jmp 0x1400395e5
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x48]
call fcn.140003c40
mov dx, 0x5c
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140080890
test rax, rax
jne 0x14003960d
mov eax, r13d
jmp 0x140039613
sub rax, rdi
sar rax, 1
add eax, 1
mov r8d, dword [rdi - 0x10]
sub r8d, eax
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x48]
call fcn.140003710
nop
mov r15, qword [rax]
mov edx, 7
mov qword [rsp + 0x140], rdx
xor r8d, r8d
mov qword [rsp + 0x138], r8
mov word [rsp + 0x128], r8w
xor eax, eax
mov rcx, rbx
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x14003968d
call fcn.1400a1f30
mov rdx, qword [rsp + 0x140]
mov r8, qword [rsp + 0x138]
cmp rdx, rbx
jae 0x1400396ac
mov rdx, rbx
lea rcx, [rsp + 0x120]
call fcn.14000fa70
mov rdx, qword [rsp + 0x140]
jmp 0x1400396d3
test rbx, rbx
jne 0x1400396d3
mov qword [rsp + 0x138], rbx
lea rax, [rsp + 0x128]
cmp rdx, 8
cmovae rax, qword [rsp + 0x128]
mov word [rax], bx
jmp 0x140039727
test rbx, rbx
je 0x140039727
lea rcx, [rsp + 0x128]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x128]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, r15
call fcn.140080540
mov qword [rsp + 0x138], rbx
lea rax, [rsp + 0x128]
cmp qword [rsp + 0x140], 8
cmovae rax, qword [rsp + 0x128]
mov word [rdi + rax], 0
lea rdx, [rsp + 0x120]
mov rcx, r14
call fcn.140012d10
nop
cmp qword [rsp + 0x140], 8
jb 0x140039750
mov rcx, qword [rsp + 0x128]
call fcn.140067524
mov qword [rsp + 0x140], 7
mov qword [rsp + 0x138], 0
mov word [rsp + 0x128], 0
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x140039798
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsi + r12 + 0x30]
test rdx, rdx
jne 0x1400397a6
xor ecx, ecx
jmp 0x1400397b8
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x48]
call fcn.140003c40
mov dx, 0x5c
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140080890
test rax, rax
jne 0x1400397e0
mov eax, r13d
jmp 0x1400397e6
sub rax, rdi
sar rax, 1
add eax, 1
mov r8d, dword [rdi - 0x10]
sub r8d, eax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x48]
call fcn.140003710
nop
mov r15, qword [rax]
mov edx, 7
mov qword [rsp + 0x118], rdx
xor r8d, r8d
mov qword [rsp + 0x110], r8
mov word [rsp + 0x100], r8w
xor eax, eax
mov rcx, rbx
mov rdi, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x140039860
call fcn.1400a1f30
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x110]
cmp rdx, rbx
jae 0x14003987f
mov rdx, rbx
lea rcx, [rsp + 0xf8]
call fcn.14000fa70
mov rdx, qword [rsp + 0x118]
jmp 0x1400398aa
test rbx, rbx
jne 0x1400398aa
xor r15d, r15d
mov qword [rsp + 0x110], r15
lea rax, [rsp + 0x100]
cmp rdx, 8
cmovae rax, qword [rsp + 0x100]
mov word [rax], r15w
jmp 0x140039906
test rbx, rbx
je 0x140039903
lea rcx, [rsp + 0x100]
cmp rdx, 8
cmovae rcx, qword [rsp + 0x100]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, r15
call fcn.140080540
mov qword [rsp + 0x110], rbx
lea rax, [rsp + 0x100]
cmp qword [rsp + 0x118], 8
cmovae rax, qword [rsp + 0x100]
mov word [rdi + rax], 0
xor r15d, r15d
jmp 0x140039906
xor r15d, r15d
lea rdx, [rsp + 0xf8]
mov rcx, r14
call fcn.140012d10
nop
cmp qword [rsp + 0x118], 8
jb 0x14003992f
mov rcx, qword [rsp + 0x100]
call fcn.140067524
mov qword [rsp + 0x118], 7
mov qword [rsp + 0x110], r15
mov word [rsp + 0x100], 0
mov rdx, qword [rsp + 0x190]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140039971
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsi + r12 + 0x18]
test rdx, rdx
jne 0x140039984
mov ecx, r15d
or r12, 0xffffffffffffffff
jmp 0x14003999a
xor eax, eax
or r12, 0xffffffffffffffff
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov r8d, ecx
lea rcx, [rsp + 0x48]
call fcn.140003c40
mov dx, 0x5c
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140080890
test rax, rax
je 0x1400399c6
sub rax, rdi
mov r13, rax
sar r13, 1
add r13d, 1
mov r8d, dword [rdi - 0x10]
sub r8d, r13d
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x48]
call fcn.140003710
nop
mov rsi, qword [rax]
mov edx, 7
mov qword [rsp + 0xf0], rdx
mov r8, r15
mov qword [rsp + 0xe8], r15
mov word [rsp + 0xd8], 0
xor eax, eax
mov rcx, r12
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rbx, rcx
movabs rax, 0x7ffffffffffffffe
cmp rcx, rax
jbe 0x140039a42
call fcn.1400a1f30
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xe8]
cmp rdx, rbx
jae 0x140039a61
mov rdx, rbx
lea rcx, [rsp + 0xd0]
call fcn.14000fa70
mov rdx, qword [rsp + 0xf0]
jmp 0x140039a88
test rbx, rbx
jne 0x140039a88
mov qword [rsp + 0xe8], r15
lea rax, [rsp + 0xd8]
cmp rdx, 8
cmovae rax, qword [rsp + 0xd8]
mov word [rax], bx
jmp 0x140039adc
test rbx, rbx
je 0x140039adc
lea rcx, [rsp + 0xd8]
cmp rdx, 8
cmovae rcx, qword [rsp + 0xd8]
lea rdi, [rbx + rbx]
add rdx, rdx
mov r9, rdi
mov r8, rsi
call fcn.140080540
mov qword [rsp + 0xe8], rbx
lea rax, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 8
cmovae rax, qword [rsp + 0xd8]
mov word [rax + rdi], 0
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.140012d10
nop
cmp qword [rsp + 0xf0], 8
jb 0x140039b05
mov rcx, qword [rsp + 0xd8]
call fcn.140067524
mov qword [rsp + 0xf0], 7
mov qword [rsp + 0xe8], r15
mov word [rsp + 0xd8], 0
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140039b48
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov esi, dword [rsp + 0x40]
jmp 0x140039b59
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140039b7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
add r12d, 0xffffffff
test r12d, r12d
jg 0x140039bb2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x58]
jmp 0x140039bbc
add r15d, r13d
mov eax, dword [rsp + 0x50]
jmp 0x140039111
mov rdi, qword [rsp + 0x58]
jmp 0x140039bbc
mov esi, r13d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14003a876
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x14003a878
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x5e0]
call fcn.140080d50
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0xa00]
call fcn.140080d50
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x7f0]
call fcn.140080d50
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0xc10]
call fcn.140080d50
lea rcx, [rsp + 0xa00]
call fcn.140021ee0
mov r13, qword [rsp + 0x60]
mov r9, r13
lea r8, [rsp + 0xa00]
lea rdx, [0x1400a3e08]
lea rcx, [rsp + 0x7f0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rsp + 0x7f0]
lea rdx, str._s.
lea rcx, [rsp + 0x5e0]
call qword [sym.imp.USER32.dll_wsprintfW]
mov ebx, 1
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0x178], r15
mov qword [rsp + 0x180], r15
mov qword [rsp + 0x188], r15
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], r15
lea rcx, [rsp + 0x1d8]
call fcn.1400245a0
mov qword [rsp + 0x1e0], rax
mov byte [rax + 0x69], bl
mov rax, qword [rsp + 0x1e0]
mov qword [rax + 8], rax
mov rax, qword [rsp + 0x1e0]
mov qword [rax], rax
mov rax, qword [rsp + 0x1e0]
mov qword [rax + 0x10], rax
mov qword [rsp + 0x1e8], r15
lea rcx, [rsp + 0x68]
call fcn.1400123f0
lea rcx, [rsp + 0x1d8]
call fcn.1400343f0
lea rcx, [rsp + 0x170]
call fcn.1400123f0
lea rdx, [rsp + 0x1d8]
lea rcx, [rsp + 0x170]
call fcn.140037720
mov dword [rsp + 0x88], eax
mov r8, qword [rsp + 0x178]
test r8, r8
je 0x14003a535
mov rdi, qword [rsp + 0x180]
mov rcx, rdi
sub rcx, r8
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14003a535
mov rbx, r8
cmp r8, rdi
jbe 0x140039d96
call fcn.140083890
mov rdi, qword [rsp + 0x180]
mov r8, qword [rsp + 0x178]
lea rax, [rsp + 0x170]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x1a0], xmm0
or rsi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x1a0]
cmp r8, rdi
jbe 0x140039ddd
call fcn.140083890
test r12, r12
je 0x140039def
lea rax, [rsp + 0x170]
cmp r12, rax
je 0x140039df4
call fcn.140083890
cmp rbx, rdi
je 0x14003a4f7
test r12, r12
jne 0x140039e07
call fcn.140083890
cmp rbx, qword [r12 + 0x10]
jb 0x140039e13
call fcn.140083890
mov qword [rsp + 0x360], 7
mov qword [rsp + 0x358], r15
mov word [rsp + 0x348], 0
mov r9, rsi
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x340]
call fcn.1400103a0
nop
lea rdx, [rsp + 0x348]
cmp qword [rsp + 0x360], 8
cmovae rdx, qword [rsp + 0x348]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14003a4a8
mov qword [rsp + 0x260], 7
mov qword [rsp + 0x258], r15
mov word [rsp + 0x248], ax
xor eax, eax
mov rcx, rsi
mov rbx, qword [rsp + 0x60]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, rbx
lea rcx, [rsp + 0x240]
call fcn.1400105a0
nop
lea r8, [rsp + 0x240]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x1d8]
call fcn.140025750
mov rdx, rax
lea rcx, [rsp + 0x200]
mov rax, qword [rax]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdx + 0x18]
mov qword [rcx + 0x18], rax
cmp qword [rsp + 0x260], 8
jb 0x140039f15
mov rcx, qword [rsp + 0x248]
call fcn.140067524
mov rdi, qword [rsp + 0x208]
mov r13, qword [rsp + 0x200]
test r13, r13
je 0x140039f34
cmp r13, qword [rsp + 0x210]
je 0x140039f39
call fcn.140083890
cmp rdi, qword [rsp + 0x218]
je 0x14003a1e6
test r13, r13
jne 0x140039f51
call fcn.140083890
cmp rdi, qword [r13 + 8]
jne 0x140039f5c
call fcn.140083890
lea rdx, [rdi + 0x40]
mov qword [rsp + 0x310], 7
mov qword [rsp + 0x308], r15
mov word [rsp + 0x2f8], 0
mov r9, rsi
xor r8d, r8d
lea rcx, [rsp + 0x2f0]
call fcn.1400103a0
nop
mov rbx, qword [rsp + 0x70]
cmp rbx, qword [rsp + 0x78]
jbe 0x140039fa3
call fcn.140083890
lea rax, [rsp + 0x68]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], rbx
movaps xmm0, xmmword [rsp + 0x230]
movdqa xmmword [rsp + 0xa0], xmm0
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
nop
nop
mov r12, qword [rsp + 0x78]
cmp qword [rsp + 0x70], r12
jbe 0x140039ff1
call fcn.140083890
test rsi, rsi
je 0x14003a000
lea rax, [rsp + 0x68]
cmp rsi, rax
je 0x14003a005
call fcn.140083890
cmp rbx, r12
je 0x14003a0da
test rsi, rsi
jne 0x14003a018
call fcn.140083890
cmp rbx, qword [rsi + 0x10]
jb 0x14003a023
call fcn.140083890
mov qword [rsp + 0x2c0], 7
mov qword [rsp + 0x2b8], r15
mov word [rsp + 0x2a8], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x2a0]
call fcn.1400103a0
lea rdx, [rsp + 0x2a8]
cmp qword [rsp + 0x2c0], 8
cmovae rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x2f8]
cmp qword [rsp + 0x310], 8
cmovae rcx, qword [rsp + 0x2f8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14003a0c2
cmp qword [rsp + 0x2c0], 8
jb 0x14003a0ae
mov rcx, qword [rsp + 0x2a8]
call fcn.140067524
cmp rbx, qword [rsi + 0x10]
jb 0x14003a0b9
call fcn.140083890
add rbx, 0x28
jmp 0x140039fe0
cmp qword [rsp + 0x2c0], 8
jb 0x14003a0da
mov rcx, qword [rsp + 0x2a8]
call fcn.140067524
mov r12, qword [rsp + 0x78]
cmp qword [rsp + 0x70], r12
jbe 0x14003a0eb
call fcn.140083890
test rsi, rsi
je 0x14003a0fa
lea rax, [rsp + 0x68]
cmp rsi, rax
je 0x14003a0ff
call fcn.140083890
cmp rbx, r12
jne 0x14003a158
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x68]
call fcn.140012d10
nop
or rsi, 0xffffffffffffffff
jmp 0x14003a15c
or rsi, 0xffffffffffffffff
cmp qword [rsp + 0x310], 8
jb 0x14003a174
mov rcx, qword [rsp + 0x2f8]
call fcn.140067524
cmp byte [rdi + 0x69], 0
je 0x14003a184
call fcn.140083890
jmp 0x140039f25
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x14003a1b9
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x14003a1ac
nop
nop
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
je 0x14003a1a0
mov qword [rsp + 0x208], rdi
jmp 0x140039f25
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x14003a1d6
cmp rdi, qword [rax + 0x10]
jne 0x14003a1d6
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], 0
je 0x14003a1c3
mov rdi, rax
mov qword [rsp + 0x208], rax
jmp 0x140039f25
mov rbx, qword [rsp + 0x70]
cmp rbx, qword [rsp + 0x78]
jbe 0x14003a1f7
call fcn.140083890
lea rax, [rsp + 0x68]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rbx
movaps xmm0, xmmword [rsp + 0x220]
movdqa xmmword [rsp + 0xa0], xmm0
mov r13, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xa0]
nop
mov r12, qword [rsp + 0x78]
cmp qword [rsp + 0x70], r12
jbe 0x14003a241
call fcn.140083890
test rdi, rdi
je 0x14003a250
lea rax, [rsp + 0x68]
cmp rdi, rax
je 0x14003a255
call fcn.140083890
cmp r13, r12
je 0x14003a48f
test rdi, rdi
jne 0x14003a268
call fcn.140083890
cmp r13, qword [rdi + 0x10]
jb 0x14003a273
call fcn.140083890
mov qword [rsp + 0x388], 7
mov qword [rsp + 0x380], r15
mov word [rsp + 0x370], 0
or r12, 0xffffffffffffffff
mov r9, r12
xor r8d, r8d
mov rdx, r13
lea rcx, [rsp + 0x368]
call fcn.1400103a0
nop
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
jbe 0x14003a2bb
call fcn.140083890
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], rdi
movaps xmm0, xmmword [rsp + 0x1f0]
movdqa xmmword [rsp + 0xc0], xmm0
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
nop
mov rsi, qword [r14 + 0x10]
cmp qword [r14 + 8], rsi
jbe 0x14003a2ff
call fcn.140083890
test rbx, rbx
je 0x14003a309
cmp rbx, r14
je 0x14003a30e
call fcn.140083890
cmp rdi, rsi
je 0x14003a45b
test rbx, rbx
jne 0x14003a321
call fcn.140083890
cmp rdi, qword [rbx + 0x10]
jb 0x14003a32c
call fcn.140083890
mov qword [rsp + 0x2e8], 7
mov qword [rsp + 0x2e0], r15
mov word [rsp + 0x2d0], 0
mov r9, r12
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x2c8]
call fcn.1400103a0
nop
lea rdx, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 8
cmovae rdx, qword [rsp + 0x2d0]
lea rcx, [rsp + 0x370]
cmp qword [rsp + 0x388], 8
cmovae rcx, qword [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14003a3cb
cmp qword [rsp + 0x2e8], 8
jb 0x14003a3b7
mov rcx, qword [rsp + 0x2d0]
call fcn.140067524
cmp rdi, qword [rbx + 0x10]
jb 0x14003a3c2
call fcn.140083890
add rdi, 0x28
jmp 0x14003a2f0
mov rsi, qword [r14 + 0x10]
lea rbx, [rdi + 0x28]
cmp rbx, rsi
je 0x14003a3fb
sub rdi, rbx
nop
nop
lea rcx, [rdi + rbx]
mov r9, r12
xor r8d, r8d
mov rdx, rbx
call fcn.1400103a0
add rbx, 0x28
cmp rbx, rsi
jne 0x14003a3e0
mov rbx, qword [r14 + 0x10]
lea rdi, [rbx - 0x28]
cmp rdi, rbx
je 0x14003a43d
add rdi, 0x20
nop
cmp qword [rdi], 8
jb 0x14003a41f
mov rcx, qword [rdi - 0x18]
call fcn.140067524
mov qword [rdi], 7
mov qword [rdi - 8], r15
mov word [rdi - 0x18], 0
add rdi, 0x28
lea rax, [rdi - 0x20]
cmp rax, rbx
jne 0x14003a410
add qword [r14 + 0x10], 0xffffffffffffffd8
cmp qword [rsp + 0x2e8], 8
jb 0x14003a45b
mov rcx, qword [rsp + 0x2d0]
call fcn.140067524
nop
cmp qword [rsp + 0x388], 8
jb 0x14003a473
mov rcx, qword [rsp + 0x370]
call fcn.140067524
mov rdi, qword [rsp + 0xa0]
cmp r13, qword [rdi + 0x10]
jb 0x14003a486
call fcn.140083890
add r13, 0x28
jmp 0x14003a230
or rsi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x60]
cmp qword [rsp + 0x360], 8
jb 0x14003a4c0
mov rcx, qword [rsp + 0x348]
call fcn.140067524
test r12, r12
jne 0x14003a4ca
call fcn.140083890
cmp rbx, qword [r12 + 0x10]
jb 0x14003a4d6
call fcn.140083890
add rbx, 0x28
mov qword [rsp + 0x1a8], rbx
mov rdi, qword [rsp + 0x180]
mov r8, qword [rsp + 0x178]
jmp 0x140039dd3
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x14003a526
mov rcx, qword [rsp + 0x78]
sub rcx, rbx
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x14003a543
cmp dword [rsp + 0x88], 1
jne 0x14003a549
mov ebx, r15d
jmp 0x14003a54d
cmp dword [rsp + 0x88], 1
cmove ebx, r15d
jmp 0x14003a54d
mov ebx, dword [rsp + 0x58]
jmp 0x14003a54d
mov ebx, dword [rsp + 0x58]
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x5e0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14003a789
cmp dword [rsp + 0x48], 0
je 0x14003a77a
movsxd r13, ebx
nop
lea r9, [rsp + 0x3bc]
lea r8, [rsp + 0x7f0]
lea rdx, [0x1400a3e08]
lea rcx, [rsp + 0x5e0]
call qword [sym.imp.USER32.dll_wsprintfW]
cmp r13, 1
jne 0x14003a735
lea r9, [rsp + 0x3bc]
lea r8, [rsp + 0xa00]
lea rdx, str._s3_s
lea rcx, [rsp + 0xc10]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0xc10]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14003a609
lea rcx, [rsp + 0x5e0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14003a755
mov esi, r15d
mov dword [rsp + 0x40], r15d
jmp 0x14003a75f
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
jbe 0x14003a618
call fcn.140083890
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], rdi
movaps xmm0, xmmword [rsp + 0x1f0]
movdqa xmmword [rsp + 0xc0], xmm0
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
nop
nop
mov rsi, qword [r14 + 0x10]
cmp qword [r14 + 8], rsi
jbe 0x14003a65f
call fcn.140083890
test rbx, rbx
je 0x14003a669
cmp rbx, r14
je 0x14003a66e
call fcn.140083890
cmp rdi, rsi
je 0x14003a75b
test rbx, rbx
jne 0x14003a681
call fcn.140083890
cmp rdi, qword [rbx + 0x10]
jb 0x14003a68c
call fcn.140083890
mov qword [rsp + 0x338], 7
mov qword [rsp + 0x330], r15
mov word [rsp + 0x320], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x318]
call fcn.1400103a0
lea rcx, [rsp + 0x320]
cmp qword [rsp + 0x338], 8
cmovae rcx, qword [rsp + 0x320]
lea rdx, [rsp + 0x3bc]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14003a709
lea rcx, [rsp + 0x5e0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [rsp + 0x40]
test eax, eax
cmove ecx, r15d
mov dword [rsp + 0x40], ecx
cmp qword [rsp + 0x338], 8
jb 0x14003a721
mov rcx, qword [rsp + 0x320]
call fcn.140067524
cmp rdi, qword [rbx + 0x10]
jb 0x14003a72c
call fcn.140083890
add rdi, 0x28
jmp 0x14003a650
lea rcx, [rsp + 0x5e0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, dword [rsp + 0x40]
test eax, eax
cmove edi, r15d
mov dword [rsp + 0x40], edi
mov esi, edi
jmp 0x14003a75f
mov esi, dword [rsp + 0x40]
jmp 0x14003a75f
mov esi, dword [rsp + 0x40]
lea rdx, [rsp + 0x390]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14003a580
jmp 0x14003a77e
mov esi, dword [rsp + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x14003a78e
mov esi, 1
lea rcx, [rsp + 0x7f0]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
lea rcx, [rsp + 0x1d8]
call fcn.140036350
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14003a807
mov rbx, qword [rsp + 0x78]
cmp rcx, rbx
je 0x14003a802
lea rdi, [rcx + 0x20]
nop
nop
cmp qword [rdi], 8
jb 0x14003a7df
mov rcx, qword [rdi - 0x18]
call fcn.140067524
mov qword [rdi], 7
mov qword [rdi - 8], r15
mov word [rdi - 0x18], 0
add rdi, 0x28
lea rax, [rdi - 0x20]
cmp rax, rbx
jne 0x14003a7d0
mov rcx, qword [rsp + 0x70]
call fcn.140067524
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], r15
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x14003a876
mov rbx, qword [rsp + 0x180]
cmp rcx, rbx
je 0x14003a86c
lea rdi, [rcx + 0x20]
cmp qword [rdi], 8
jb 0x14003a846
mov rcx, qword [rdi - 0x18]
call fcn.140067524
mov qword [rdi], 7
mov qword [rdi - 8], r15
mov word [rdi - 0x18], 0
add rdi, 0x28
lea rcx, [rdi - 0x20]
cmp rcx, rbx
jne 0x14003a837
mov rcx, qword [rsp + 0x178]
call fcn.140067524
jmp 0x14003a876
mov esi, r13d
mov eax, esi
mov rcx, qword [rsp + 0xe20]
xor rcx, rsp
call fcn.140081050
add rsp, 0xe30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret