Function at 0x100162080
Capabilities:
Delete file

Disassembly:
mov r11, rsp
push rdi
push r14
push r15
sub rsp, 0xa40
mov qword [r11 - 0x928], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov rax, qword [0x10022f440]
xor rax, rsp
mov qword [rsp + 0xa30], rax
mov r14d, edx
mov rsi, rcx
lea rax, [r11 - 0x378]
mov qword [r11 - 0x278], rax
mov qword [r11 - 0x270], 0x80
xor r15d, r15d
mov qword [r11 - 0x268], r15
lea rdx, [rcx + 0x188]
lea rcx, [r11 - 0x378]
call fcn.1001527f0
nop
lea rax, [rsp + 0x260]
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x368], 0x80
mov qword [rsp + 0x370], r15
mov rdx, qword [rsp + 0x360]
test rdx, rdx
je 0x1001621a0
lea rax, [rsp + 0x260]
cmp rdx, rax
je 0x1001621a0
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0xf8], rax
mov edi, 0x200
je 0x100162159
cmp word [rax + 4], di
jne 0x100162159
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xf8], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xd0], rcx
je 0x100162186
cmp word [rcx + 4], di
jne 0x100162186
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162196
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x360], r15
jmp 0x1001621a5
mov edi, 0x200
mov rdx, r15
mov qword [rsp + 0x370], rdx
mov eax, 0x80
mov qword [rsp + 0x368], rax
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x360], rcx
lea rbx, [0x100043748]
mov qword [rsp + 0x40], rbx
nop dword [rax]
cmp word [rbx], 0
je 0x100162235
cmp rax, rdx
jne 0x100162200
lea rcx, [rsp + 0x260]
call fcn.1000577e0
mov rdx, qword [rsp + 0x370]
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x360]
mov word [rax + rdx*2], cx
mov rdx, qword [rsp + 0x370]
inc rdx
mov qword [rsp + 0x370], rdx
add rbx, 2
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x368]
jmp 0x1001621e0
cmp rax, rdx
jne 0x10016224f
lea rcx, [rsp + 0x260]
call fcn.1000577e0
mov rdx, qword [rsp + 0x370]
mov rax, qword [rsp + 0x360]
mov word [rax + rdx*2], r15w
inc qword [rsp + 0x370]
lea rdx, [rsp + 0x260]
lea rcx, [rsp + 0x6e0]
call fcn.100152470
nop
mov rdx, qword [rsp + 0x360]
test rdx, rdx
je 0x1001622f8
lea rax, [rsp + 0x260]
cmp rdx, rax
je 0x1001622f8
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x108], rax
je 0x1001622b9
cmp word [rax + 4], di
jne 0x1001622b9
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x108], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x50], rcx
je 0x1001622e0
cmp word [rcx + 4], di
jne 0x1001622e0
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1001622f0
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x360], r15
lea rax, [rsp + 0x140]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 0x80
mov qword [rsp + 0x250], r15
mov rdx, qword [rsp + 0x240]
test rdx, rdx
je 0x10016239a
lea rax, [rsp + 0x140]
cmp rdx, rax
je 0x10016239a
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0xe0], rax
je 0x10016235b
cmp word [rax + 4], di
jne 0x10016235b
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xe0], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x60], rcx
je 0x100162382
cmp word [rcx + 4], di
jne 0x100162382
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162392
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x240], r15
lea rax, [rsp + 0x140]
mov qword [rsp + 0x240], rax
mov r8d, 0x80
mov qword [rsp + 0x248], r8
mov rdx, r15
mov qword [rsp + 0x250], rdx
mov rcx, qword [rsp + 0x7e0]
mov rbx, rcx
mov qword [rsp + 0x118], rcx
nop word [rax + rax]
mov rax, qword [rsp + 0x7f0]
lea rcx, [rcx + rax*2]
cmp rbx, rcx
je 0x10016244b
cmp r8, rdx
jne 0x10016240b
lea rcx, [rsp + 0x140]
call fcn.1000577e0
mov rdx, qword [rsp + 0x250]
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x240]
mov word [rax + rdx*2], cx
mov rdx, qword [rsp + 0x250]
inc rdx
mov qword [rsp + 0x250], rdx
add rbx, 2
mov qword [rsp + 0x118], rbx
mov rcx, qword [rsp + 0x7e0]
mov r8, qword [rsp + 0x248]
jmp 0x1001623e0
mov rcx, qword [rsi + 0x2b0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x380]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, rax
lea rcx, [rsp + 0x6e0]
call fcn.100152470
nop
mov rdx, qword [rsp + 0x480]
test rdx, rdx
je 0x1001624f0
lea rax, [rsp + 0x380]
cmp rdx, rax
je 0x1001624f0
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x70], rax
je 0x1001624ab
cmp word [rax + 4], di
jne 0x1001624ab
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xf0], rcx
je 0x1001624d8
cmp word [rcx + 4], di
jne 0x1001624d8
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1001624e8
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x480], r15
lea rax, [rsp + 0x5c0]
mov qword [rsp + 0x6c0], rax
mov qword [rsp + 0x6c8], 0x80
mov qword [rsp + 0x6d0], r15
mov rdx, qword [rsp + 0x6c0]
test rdx, rdx
je 0x100162598
lea rax, [rsp + 0x5c0]
cmp rdx, rax
je 0x100162598
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x80], rax
je 0x100162553
cmp word [rax + 4], di
jne 0x100162553
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x80], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x128], rcx
je 0x100162580
cmp word [rcx + 4], di
jne 0x100162580
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162590
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x6c0], r15
mov rdx, r15
mov qword [rsp + 0x6d0], rdx
mov eax, 0x80
mov qword [rsp + 0x6c8], rax
lea rcx, [rsp + 0x5c0]
mov qword [rsp + 0x6c0], rcx
lea rbx, [0x100045398]
mov qword [rsp + 0x90], rbx
nop
cmp word [rbx], 0
je 0x100162628
cmp rax, rdx
jne 0x1001625f0
lea rcx, [rsp + 0x5c0]
call fcn.1000577e0
mov rdx, qword [rsp + 0x6d0]
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x6c0]
mov word [rax + rdx*2], cx
mov rdx, qword [rsp + 0x6d0]
inc rdx
mov qword [rsp + 0x6d0], rdx
add rbx, 2
mov qword [rsp + 0x90], rbx
mov rax, qword [rsp + 0x6c8]
jmp 0x1001625d0
cmp rax, rdx
jne 0x100162642
lea rcx, [rsp + 0x5c0]
call fcn.1000577e0
mov rdx, qword [rsp + 0x6d0]
mov rax, qword [rsp + 0x6c0]
mov word [rax + rdx*2], r15w
inc qword [rsp + 0x6d0]
lea rdx, [rsp + 0x5c0]
lea rcx, [rsp + 0x6e0]
call fcn.100152470
nop
mov rdx, qword [rsp + 0x6c0]
test rdx, rdx
je 0x1001626f1
lea rax, [rsp + 0x5c0]
cmp rdx, rax
je 0x1001626f1
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x100], rax
je 0x1001626ac
cmp word [rax + 4], di
jne 0x1001626ac
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x100], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xa0], rcx
je 0x1001626d9
cmp word [rcx + 4], di
jne 0x1001626d9
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1001626e9
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x6c0], r15
lea rdx, [rsp + 0x800]
mov rcx, qword [rsp + 0x7e0]
call qword [sym.imp.MSVCR100.dll__wfindfirst64i32]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x100162821
mov rdx, qword [rsp + 0x240]
test rdx, rdx
je 0x100162798
lea rax, [rsp + 0x140]
cmp rdx, rax
je 0x100162798
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x120], rax
je 0x100162753
cmp word [rax + 4], di
jne 0x100162753
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x120], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xb0], rcx
je 0x100162780
cmp word [rcx + 4], di
jne 0x100162780
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xb0], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162790
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x240], r15
mov rdx, qword [rsp + 0x7e0]
test rdx, rdx
je 0x10016281c
lea rax, [rsp + 0x6e0]
cmp rdx, rax
je 0x10016281c
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x110], rax
je 0x1001627d7
cmp word [rax + 4], di
jne 0x1001627d7
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x110], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xc0], rcx
je 0x100162804
cmp word [rcx + 4], di
jne 0x100162804
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xc0], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162814
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x7e0], r15
jmp 0x100162d5c
lea rcx, [rsp + 0x20]
call qword [sym.imp.MSVCR100.dll__time64]
imul r14d, r14d, 0x15180
movsxd rax, r14d
mov rcx, qword [rsp + 0x20]
sub rcx, rax
mov qword [rsp + 0x20], rcx
nop word [rax + rax]
cmp qword [rsp + 0x818], rcx
jge 0x100162c2b
lea rax, [rsp + 0x380]
mov qword [rsp + 0x480], rax
mov qword [rsp + 0x488], 0x80
mov qword [rsp + 0x490], r15
mov rdx, qword [rsp + 0x480]
test rdx, rdx
je 0x1001628fa
lea rax, [rsp + 0x380]
cmp rdx, rax
je 0x1001628fa
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x28], rax
je 0x1001628bb
cmp word [rax + 4], di
jne 0x1001628bb
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x30], rcx
je 0x1001628e2
cmp word [rcx + 4], di
jne 0x1001628e2
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x1001628f2
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x480], r15
lea rax, [rsp + 0x380]
mov qword [rsp + 0x480], rax
mov r8d, 0x80
mov qword [rsp + 0x488], r8
mov rdx, r15
mov qword [rsp + 0x490], rdx
mov rcx, qword [rsp + 0x240]
mov rbx, rcx
mov qword [rsp + 0x38], rcx
nop word [rax + rax]
mov rax, qword [rsp + 0x250]
lea rcx, [rcx + rax*2]
cmp rbx, rcx
je 0x1001629a8
cmp r8, rdx
jne 0x10016296b
lea rcx, [rsp + 0x380]
call fcn.1000577e0
mov rdx, qword [rsp + 0x490]
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x480]
mov word [rax + rdx*2], cx
mov rdx, qword [rsp + 0x490]
inc rdx
mov qword [rsp + 0x490], rdx
add rbx, 2
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0x240]
mov r8, qword [rsp + 0x488]
jmp 0x100162940
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x5a0], rax
mov qword [rsp + 0x5a8], 0x80
mov qword [rsp + 0x5b0], r15
mov rdx, qword [rsp + 0x5a0]
test rdx, rdx
je 0x100162a44
lea rax, [rsp + 0x4a0]
cmp rdx, rax
je 0x100162a44
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x48], rax
je 0x100162a05
cmp word [rax + 4], di
jne 0x100162a05
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x58], rcx
je 0x100162a2c
cmp word [rcx + 4], di
jne 0x100162a2c
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162a3c
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x5a0], r15
mov rdx, r15
mov qword [rsp + 0x5b0], rdx
mov eax, 0x80
mov qword [rsp + 0x5a8], rax
lea rcx, [rsp + 0x4a0]
mov qword [rsp + 0x5a0], rcx
lea rbx, [rsp + 0x824]
mov qword [rsp + 0x68], rbx
nop dword [rax]
cmp word [rbx], 0
je 0x100162ad5
cmp rax, rdx
jne 0x100162aa0
lea rcx, [rsp + 0x4a0]
call fcn.1000577e0
mov rdx, qword [rsp + 0x5b0]
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x5a0]
mov word [rax + rdx*2], cx
mov rdx, qword [rsp + 0x5b0]
inc rdx
mov qword [rsp + 0x5b0], rdx
add rbx, 2
mov qword [rsp + 0x68], rbx
mov rax, qword [rsp + 0x5a8]
jmp 0x100162a80
cmp rax, rdx
jne 0x100162aef
lea rcx, [rsp + 0x4a0]
call fcn.1000577e0
mov rdx, qword [rsp + 0x5b0]
mov rax, qword [rsp + 0x5a0]
mov word [rax + rdx*2], r15w
inc qword [rsp + 0x5b0]
lea rdx, [rsp + 0x4a0]
lea rcx, [rsp + 0x380]
call fcn.100152470
nop
mov rdx, qword [rsp + 0x5a0]
test rdx, rdx
je 0x100162b98
lea rax, [rsp + 0x4a0]
cmp rdx, rax
je 0x100162b98
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x78], rax
je 0x100162b53
cmp word [rax + 4], di
jne 0x100162b53
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x78], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0x88], rcx
je 0x100162b80
cmp word [rcx + 4], di
jne 0x100162b80
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x88], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162b90
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x5a0], r15
mov rcx, qword [rsp + 0x480]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rdx, qword [rsp + 0x480]
test rdx, rdx
je 0x100162c2b
lea rax, [rsp + 0x380]
cmp rdx, rax
je 0x100162c2b
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0x98], rax
je 0x100162be6
cmp word [rax + 4], di
jne 0x100162be6
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x98], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xa8], rcx
je 0x100162c13
cmp word [rcx + 4], di
jne 0x100162c13
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xa8], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162c23
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x480], r15
lea rdx, [rsp + 0x800]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll__wfindnext64i32]
test eax, eax
jne 0x100162c4a
mov rcx, qword [rsp + 0x20]
jmp 0x100162850
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll__findclose]
nop
mov rdx, qword [rsp + 0x240]
test rdx, rdx
je 0x100162cd8
lea rax, [rsp + 0x140]
cmp rdx, rax
je 0x100162cd8
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0xb8], rax
je 0x100162c93
cmp word [rax + 4], di
jne 0x100162c93
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xb8], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xc8], rcx
je 0x100162cc0
cmp word [rcx + 4], di
jne 0x100162cc0
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162cd0
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x240], r15
mov rdx, qword [rsp + 0x7e0]
test rdx, rdx
je 0x100162d5c
lea rax, [rsp + 0x6e0]
cmp rdx, rax
je 0x100162d5c
mov rax, rdx
and rax, 0xffffffffffffe000
mov qword [rsp + 0xd8], rax
je 0x100162d17
cmp word [rax + 4], di
jne 0x100162d17
mov rax, qword [rax + 0x28]
mov qword [rsp + 0xd8], rax
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x10]
dec rcx
not rcx
and rcx, rdx
mov qword [rsp + 0xe8], rcx
je 0x100162d44
cmp word [rcx + 4], di
jne 0x100162d44
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xe8], rcx
mov rcx, qword [rcx + 8]
test byte [rcx + 0x28], 8
jne 0x100162d54
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x7e0], r15
mov rcx, qword [rsp + 0xa30]
xor rcx, rsp
call fcn.10005f420
lea r11, [rsp + 0xa40]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret