Function at 0x140010980
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x960
mov rax, qword [0x140085db8]
xor rax, rsp
mov qword [rsp + 0x950], rax
mov rbx, rdx
mov qword [rsp + 0x198], rdx
mov dword [rsp + 0x128], ecx
xor edx, edx
mov r8d, 0x98
lea rcx, [rsp + 0x6a0]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x4d0
lea rcx, [rsp + 0x1d0]
call sub.VCRUNTIME140.dll_memset
nop
mov esi, 1
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
lea ecx, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call fcn.140037198
movzx ecx, byte [0x1400a66e3]
xor edi, edi
test al, al
cmovne ecx, esi
mov byte [0x1400a66e3], cl
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call fcn.140037198
movzx ecx, byte [0x1400a66c3]
test al, al
cmovne ecx, esi
mov byte [0x1400a66c3], cl
mov edx, esi
lea rcx, [0x140010780]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
lea rax, [0x140091a5c]
mov qword [0x1400a1f88], rax
lea rdx, [0x140013da4]
lea ecx, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
lea rdx, [0x140013da4]
lea ecx, [rsi + 0xe]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov byte [0x140091981], sil
mov r14, qword [rbx]
or rsi, 0xffffffffffffffff
inc rsi
cmp word [r14 + rsi*2], di
jne 0x140010a88
add rsi, 3
lea rcx, [rsi + rsi]
call fcn.140032b3c
mov rbx, rax
lea r8, [0x140080e7c]
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov r8, r14
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
lea r8, [0x140080e7c]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
mov qword [0x1400919f8], rbx
mov r12d, 0x3f
mov dword [rsp + 0x170], r12d
mov dword [rsp + 0x114], edi
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x108], rdi
lea r8, [0x1400806b8]
xor edx, edx
lea rcx, [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
mov rbx, qword [rsp + 0x108]
test rbx, rbx
je 0x140010d54
mov ecx, 0x1f8
call fcn.140032af0
mov r13, rax
mov qword [rsp + 0x130], rax
mov r14, rax
mov qword [rsp + 0x178], rax
mov rcx, rbx
call fcn.140032b9c
mov rbx, rax
mov qword [rsp + 0x148], rax
test rax, rax
je 0x140011993
mov r15b, dil
mov byte [rsp + 0x110], dil
mov edx, 0x20
movabs rsi, 0x100002600
lea r8d, [rdx + 2]
lea r9d, [rdx + 0x3c]
movzx ecx, word [rbx]
test cx, cx
je 0x140010d4c
cmp cx, dx
ja 0x140010bb4
movzx eax, cx
bt rsi, rax
jae 0x140010bb4
add rbx, 2
mov qword [rsp + 0x148], rbx
movzx ecx, word [rbx]
jmp 0x140010b95
test cx, cx
je 0x140010d47
mov rsi, rbx
mov qword [rsp + 0x140], rbx
mov qword [r14], rbx
add r14, 8
mov qword [rsp + 0x178], r14
mov ecx, dword [rsp + 0x114]
lea eax, [rcx + 2]
inc ecx
mov dword [rsp + 0x114], ecx
cmp eax, r12d
jle 0x140010c5c
add r12d, r12d
mov dword [rsp + 0x170], r12d
movsxd rdx, r12d
shl rdx, 3
mov rcx, r13
call fcn.140032b70
mov r13, rax
mov qword [rsp + 0x130], rax
test rax, rax
jne 0x140010c34
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x108], rdi
jmp 0x140011132
movsxd rax, dword [rsp + 0x114]
lea r14, [rax*8]
add r14, r13
mov qword [rsp + 0x178], r14
mov edx, 0x20
lea r8d, [rdx + 2]
lea r9d, [rdx + 0x3c]
movzx eax, word [rbx]
test ax, ax
je 0x140010d3a
cmp ax, dx
je 0x140010c73
cmp ax, 9
jne 0x140010c7c
test r15b, r15b
je 0x140010d29
movzx ecx, ax
cmp ecx, 0xa
je 0x140010d1f
cmp ecx, 0xd
je 0x140010d1f
cmp ecx, r8d
je 0x140010cff
lea rcx, [rsi + 2]
cmp ax, r9w
je 0x140010cb0
mov word [rsi], ax
mov rsi, rcx
mov qword [rsp + 0x140], rcx
jmp 0x140010d0e
add rbx, 2
mov qword [rsp + 0x148], rbx
cmp word [rbx], r8w
jne 0x140010cc8
mov word [rsi], r8w
jmp 0x140010ca3
mov word [rsi], r9w
mov rsi, rcx
mov qword [rsp + 0x140], rcx
movzx eax, word [rbx]
test ax, ax
je 0x140010cfa
cmp ax, dx
jne 0x140010ce9
test r15b, r15b
je 0x140010cfa
mov word [rcx], ax
add rsi, 2
mov qword [rsp + 0x140], rsi
jmp 0x140010d0e
jmp 0x140010c5f
test r15b, r15b
sete r15b
mov byte [rsp + 0x110], r15b
add rbx, 2
mov qword [rsp + 0x148], rbx
jmp 0x140010c5c
mov word [rbx], dx
mov eax, edx
jmp 0x140010c5f
test ax, ax
je 0x140010d3a
add rbx, 2
mov qword [rsp + 0x148], rbx
mov word [rsi], di
movabs rsi, 0x100002600
jmp 0x140010b89
mov qword [r14], rdi
jmp 0x140011154
movabs rsi, 0x100002600
mov dword [rsp + 0x124], 0x3f
mov r13d, edi
mov dword [rsp + 0x174], edi
mov r14, rdi
mov qword [rsp + 0x180], rdi
lea r8, str._ML_
xor edx, edx
lea rcx, [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
mov rbx, qword [rsp + 0x108]
test rbx, rbx
je 0x140010fc4
mov ecx, 0x1f8
call fcn.140032af0
mov r14, rax
mov qword [rsp + 0x180], rax
mov r15, rax
mov qword [rsp + 0x188], rax
mov rcx, rbx
call fcn.140032b9c
mov rbx, rax
mov qword [rsp + 0x158], rax
test rax, rax
je 0x1400119a7
mov r12b, dil
mov byte [rsp + 0x111], dil
movzx ecx, word [rbx]
test cx, cx
je 0x140010fab
mov edx, 0x20
cmp cx, dx
ja 0x140010e1d
movzx eax, cx
bt rsi, rax
jae 0x140010e1d
add rbx, 2
mov qword [rsp + 0x158], rbx
movzx ecx, word [rbx]
jmp 0x140010dfe
test cx, cx
je 0x140010fa6
mov rsi, rbx
mov qword [rsp + 0x150], rbx
mov qword [r15], rbx
add r15, 8
mov qword [rsp + 0x188], r15
lea eax, [r13 + 2]
inc r13d
mov dword [rsp + 0x174], r13d
mov ecx, dword [rsp + 0x124]
cmp eax, ecx
jle 0x140010eb1
add ecx, ecx
mov dword [rsp + 0x124], ecx
movsxd rdx, ecx
shl rdx, 3
mov rcx, r14
call fcn.140032b70
mov r14, rax
mov qword [rsp + 0x180], rax
test rax, rax
jne 0x140010e9d
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x108], rdi
jmp 0x140011132
movsxd rax, r13d
lea r15, [r14 + rax*8]
mov qword [rsp + 0x188], r15
mov edx, 0x20
mov r8d, 0x22
lea r9d, [r8 + 0x3a]
movzx eax, word [rbx]
test ax, ax
je 0x140010f99
cmp ax, dx
je 0x140010ed2
cmp ax, 9
jne 0x140010edb
test r12b, r12b
je 0x140010f88
movzx ecx, ax
cmp ecx, 0xa
je 0x140010f7e
cmp ecx, 0xd
je 0x140010f7e
cmp ecx, r8d
je 0x140010f5e
lea rcx, [rsi + 2]
cmp ax, r9w
je 0x140010f0f
mov word [rsi], ax
mov rsi, rcx
mov qword [rsp + 0x150], rcx
jmp 0x140010f6d
add rbx, 2
mov qword [rsp + 0x158], rbx
cmp word [rbx], r8w
jne 0x140010f27
mov word [rsi], r8w
jmp 0x140010f02
mov word [rsi], r9w
mov rsi, rcx
mov qword [rsp + 0x150], rcx
movzx eax, word [rbx]
test ax, ax
je 0x140010f59
cmp ax, dx
jne 0x140010f48
test r12b, r12b
je 0x140010f59
mov word [rcx], ax
add rsi, 2
mov qword [rsp + 0x150], rsi
jmp 0x140010f6d
jmp 0x140010ebe
test r12b, r12b
sete r12b
mov byte [rsp + 0x111], r12b
add rbx, 2
mov qword [rsp + 0x158], rbx
jmp 0x140010ebb
mov word [rbx], dx
mov eax, edx
jmp 0x140010ebe
test ax, ax
je 0x140010f99
add rbx, 2
mov qword [rsp + 0x158], rbx
mov word [rsi], di
movabs rsi, 0x100002600
jmp 0x140010ded
mov qword [r15], rdi
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x108], rdi
mov ecx, dword [rsp + 0x128]
lea r15d, [rcx + r13]
mov r12d, dword [rsp + 0x114]
add r15d, r12d
mov dword [rsp + 0x120], r15d
mov esi, edi
mov dword [rsp + 0x100], edi
mov qword [rsp + 0x138], rdi
test r12d, r12d
jg 0x1400112dd
cmp ecx, 1
jg 0x1400112dd
test r13d, r13d
jg 0x1400112dd
lea r8, str._ML_CMDFLAGS
xor edx, edx
lea rcx, [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
mov rbx, qword [rsp + 0x108]
test rbx, rbx
je 0x14001162d
movsxd rcx, r15d
shl rcx, 3
call fcn.140032af0
mov r13, rax
mov qword [rsp + 0x138], rax
mov r15, rax
mov qword [rsp + 0x190], rax
mov rcx, rbx
call fcn.140032b9c
mov rbx, rax
mov qword [rsp + 0x168], rax
test rax, rax
je 0x1400119bb
mov r12b, dil
mov byte [rsp + 0x112], dil
movzx ecx, word [rbx]
test cx, cx
je 0x140011285
mov edx, 0x20
movabs r8, 0x100002600
cmp cx, dx
ja 0x1400110b6
bt r8, rcx
jae 0x1400110b6
add rbx, 2
mov qword [rsp + 0x168], rbx
movzx ecx, word [rbx]
jmp 0x14001109a
test cx, cx
je 0x140011280
mov r14, rbx
mov qword [rsp + 0x160], rbx
mov qword [r15], rbx
add r15, 8
mov qword [rsp + 0x190], r15
lea eax, [rsi + 2]
inc esi
mov dword [rsp + 0x100], esi
mov ecx, dword [rsp + 0x120]
cmp eax, ecx
jle 0x140011193
add ecx, ecx
mov dword [rsp + 0x120], ecx
movsxd rdx, ecx
shl rdx, 3
mov rcx, r13
call fcn.140032b70
mov r13, rax
mov qword [rsp + 0x138], rax
test rax, rax
jne 0x140011178
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x108], rdi
cmp byte [0x140091a6b], dil
jne 0x140011140
call int.14001364c
mov ecx, 0x3f6
call fcn.14001b3c4
movabs rsi, 0x100002600
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x140010d5e
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x108], rdi
jmp 0x140010d5e
movsxd rax, esi
lea r15, [rax*8]
add r15, r13
mov qword [rsp + 0x190], r15
mov edx, 0x20
mov r8d, 0x22
lea r9d, [r8 + 0x3a]
movzx eax, word [rbx]
test ax, ax
je 0x14001127c
cmp ax, dx
je 0x1400111b4
cmp ax, 9
jne 0x1400111bd
test r12b, r12b
je 0x14001126b
movzx ecx, ax
cmp ecx, 0xa
je 0x140011261
cmp ecx, 0xd
je 0x140011261
cmp ecx, r8d
je 0x140011241
lea rcx, [r14 + 2]
cmp ax, r9w
je 0x1400111f2
mov word [r14], ax
mov r14, rcx
mov qword [rsp + 0x160], rcx
jmp 0x140011250
add rbx, 2
mov qword [rsp + 0x168], rbx
cmp word [rbx], r8w
jne 0x14001120a
mov word [r14], r8w
jmp 0x1400111e5
mov word [r14], r9w
mov r14, rcx
mov qword [rsp + 0x160], rcx
movzx eax, word [rbx]
test ax, ax
je 0x14001123c
cmp ax, dx
jne 0x14001122b
test r12b, r12b
je 0x14001123c
mov word [rcx], ax
add r14, 2
mov qword [rsp + 0x160], r14
jmp 0x140011250
jmp 0x1400111a0
test r12b, r12b
sete r12b
mov byte [rsp + 0x112], r12b
add rbx, 2
mov qword [rsp + 0x168], rbx
jmp 0x14001119d
mov word [rbx], dx
mov eax, edx
jmp 0x1400111a0
test ax, ax
je 0x14001127c
add rbx, 2
mov qword [rsp + 0x168], rbx
mov word [r14], di
jmp 0x14001107f
mov qword [r15], rdi
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x108], rdi
test esi, esi
je 0x1400119cf
mov byte [0x1400a6e0b], 1
lea ecx, [rsi + 5]
movsxd rdx, ecx
mov eax, 8
mul rdx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140032b3c
mov qword [0x140091a48], rax
mov rdx, r13
jmp 0x140011626
movsxd rdx, r15d
shl rdx, 3
xor ecx, ecx
call fcn.140032b70
mov r11, rax
mov qword [rsp + 0x138], rax
mov edx, edi
mov dword [rsp + 0x100], edx
mov r10d, edi
mov dword [rsp + 0x12c], edi
mov r9d, 0xfffd
mov rbx, qword [rsp + 0x130]
mov r8d, 1
cmp r10d, r12d
jge 0x140011370
movsxd rax, r10d
mov rcx, qword [rbx + rax*8]
movzx eax, word [rcx]
sub ax, 0x2d
test r9w, ax
jne 0x140011352
cmp word [rcx + 2], 0x6c
jne 0x140011352
cmp word [rcx + 4], 0x69
jne 0x140011352
cmp word [rcx + 6], 0x6e
jne 0x140011352
cmp word [rcx + 8], 0x6b
je 0x140011370
movsxd rax, edx
mov qword [r11 + rax*8], rcx
add edx, r8d
mov dword [rsp + 0x100], edx
add r10d, r8d
mov dword [rsp + 0x12c], r10d
jmp 0x14001131d
mov r9d, r8d
mov dword [rsp + 0x118], r8d
mov esi, dword [rsp + 0x128]
mov r15, qword [rsp + 0x198]
cmp r9d, esi
jge 0x1400113e9
movsxd rax, r9d
mov rcx, qword [r15 + rax*8]
movzx eax, word [rcx]
sub ax, 0x2d
mov ebx, 0xfffd
test bx, ax
mov rbx, qword [rsp + 0x130]
jne 0x1400113e9
cmp word [rcx + 2], 0x6c
jne 0x1400113cb
cmp word [rcx + 4], 0x69
jne 0x1400113cb
cmp word [rcx + 6], 0x6e
jne 0x1400113cb
cmp word [rcx + 8], 0x6b
je 0x1400113e9
movsxd rax, edx
mov qword [r11 + rax*8], rcx
add edx, r8d
mov dword [rsp + 0x100], edx
add r9d, r8d
mov dword [rsp + 0x118], r9d
jmp 0x14001138a
mov r8d, edi
mov dword [rsp + 0x11c], edi
cmp r8d, r13d
jge 0x140011453
movsxd rax, r8d
mov rcx, qword [r14 + rax*8]
movzx eax, word [rcx]
sub ax, 0x2d
mov r12d, 0xfffd
test r12w, ax
mov r12d, dword [rsp + 0x114]
jne 0x140011453
cmp word [rcx + 2], 0x6c
jne 0x140011436
cmp word [rcx + 4], 0x69
jne 0x140011436
cmp word [rcx + 6], 0x6e
jne 0x140011436
cmp word [rcx + 8], 0x6b
je 0x140011453
movsxd rax, edx
mov qword [r11 + rax*8], rcx
inc edx
mov dword [rsp + 0x100], edx
inc r8d
mov dword [rsp + 0x11c], r8d
jmp 0x1400113f3
cmp r9d, esi
jge 0x1400114b1
movsxd rax, r9d
mov rcx, qword [r15 + rax*8]
movzx eax, word [rcx]
sub ax, 0x2d
mov ebx, 0xfffd
test bx, ax
mov rbx, qword [rsp + 0x130]
jne 0x140011494
cmp word [rcx + 2], 0x6c
jne 0x140011494
cmp word [rcx + 4], 0x69
jne 0x140011494
cmp word [rcx + 6], 0x6e
jne 0x140011494
cmp word [rcx + 8], 0x6b
je 0x1400114b1
movsxd rax, edx
mov qword [r11 + rax*8], rcx
inc edx
mov dword [rsp + 0x100], edx
inc r9d
mov dword [rsp + 0x118], r9d
jmp 0x140011453
cmp r8d, r13d
jge 0x140011511
movsxd rax, r8d
mov rcx, qword [r14 + rax*8]
movzx eax, word [rcx]
sub ax, 0x2d
mov r12d, 0xfffd
test r12w, ax
mov r12d, dword [rsp + 0x114]
jne 0x1400114f4
cmp word [rcx + 2], 0x6c
jne 0x1400114f4
cmp word [rcx + 4], 0x69
jne 0x1400114f4
cmp word [rcx + 6], 0x6e
jne 0x1400114f4
cmp word [rcx + 8], 0x6b
je 0x140011511
movsxd rax, edx
mov qword [r11 + rax*8], rcx
inc edx
mov dword [rsp + 0x100], edx
inc r8d
mov dword [rsp + 0x11c], r8d
jmp 0x1400114b1
cmp r10d, r12d
jge 0x14001153a
movsxd rax, r10d
mov rcx, qword [rbx + rax*8]
movsxd rax, edx
mov qword [r11 + rax*8], rcx
inc edx
mov dword [rsp + 0x100], edx
inc r10d
mov dword [rsp + 0x12c], r10d
jmp 0x140011511
cmp r9d, esi
jge 0x140011563
movsxd rax, r9d
mov rcx, qword [r15 + rax*8]
movsxd rax, edx
mov qword [r11 + rax*8], rcx
inc edx
mov dword [rsp + 0x100], edx
inc r9d
mov dword [rsp + 0x118], r9d
jmp 0x14001153a
cmp r8d, r13d
jge 0x14001158c
movsxd rax, r8d
mov rcx, qword [r14 + rax*8]
movsxd rax, edx
mov qword [r11 + rax*8], rcx
inc edx
mov dword [rsp + 0x100], edx
inc r8d
mov dword [rsp + 0x11c], r8d
jmp 0x140011563
test rbx, rbx
je 0x14001159a
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r14, r14
je 0x1400115a8
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea r8, [rsp + 0x138]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x120]
call fcn.1400119dc
mov esi, dword [rsp + 0x100]
test esi, esi
je 0x1400119cf
lea eax, [rsi + 5]
movsxd rcx, eax
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140032b3c
mov qword [0x140091a48], rax
movsxd rdx, dword [0x1400919f4]
lea r8, str._nologo
mov qword [rax + rdx*8], r8
inc edx
mov dword [0x1400919f4], edx
add qword [0x140091a40], 8
mov rdx, qword [rsp + 0x138]
mov ecx, esi
call fcn.140012d94
test esi, esi
je 0x1400119cf
cmp byte [0x140085e4c], dil
je 0x140011689
cmp qword [0x1400919c8], rdi
jne 0x140011668
cmp byte [0x140091983], dil
jne 0x14001165e
cmp byte [0x140091a6b], dil
jne 0x14001165e
call int.14001364c
mov ecx, 0x3f9
call fcn.14001b3c4
cmp byte [0x140091980], dil
jne 0x1400116ad
cmp byte [0x140091a76], dil
jne 0x1400116ad
cmp byte [0x140091a84], dil
je 0x1400119d4
jmp 0x1400116ad
mov rcx, qword [0x140091988]
test rcx, rcx
je 0x14001169b
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
mov rcx, qword [0x1400919a0]
test rcx, rcx
je 0x1400116ad
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
cmp byte [0x140091a6b], dil
jne 0x1400116bb
call int.14001364c
jmp 0x140011959
cmp byte [0x140085e4c], dil
sete dil
mov eax, edi
mov rcx, qword [rsp + 0x950]
xor rcx, rsp
call fcn.14003f920
lea r11, [rsp + 0x960]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
xor r8d, r8d
xor edx, edx
mov ecx, 0x3ec
call fcn.14001b0f0
call fcn.140013d10
xor r8d, r8d
xor edx, edx
mov ecx, 0x3ec
call fcn.14001b0f0
call fcn.140013d10
xor r8d, r8d
xor edx, edx
mov ecx, 0x3ec
call fcn.14001b0f0
call fcn.140013d10
call fcn.1400136bc
call fcn.140013a00
nop
int3