Function at 0x140001290
Capabilities:
Delete file

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x348
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2b0], xmm6
mov qword [rbp + 0x2a8], 0xfffffffffffffffe
mov qword [rbp + 0x2a0], rdx
cmp qword [rcx + 0x18], 0xf
mov rdx, rcx
jbe 0x1400012d1
mov rdx, qword [rcx]
mov qword [rbp + 0x298], rcx
mov dword [rsp + 0x20], 1
lea rcx, [rbp + 0xc0]
mov r8d, 0x20
mov r9d, 0x40
call fcn.1400053e0
cmp qword [rbp + 0x150], 0
je 0x1400017c4
xorps xmm6, xmm6
movaps xmmword [rbp + 0x280], xmm6
movaps xmmword [rbp + 0x270], xmm6
lea rdx, [0x140098bb0]
lea rcx, [rbp + 0x270]
xor r8d, r8d
call fcn.140005060
movaps xmmword [rbp + 0x260], xmm6
movaps xmmword [rbp + 0x250], xmm6
call fcn.140009a60
cdqe
lea rcx, [0x140083240]
mov rax, qword [rcx + rax*8]
mov qword [rbp + 0x260], rax
call fcn.140009820
cdqe
lea rcx, [0x140083110]
mov rax, qword [rcx + rax*8]
mov qword [rbp + 0x268], rax
mov byte [rbp + 0x250], 0
lea rbx, [rbp + 0x250]
lea r13, [0x140083070]
lea r12, [0x140083218]
jmp 0x1400013a4
mov qword [rsp + 0x20], rsi
lea rcx, [rbp + 0x270]
mov rdx, rsi
call fcn.1400066b0
lea rcx, [rbp + 0xc0]
mov rdx, rbx
call fcn.140001b00
mov rsi, rax
mov rax, qword [rax]
movsxd rdi, dword [rax + 4]
call fcn.1400011d0
cdqe
lea rcx, [0x140083240]
add rdi, qword [rcx + rax*8]
mov esi, dword [rsi + rdi + 0x10]
call fcn.140008c60
cdqe
mov eax, dword [r13 + rax*4]
mov ecx, eax
and ecx, esi
mov edx, eax
xor edx, esi
add edx, ecx
mov ecx, eax
not ecx
or ecx, esi
add ecx, edx
not esi
or esi, eax
add esi, ecx
add esi, 2
call fcn.140008d10
cdqe
cmp esi, dword [r12 + rax*4]
jne 0x1400014c2
cmp qword [rbp + 0x268], 0xf
mov r9, rbx
jbe 0x14000141f
mov r9, qword [rbp + 0x250]
mov rsi, qword [rbp + 0x260]
mov r14, qword [rbp + 0x280]
mov rax, qword [rbp + 0x288]
lea rcx, [rax + rax]
sub rcx, r14
mov rdx, rax
or rdx, r14
sub rcx, rdx
mov rdx, rax
not rdx
and rdx, r14
add rdx, rcx
cmp rdx, rsi
jb 0x140001390
mov rcx, r14
and rcx, rsi
add rcx, r14
mov rdx, r14
not rdx
and rdx, rsi
add rdx, rcx
mov qword [rbp + 0x280], rdx
lea r15, [rbp + 0x270]
cmp rax, 0xf
jbe 0x140001489
mov r15, qword [rbp + 0x270]
lea rcx, [r15 + r14]
mov rdx, r9
mov r8, rsi
call fcn.14004edb0
call fcn.140009b90
cdqe
lea rcx, [0x1400831c5]
movzx eax, byte [rax + rcx]
mov rcx, r14
or rcx, rsi
add rcx, rcx
xor r14, rsi
sub rcx, r14
mov byte [r15 + rcx], al
jmp 0x1400013a4
lea rcx, [rbp + 0xd0]
call fcn.140002680
test rax, rax
jne 0x14000153a
mov rax, qword [rbp + 0xc0]
movsxd rdx, dword [rax + 4]
lea rcx, [rdx + rbp]
add rcx, 0xc0
mov ebx, dword [rbp + rdx + 0xd0]
mov eax, ebx
not eax
mov edi, eax
and edi, 2
mov esi, ebx
or esi, 0xfffffffd
add ebx, ebx
or ebx, 4
or eax, 2
add eax, esi
add eax, edi
add eax, ebx
xor ebx, ebx
cmp qword [rbp + rdx + 0x108], 0
sete bl
shl ebx, 2
mov edx, eax
not edx
and edx, ebx
mov edi, eax
or edi, ebx
not ebx
or ebx, eax
add edx, edi
add edx, 1
add edx, ebx
xor r8d, r8d
call fcn.140005db0
mov rax, qword [rbp + 0x298]
cmp qword [rax + 0x18], 0x10
mov rcx, rax
jb 0x14000154e
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x1400015bc
xorps xmm0, xmm0
movaps xmmword [rbp + 0x210], xmm0
movaps xmmword [rbp + 0x220], xmm0
mov rdx, qword [rbp + 0x2a0]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140001585
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rax]
lea rcx, [rbp + 0x210]
call fcn.140004ef0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1e0], xmm0
movaps xmmword [rbp + 0x1d0], xmm0
mov r8, qword [rbp + 0x280]
cmp qword [rbp + 0x288], 0xf
jbe 0x1400015c1
mov rdx, qword [rbp + 0x270]
jmp 0x1400015c8
jmp 0x1400017a6
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x1d0]
call fcn.140004ef0
lea r14, [rbp + 0x230]
lea rdx, [rbp + 0x1d0]
lea r8, [rbp + 0x210]
mov rcx, r14
call fcn.14000bf90
cmp qword [rbp + 0x240], 0
je 0x140001794
mov r15, qword [rbp + 0x298]
mov rsi, qword [r15 + 0x10]
call fcn.140008f50
call fcn.140009600
cdqe
lea rcx, [0x140083280]
mov rax, qword [rcx + rax*8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
cmova rcx, rax
mov rax, rcx
not rax
mov rdx, rsi
and rdx, rax
mov rdi, rsi
or rdi, rax
mov rbx, rsi
not rbx
add rbx, rax
add rbx, rdx
lea rax, [rsi + rcx]
and rcx, rsi
add rax, rdi
sub rbx, rax
lea rax, [rbx + rcx*2]
cmp rax, 7
jbe 0x140001856
cmp qword [r15 + 0x18], 0xf
mov r9, r15
jbe 0x140001678
mov r9, qword [r15]
lea rax, str..b4db4b3
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], 8
lea rdi, [rbp + 0x1f0]
mov rcx, rdi
mov r8, r15
call fcn.1400051d0
cmp qword [rbp + 0x208], 0xf
jbe 0x1400016b5
mov rdi, qword [rbp + 0x1f0]
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x48]
mov rdx, rdi
mov r8d, 0x20
mov r9d, 0x40
call fcn.140007ba0
lea rcx, [rbp + 0x1f0]
call fcn.140004dd0
mov r8, qword [rbp + 0x240]
cmp qword [rbp + 0x248], 0xf
jbe 0x1400016f9
mov r14, qword [rbp + 0x230]
lea rcx, [rbp - 0x48]
mov rdx, r14
call fcn.140007fc0
lea rcx, [rbp - 0x40]
call fcn.140002680
test rax, rax
jne 0x14000176e
mov rax, qword [rbp - 0x48]
movsxd rdx, dword [rax + 4]
lea rcx, [rdx + rbp]
add rcx, 0xffffffffffffffb8
mov ebx, dword [rbp + rdx - 0x38]
mov eax, ebx
not eax
mov edi, eax
and edi, 2
mov esi, ebx
or esi, 0xfffffffd
add ebx, ebx
or ebx, 4
or eax, 2
add eax, esi
add eax, edi
add eax, ebx
xor ebx, ebx
cmp qword [rbp + rdx], 0
sete bl
shl ebx, 2
mov edx, eax
not edx
and edx, ebx
mov edi, eax
or edi, ebx
not ebx
or ebx, eax
add edx, edi
add edx, 1
add edx, ebx
xor r8d, r8d
call fcn.140005db0
call fcn.140008bf0
cdqe
lea rdi, [0x1400831b0]
mov esi, dword [rdi + rax*4]
call fcn.140008c20
cdqe
mov edi, dword [rdi + rax*4]
lea rcx, [rbp - 0x48]
call fcn.140001bd0
jmp 0x140001796
xor edi, edi
lea rcx, [rbp + 0x230]
call fcn.140004dd0
test edi, edi
jne 0x1400017a8
xor edi, edi
lea rcx, [rbp + 0x250]
call fcn.140004dd0
lea rcx, [rbp + 0x270]
call fcn.140004dd0
test edi, edi
jne 0x1400017c6
xor esi, esi
lea rdi, [rbp + 0x170]
mov rax, qword [rbp + 0xc0]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0xc0], rcx
mov rax, qword [rbp + 0xc0]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax + 0xbc], ecx
lea rcx, [rbp + 0xd0]
call fcn.140002550
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x170], rax
mov rcx, rdi
call fcn.14003cde8
mov rcx, qword [rbp + 0x298]
call fcn.140004dd0
mov rcx, qword [rbp + 0x2a0]
call fcn.140004dd0
mov eax, esi
movaps xmm6, xmmword [rbp + 0x2b0]
add rsp, 0x348
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140004170
int3