Function at 0x1400e3740
Capabilities:
Delete file

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x3c8]
sub rsp, 0x4b0
vmovaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x140119010]
xor rax, rsp
mov qword [rbp + 0x390], rax
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x40], r14d
mov rbx, qword [0x14011bfb0]
mov rax, qword [rbx + 0x3ef8]
cmp byte [rax + 0xbb], r14b
jne 0x1400e42fd
mov rbx, qword [rbx + 0x4bc0]
test rbx, rbx
je 0x1400e42fd
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Config
mov rcx, rbx
call fcn.1400535f0
movzx edi, al
test al, al
je 0x1400e37e3
movsx rcx, word [rbx + 0x70]
imul rdx, rcx, 0x2c
add rdx, qword [rbx + 8]
mov ecx, dword [rdx]
call fcn.14001cd70
test dil, dil
je 0x1400e42fd
vxorps xmm6, xmm6, xmm6
vmovss dword [rsp + 0x44], xmm6
vmovss dword [rsp + 0x48], xmm6
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, 0x80
lea rbx, [0x14011cff0]
mov r8, rbx
xor edx, edx
lea rcx, str.New_Config_Name
call fcn.140049800
vmovss dword [rsp + 0x4c], xmm6
vmovss dword [rsp + 0x50], xmm6
lea rdx, [rsp + 0x4c]
lea rcx, str.Create_Config
call fcn.140041e30
lea r15, str..config
test al, al
je 0x1400e390e
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0xb0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0xc0], xmm1
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rbx + r8], sil
jne 0x1400e3880
mov rdx, rbx
lea rcx, [rbp + 0xb0]
call fcn.1400030a0
nop
mov r8d, 7
mov rdx, r15
lea rcx, [rbp + 0xb0]
call fcn.14000bea0
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x110], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x120], xmm1
vmovups ymm0, ymmword [rax]
vmovups ymmword [rbp + 0x110], ymm0
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov esi, 0x20000
lea rcx, [rbp + 0xb0]
vzeroupper
call fcn.140002dc0
lea rcx, [rbp + 0x110]
call fcn.1400e4ae0
nop
lea rcx, [rbp + 0x110]
call fcn.140002dc0
mov rax, qword [0x14011bfb0]
mov rcx, qword [rax + 0x3ef8]
cmp byte [rcx + 0xbb], 0
jne 0x1400e3937
mov eax, dword [rcx + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.140044350
lea rdx, [0x14011d1b8]
lea rcx, [rbp + 0xd0]
call fcn.140008b90
nop
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14011d230], eax
jle 0x1400e39a7
lea rcx, [0x14011d230]
call fcn.1400ea648
cmp dword [0x14011d230], 0xffffffff
jne 0x1400e39a7
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [0x14011d218], xmm0
mov qword [0x14011d228], r14
lea rcx, [0x1400f00e0]
call fcn.1400eaa9c
lea rcx, [0x14011d230]
call fcn.1400ea5e8
mov rbx, qword [0x14011d218]
mov rdi, qword [0x14011d220]
cmp rbx, rdi
je 0x1400e39df
nop word [rax + rax]
mov rcx, rbx
call fcn.140002dc0
add rbx, 0x20
cmp rbx, rdi
jne 0x1400e39c0
mov rax, qword [0x14011d218]
mov qword [0x14011d220], rax
mov rdi, qword [rbp + 0xe0]
lea rbx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae rbx, qword [rbp + 0xd0]
call fcn.1400e9b58
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rdi
lea r8, [rbp + 0x80]
mov edx, eax
lea rcx, [rbp + 0xf0]
call fcn.14000a280
or esi, 0x18000
mov dword [rsp + 0x40], esi
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xa0]
call fcn.1400e3570
nop
lea rcx, [rbp + 0xf0]
call fcn.140002d50
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400e3a6a
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0xa8]
mov esi, dword [rsp + 0x40]
vmovups xmm0, xmmword [rbp + 0xa0]
vmovdqu xmmword [rbp + 0x30], xmm0
vmovdqu xmmword [rbp + 0x70], xmm0
test rbx, rbx
je 0x1400e3a90
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0xa8]
mov esi, dword [rsp + 0x40]
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x130], xmm1
test rbx, rbx
je 0x1400e3ad4
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400e3ad0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400e3ad0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov esi, dword [rsp + 0x40]
mov rdi, qword [rbp + 0x70]
nop dword [rax + rax]
test rdi, rdi
je 0x1400e3e80
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.1400e3150
mov rax, qword [rbp - 0x70]
mov edx, dword [rbp - 0x68]
test edx, edx
je 0x1400e3b0f
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x1400e4335
cmp eax, 2
jne 0x1400e3c60
call fcn.1400e9b58
mov qword [rbp], r15
mov qword [rbp + 8], 7
lea r8, [rbp]
mov edx, eax
lea rcx, [rbp - 0x40]
call fcn.14000a280
or esi, 0x6000
or esi, 1
mov dword [rsp + 0x40], esi
lea rcx, [rdi + 0x20]
cmp qword [rdi + 0x38], 8
jb 0x1400e3b54
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.1400e29d0
cmp rax, rdx
je 0x1400e3bac
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400e3b7f
cmp cx, 0x2f
jne 0x1400e3b88
add rax, 2
cmp rax, rdx
jne 0x1400e3b70
cmp rax, rdx
je 0x1400e3bac
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x1400e3bac
cmp cx, 0x2f
je 0x1400e3bac
mov rbx, r8
cmp rax, r8
jne 0x1400e3b90
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400ea340
cmp rbx, rax
je 0x1400e3bf7
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x1400e3bf7
cmp word [rdx], 0x2e
jne 0x1400e3bdf
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x1400e3bfa
cmp word [rcx], 0x2e
jne 0x1400e3bfa
jmp 0x1400e3bf7
sub rdx, 2
cmp rbx, rdx
je 0x1400e3bf7
cmp word [rdx], 0x2e
je 0x1400e3bfa
sub rdx, 2
cmp rbx, rdx
jne 0x1400e3be8
mov rdx, rax
sub rax, rdx
sar rax, 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
mov r8, rax
lea rcx, [rbp - 0x60]
call fcn.14000c470
or esi, 0x1c02
mov dword [rsp + 0x40], esi
lea rax, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rax, qword [rbp - 0x40]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x18], rax
vmovups xmm0, xmmword [rbp + 0x10]
vmovdqa xmmword [rbp + 0x40], xmm0
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.1400e2d00
test eax, eax
jne 0x1400e3c60
mov bl, 1
jmp 0x1400e3c62
xor bl, bl
test sil, 2
je 0x1400e3c79
and esi, 0xfffffffd
mov dword [rsp + 0x40], esi
lea rcx, [rbp - 0x60]
call fcn.140002d50
nop
test sil, 1
je 0x1400e3c8f
and esi, 0xfffffffe
mov dword [rsp + 0x40], esi
lea rcx, [rbp - 0x40]
call fcn.140002d50
test bl, bl
je 0x1400e3dd0
lea rcx, [rdi + 0x20]
cmp qword [rdi + 0x38], 8
jb 0x1400e3ca6
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x30]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.1400e29d0
cmp rax, r11
je 0x1400e3cfb
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400e3ccf
cmp cx, 0x2f
jne 0x1400e3cd8
add rax, 2
cmp rax, r11
jne 0x1400e3cc0
cmp rax, r11
je 0x1400e3cfb
nop dword [rax]
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1400e3cfb
cmp cx, 0x2f
je 0x1400e3cfb
mov r10, rdx
cmp rax, rdx
jne 0x1400e3ce0
sub r11, r10
sar r11, 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], r14
mov r8, r11
mov rdx, r10
lea rcx, [rsp + 0x70]
call fcn.14000c470
or esi, 0x380
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rax, qword [rsp + 0x70]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x28], rax
call fcn.1400e9b58
vmovups xmm0, xmmword [rbp + 0x20]
vmovdqa xmmword [rbp + 0x50], xmm0
lea r8, [rbp + 0x50]
mov edx, eax
lea rcx, [rbp - 0x20]
call fcn.1400e4590
or esi, 0x70
mov dword [rsp + 0x40], esi
mov rdx, qword [0x14011d220]
cmp rdx, qword [0x14011d228]
je 0x1400e3dad
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], r14
vmovups ymm0, ymmword [rbp - 0x20]
vmovups ymmword [rdx], ymm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
add qword [0x14011d220], 0x20
jmp 0x1400e3db7
lea r8, [rbp - 0x20]
call fcn.1400e4700
nop
lea rcx, [rbp - 0x20]
vzeroupper
call fcn.140002dc0
nop
lea rcx, [rsp + 0x70]
call fcn.140002d50
nop
lea rdx, [rbp + 0x140]
mov rcx, qword [rdi + 0x40]
call fcn.1400e9e30
cmp eax, 0x12
je 0x1400e3e27
test eax, eax
jne 0x1400e4346
cmp word [rbp + 0x16c], 0x2e
jne 0x1400e3e13
movzx eax, word [rbp + 0x16e]
test ax, ax
je 0x1400e3dd0
cmp ax, 0x2e
jne 0x1400e3e13
cmp word [rbp + 0x170], 0
je 0x1400e3dd0
lea rdx, [rbp + 0x140]
mov rcx, rdi
call fcn.1400e3420
jmp 0x1400e3ae0
mov rdi, r14
mov qword [rbp + 0x70], r14
mov rbx, qword [rbp + 0x78]
mov qword [rbp + 0x78], r14
test rbx, rbx
je 0x1400e3ae0
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400e3e65
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
je 0x1400e3e6e
mov esi, dword [rsp + 0x40]
jmp 0x1400e3ad4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov esi, dword [rsp + 0x40]
jmp 0x1400e3ad4
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x1400e3ebe
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400e3ebe
mov rbx, qword [rbp + 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400e3ebe
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400e3ef9
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400e3ef9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400e3ef9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov ebx, r14d
mov rax, qword [0x14011d220]
mov r8, qword [0x14011d218]
sub rax, r8
sar rax, 5
mov edx, dword [0x1401190c0]
test rax, rax
je 0x1400e3f81
vmovss dword [rsp + 0x4c], xmm6
vmovss dword [rsp + 0x50], xmm6
mov rdi, r14
nop dword [rax + rax]
cmp edx, ebx
sete dl
lea rcx, [rdi + r8]
cmp qword [rcx + 0x18], 0x10
jb 0x1400e3f43
mov rcx, qword [rcx]
lea r9, [rsp + 0x4c]
call fcn.140051180
mov edx, dword [0x1401190c0]
test al, al
cmovne edx, ebx
mov dword [0x1401190c0], edx
inc ebx
add rdi, 0x20
mov rcx, qword [0x14011d220]
mov r8, qword [0x14011d218]
sub rcx, r8
sar rcx, 5
movsxd rax, ebx
cmp rax, rcx
jb 0x1400e3f30
cmp edx, 0xffffffff
je 0x1400e3fa6
movsxd rdx, edx
shl rdx, 5
add rdx, r8
cmp qword [rdx + 0x18], 0x10
jb 0x1400e3f9a
mov rdx, qword [rdx]
lea rcx, str.Selected_Config:__s
call fcn.140041370
vmovss dword [rsp + 0x44], xmm6
vmovss dword [rsp + 0x48], xmm6
lea rdx, [rsp + 0x44]
lea rcx, str.Load_Selected
call fcn.140041e30
test al, al
je 0x1400e401c
movsxd rcx, dword [0x1401190c0]
test ecx, ecx
js 0x1400e401c
mov rax, qword [0x14011d220]
mov r8, qword [0x14011d218]
sub rax, r8
sar rax, 5
mov rdx, rcx
cmp rcx, rax
jae 0x1400e401c
shl rdx, 5
add rdx, r8
lea rcx, [rbp + 0xf0]
call fcn.140008b90
nop
lea rcx, [rbp + 0xf0]
call fcn.1400e5bd0
nop
lea rcx, [rbp + 0xf0]
call fcn.140002dc0
vmovss dword [rsp + 0x68], xmm6
vmovss dword [rsp + 0x6c], xmm6
lea rdx, [rsp + 0x68]
lea rcx, str.Save_Selected
call fcn.140041e30
test al, al
je 0x1400e4092
movsxd rcx, dword [0x1401190c0]
test ecx, ecx
js 0x1400e4092
mov rax, qword [0x14011d220]
mov r8, qword [0x14011d218]
sub rax, r8
sar rax, 5
mov rdx, rcx
cmp rcx, rax
jae 0x1400e4092
shl rdx, 5
add rdx, r8
lea rcx, [rbp + 0x110]
call fcn.140008b90
nop
lea rcx, [rbp + 0x110]
call fcn.1400e4ae0
nop
lea rcx, [rbp + 0x110]
call fcn.140002dc0
mov rax, qword [0x14011bfb0]
mov rcx, qword [rax + 0x3ef8]
cmp byte [rcx + 0xbb], 0
jne 0x1400e40bb
mov eax, dword [rcx + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.140044350
vmovss dword [rbp + 0x80], xmm6
vmovss dword [rbp + 0x84], xmm6
lea rdx, [rbp + 0x80]
lea rcx, str.Delete_Selected
call fcn.140041e30
test al, al
je 0x1400e4288
movsxd rcx, dword [0x1401190c0]
test ecx, ecx
js 0x1400e4288
mov rax, qword [0x14011d220]
mov r8, qword [0x14011d218]
sub rax, r8
sar rax, 5
mov rdx, rcx
cmp rcx, rax
jae 0x1400e4288
shl rdx, 5
add rdx, r8
lea rcx, [rbp + 0xb0]
call fcn.140008b90
nop
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0xe0]
sub rax, rcx
cmp rax, 1
jb 0x1400e432f
lea r9, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0x10
cmovae r9, qword [rbp + 0xd0]
mov qword [rsp + 0x30], 1
lea rax, [0x1401021b8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xf0]
call fcn.14005bbf0
nop
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0x10
cmovae rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xc0]
lea rcx, [rbp + 0xf0]
call fcn.14000bea0
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x80], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rbp + 0x90], xmm1
vmovups ymm0, ymmword [rax]
vmovups ymmword [rbp + 0x80], ymm0
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp + 0xf0]
vzeroupper
call fcn.140002dc0
lea rcx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rcx, qword [rbp + 0x80]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
test eax, eax
jne 0x1400e426f
movsxd rdi, dword [0x1401190c0]
shl rdi, 5
add rdi, qword [0x14011d218]
mov rsi, qword [0x14011d220]
lea rbx, [rdi + 0x20]
cmp rbx, rsi
je 0x1400e4254
mov rdx, rbx
mov rcx, rdi
call fcn.140008d50
add rdi, 0x20
add rbx, 0x20
cmp rbx, rsi
jne 0x1400e4235
mov rsi, qword [0x14011d220]
lea rcx, [rsi - 0x20]
call fcn.140002dc0
sub qword [0x14011d220], 0x20
mov dword [0x1401190c0], 0xffffffff
lea rcx, [rbp + 0x80]
call fcn.140002dc0
nop
lea rcx, [rbp + 0xb0]
call fcn.140002dc0
vmovss dword [rsp + 0x58], xmm6
vmovss dword [rsp + 0x5c], xmm6
lea rdx, [rsp + 0x58]
lea rcx, str.Reset_to_Default
call fcn.140041e30
test al, al
je 0x1400e42ae
call fcn.1400e4350
mov rdx, qword [0x14011bfb0]
mov rax, qword [rdx + 0x3ef8]
cmp byte [rax + 0xbb], 0
jne 0x1400e42f1
mov r8, qword [rdx + 0x4bc0]
test r8, r8
je 0x1400e42f1
movsx rax, word [r8 + 0x70]
imul rcx, rax, 0x2c
add rcx, qword [r8 + 8]
test byte [rcx + 4], 8
jne 0x1400e42f1
mov rax, qword [rdx + 0x3ef8]
dec dword [rax + 0xf0]
lea rcx, [rbp + 0xd0]
call fcn.140002dc0
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.1400ea4a0
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
vmovaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140002660
nop
lea r8, [rdi + 0x20]
lea rcx, str.directory_entry::status
call fcn.14000a880
int3
mov edx, eax
call fcn.1400e30f0
int3