Function at 0x140017fc0
Capabilities:
Delete file
Execute command
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x140032010]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rsi, rcx
xor r14d, r14d
mov dword [rbp - 0x60], r14d
lea rcx, [0x140032d78]
call fcn.140021ea0
mov r9, rax
movzx ecx, byte [rax]
xor cl, 0x63
mov byte [rsp + 0x40], cl
xor edx, edx
mov eax, 1
mov r8, qword [0x140032d88]
div r8
movzx ecx, byte [rdx + r9]
xor cl, 0x75
mov byte [rsp + 0x41], cl
xor edx, edx
mov eax, 2
div r8
movzx eax, byte [rdx + r9]
xor al, 0x72
mov byte [rsp + 0x42], al
xor edx, edx
mov eax, 3
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6c
mov byte [rsp + 0x43], al
xor edx, edx
mov eax, 4
div r8
movzx eax, byte [rdx + r9]
xor al, 0x20
mov byte [rsp + 0x44], al
xor edx, edx
mov eax, 5
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2d
mov byte [rsp + 0x45], al
xor edx, edx
mov eax, 6
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2d
mov byte [rsp + 0x46], al
xor edx, edx
mov eax, 7
div r8
movzx eax, byte [rdx + r9]
xor al, 0x73
mov byte [rsp + 0x47], al
xor edx, edx
mov eax, 8
div r8
movzx eax, byte [rdx + r9]
xor al, 0x69
mov byte [rsp + 0x48], al
xor edx, edx
mov eax, 9
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6c
mov byte [rsp + 0x49], al
xor edx, edx
mov eax, 0xa
div r8
movzx eax, byte [rdx + r9]
xor al, 0x65
mov byte [rsp + 0x4a], al
xor edx, edx
mov eax, 0xb
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6e
mov byte [rsp + 0x4b], al
xor edx, edx
mov eax, 0xc
div r8
movzx eax, byte [rdx + r9]
xor al, 0x74
mov byte [rsp + 0x4c], al
xor edx, edx
mov eax, 0xd
div r8
movzx eax, byte [rdx + r9]
xor al, 0x20
mov byte [rsp + 0x4d], al
xor edx, edx
mov eax, 0xe
div r8
movzx eax, byte [rdx + r9]
xor al, 0x68
mov byte [rsp + 0x4e], al
xor edx, edx
mov eax, 0xf
div r8
movzx eax, byte [rdx + r9]
xor al, 0x74
mov byte [rsp + 0x4f], al
xor edx, edx
mov eax, 0x10
div r8
movzx eax, byte [rdx + r9]
xor al, 0x74
mov byte [rsp + 0x50], al
xor edx, edx
mov eax, 0x11
div r8
movzx eax, byte [rdx + r9]
xor al, 0x70
mov byte [rsp + 0x51], al
xor edx, edx
mov eax, 0x12
div r8
movzx eax, byte [rdx + r9]
xor al, 0x73
mov byte [rsp + 0x52], al
xor edx, edx
mov eax, 0x13
div r8
movzx eax, byte [rdx + r9]
xor al, 0x3a
mov byte [rsp + 0x53], al
xor edx, edx
mov eax, 0x14
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2f
mov byte [rsp + 0x54], al
xor edx, edx
mov eax, 0x15
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2f
mov byte [rsp + 0x55], al
xor edx, edx
mov eax, 0x16
div r8
movzx eax, byte [rdx + r9]
xor al, 0x72
mov byte [rsp + 0x56], al
xor edx, edx
mov eax, 0x17
div r8
movzx eax, byte [rdx + r9]
xor al, 0x65
mov byte [rsp + 0x57], al
xor edx, edx
mov eax, 0x18
div r8
movzx eax, byte [rdx + r9]
xor al, 0x63
mov byte [rsp + 0x58], al
xor edx, edx
mov eax, 0x19
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6f
mov byte [rsp + 0x59], al
xor edx, edx
mov eax, 0x1a
div r8
movzx eax, byte [rdx + r9]
xor al, 0x69
mov byte [rsp + 0x5a], al
xor edx, edx
mov eax, 0x1b
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6c
mov byte [rsp + 0x5b], al
xor edx, edx
mov eax, 0x1c
div r8
movzx eax, byte [rdx + r9]
xor al, 0x77
mov byte [rsp + 0x5c], al
xor edx, edx
mov eax, 0x1d
div r8
movzx eax, byte [rdx + r9]
xor al, 0x69
mov byte [rsp + 0x5d], al
xor edx, edx
mov eax, 0x1e
div r8
movzx eax, byte [rdx + r9]
xor al, 0x7a
mov byte [rsp + 0x5e], al
xor edx, edx
mov eax, 0x1f
div r8
movzx eax, byte [rdx + r9]
xor al, 0x61
mov byte [rsp + 0x5f], al
xor edx, edx
mov eax, 0x20
div r8
movzx eax, byte [rdx + r9]
xor al, 0x72
mov byte [rsp + 0x60], al
xor edx, edx
mov eax, 0x21
div r8
movzx eax, byte [rdx + r9]
xor al, 0x64
mov byte [rsp + 0x61], al
xor edx, edx
mov eax, 0x22
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2e
mov byte [rsp + 0x62], al
xor edx, edx
mov eax, 0x23
div r8
movzx eax, byte [rdx + r9]
xor al, 0x63
mov byte [rsp + 0x63], al
xor edx, edx
mov eax, 0x24
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6f
mov byte [rsp + 0x64], al
xor edx, edx
mov eax, 0x25
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6d
mov byte [rsp + 0x65], al
xor edx, edx
mov eax, 0x26
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2f
mov byte [rsp + 0x66], al
xor edx, edx
mov eax, 0x27
div r8
movzx eax, byte [rdx + r9]
xor al, 0x42
mov byte [rsp + 0x67], al
xor edx, edx
mov eax, 0x28
div r8
movzx eax, byte [rdx + r9]
xor al, 0x43
mov byte [rsp + 0x68], al
xor edx, edx
mov eax, 0x29
div r8
movzx eax, byte [rdx + r9]
xor al, 0x32
mov byte [rsp + 0x69], al
xor edx, edx
mov eax, 0x2a
div r8
movzx eax, byte [rdx + r9]
xor al, 0x33
mov byte [rsp + 0x6a], al
xor edx, edx
mov eax, 0x2b
div r8
movzx eax, byte [rdx + r9]
xor al, 0x66
mov byte [rsp + 0x6b], al
xor edx, edx
mov eax, 0x2c
div r8
movzx eax, byte [rdx + r9]
xor al, 0x35
mov byte [rsp + 0x6c], al
xor edx, edx
mov eax, 0x2d
div r8
movzx eax, byte [rdx + r9]
xor al, 0x35
mov byte [rsp + 0x6d], al
xor edx, edx
mov eax, 0x2e
div r8
movzx eax, byte [rdx + r9]
xor al, 0x33
mov byte [rsp + 0x6e], al
xor edx, edx
mov eax, 0x2f
div r8
movzx eax, byte [rdx + r9]
xor al, 0x36
mov byte [rsp + 0x6f], al
xor edx, edx
mov eax, 0x30
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2f
mov byte [rsp + 0x70], al
xor edx, edx
mov eax, 0x31
div r8
movzx eax, byte [rdx + r9]
xor al, 0x41
mov byte [rsp + 0x71], al
xor edx, edx
mov eax, 0x32
div r8
movzx eax, byte [rdx + r9]
xor al, 0x47
mov byte [rsp + 0x72], al
xor edx, edx
mov eax, 0x33
div r8
movzx eax, byte [rdx + r9]
xor al, 0x61
mov byte [rsp + 0x73], al
xor edx, edx
mov eax, 0x34
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6d
mov byte [rsp + 0x74], al
xor edx, edx
mov eax, 0x35
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6f
mov byte [rsp + 0x75], al
xor edx, edx
mov eax, 0x36
div r8
movzx eax, byte [rdx + r9]
xor al, 0x72
mov byte [rsp + 0x76], al
xor edx, edx
mov eax, 0x37
div r8
movzx eax, byte [rdx + r9]
xor al, 0x49
mov byte [rsp + 0x77], al
xor edx, edx
mov eax, 0x38
div r8
movzx eax, byte [rdx + r9]
xor al, 0x5a
mov byte [rsp + 0x78], al
xor edx, edx
mov eax, 0x39
div r8
movzx eax, byte [rdx + r9]
xor al, 0x57
mov byte [rsp + 0x79], al
xor edx, edx
mov eax, 0x3a
div r8
movzx eax, byte [rdx + r9]
xor al, 0x45
mov byte [rsp + 0x7a], al
xor edx, edx
mov eax, 0x3b
div r8
movzx eax, byte [rdx + r9]
xor al, 0x7a
mov byte [rsp + 0x7b], al
xor edx, edx
mov eax, 0x3c
div r8
movzx eax, byte [rdx + r9]
xor al, 0x41
mov byte [rsp + 0x7c], al
xor edx, edx
mov eax, 0x3d
div r8
movzx eax, byte [rdx + r9]
xor al, 0x51
mov byte [rsp + 0x7d], al
xor edx, edx
mov eax, 0x3e
div r8
movzx eax, byte [rdx + r9]
xor al, 0x4e
mov byte [rsp + 0x7e], al
xor edx, edx
mov eax, 0x3f
div r8
movzx eax, byte [rdx + r9]
xor al, 0x61
mov byte [rsp + 0x7f], al
xor edx, edx
mov eax, 0x40
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2e
mov byte [rbp - 0x80], al
xor edx, edx
mov eax, 0x41
div r8
movzx eax, byte [rdx + r9]
xor al, 0x65
mov byte [rbp - 0x7f], al
xor edx, edx
mov eax, 0x42
div r8
movzx eax, byte [rdx + r9]
xor al, 0x78
mov byte [rbp - 0x7e], al
xor edx, edx
mov eax, 0x43
div r8
movzx eax, byte [rdx + r9]
xor al, 0x65
mov byte [rbp - 0x7d], al
xor edx, edx
mov eax, 0x44
div r8
movzx eax, byte [rdx + r9]
xor al, 0x20
mov byte [rbp - 0x7c], al
xor edx, edx
mov eax, 0x45
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2d
mov byte [rbp - 0x7b], al
xor edx, edx
mov eax, 0x46
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6f
mov byte [rbp - 0x7a], al
xor edx, edx
mov eax, 0x47
div r8
movzx eax, byte [rdx + r9]
xor al, 0x20
mov byte [rbp - 0x79], al
xor edx, edx
mov eax, 0x48
div r8
movzx eax, byte [rdx + r9]
xor al, 0x41
mov byte [rbp - 0x78], al
xor edx, edx
mov eax, 0x49
div r8
movzx eax, byte [rdx + r9]
xor al, 0x47
mov byte [rbp - 0x77], al
xor edx, edx
mov eax, 0x4a
div r8
movzx eax, byte [rdx + r9]
xor al, 0x61
mov byte [rbp - 0x76], al
xor edx, edx
mov eax, 0x4b
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6d
mov byte [rbp - 0x75], al
xor edx, edx
mov eax, 0x4c
div r8
movzx eax, byte [rdx + r9]
xor al, 0x6f
mov byte [rbp - 0x74], al
xor edx, edx
mov eax, 0x4d
div r8
movzx eax, byte [rdx + r9]
xor al, 0x72
mov byte [rbp - 0x73], al
xor edx, edx
mov eax, 0x4e
div r8
movzx eax, byte [rdx + r9]
xor al, 0x49
mov byte [rbp - 0x72], al
xor edx, edx
mov eax, 0x4f
div r8
movzx eax, byte [rdx + r9]
xor al, 0x5a
mov byte [rbp - 0x71], al
xor edx, edx
mov eax, 0x50
div r8
movzx eax, byte [rdx + r9]
xor al, 0x57
mov byte [rbp - 0x70], al
xor edx, edx
mov eax, 0x51
div r8
movzx eax, byte [rdx + r9]
xor al, 0x45
mov byte [rbp - 0x6f], al
xor edx, edx
mov eax, 0x52
div r8
movzx eax, byte [rdx + r9]
xor al, 0x7a
mov byte [rbp - 0x6e], al
xor edx, edx
mov eax, 0x53
div r8
movzx eax, byte [rdx + r9]
xor al, 0x41
mov byte [rbp - 0x6d], al
xor edx, edx
mov eax, 0x54
div r8
movzx eax, byte [rdx + r9]
xor al, 0x51
mov byte [rbp - 0x6c], al
xor edx, edx
mov eax, 0x55
div r8
movzx eax, byte [rdx + r9]
xor al, 0x4e
mov byte [rbp - 0x6b], al
xor edx, edx
mov eax, 0x56
div r8
movzx eax, byte [rdx + r9]
xor al, 0x61
mov byte [rbp - 0x6a], al
xor edx, edx
mov eax, 0x57
div r8
movzx eax, byte [rdx + r9]
xor al, 0x2e
mov byte [rbp - 0x69], al
xor edx, edx
mov eax, 0x58
div r8
movzx eax, byte [rdx + r9]
xor al, 0x65
mov byte [rbp - 0x68], al
xor edx, edx
mov eax, 0x59
div r8
movzx eax, byte [rdx + r9]
xor al, 0x78
mov byte [rbp - 0x67], al
xor edx, edx
mov eax, 0x5a
div r8
lea rcx, [0x140032d78]
call fcn.140021c10
movzx ecx, byte [rax]
xor cl, 0x65
mov byte [rbp - 0x66], cl
mov word [rbp - 0x65], 0x100
lea rcx, [rsp + 0x40]
call fcn.14001dd00
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
test eax, eax
jne 0x140019216
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll_memset
lea rdi, [0x140032d98]
xor edx, edx
mov rcx, qword [0x140032da8]
cmp qword [0x140032db0], 0x10
jb 0x140018934
mov r8, qword [0x140032d98]
movzx eax, byte [r8]
xor al, 0x41
mov byte [rsp + 0x20], al
mov eax, 1
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x47
mov byte [rsp + 0x21], al
xor edx, edx
mov eax, 2
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x61
mov byte [rsp + 0x22], al
xor edx, edx
mov eax, 3
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x6d
mov byte [rsp + 0x23], al
xor edx, edx
mov eax, 4
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x6f
mov byte [rsp + 0x24], al
xor edx, edx
mov eax, 5
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x72
mov byte [rsp + 0x25], al
xor edx, edx
mov eax, 6
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x49
mov byte [rsp + 0x26], al
xor edx, edx
mov eax, 7
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x5a
mov byte [rsp + 0x27], al
xor edx, edx
mov eax, 8
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x57
mov byte [rsp + 0x28], al
xor edx, edx
mov eax, 9
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x45
mov byte [rsp + 0x29], al
xor edx, edx
mov eax, 0xa
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x7a
mov byte [rsp + 0x2a], al
xor edx, edx
mov eax, 0xb
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x41
mov byte [rsp + 0x2b], al
xor edx, edx
mov eax, 0xc
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x51
mov byte [rsp + 0x2c], al
xor edx, edx
mov eax, 0xd
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x4e
mov byte [rsp + 0x2d], al
xor edx, edx
mov eax, 0xe
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x61
mov byte [rsp + 0x2e], al
xor edx, edx
mov eax, 0xf
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x2e
mov byte [rsp + 0x2f], al
xor edx, edx
mov eax, 0x10
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x65
mov byte [rsp + 0x30], al
xor edx, edx
mov eax, 0x11
div rcx
movzx eax, byte [rdx + r8]
jmp 0x140018a90
movzx eax, byte [0x140032d98]
xor al, 0x41
mov byte [rsp + 0x20], al
mov eax, 1
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x47
mov byte [rsp + 0x21], al
xor edx, edx
mov eax, 2
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x61
mov byte [rsp + 0x22], al
xor edx, edx
mov eax, 3
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x6d
mov byte [rsp + 0x23], al
xor edx, edx
mov eax, 4
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x6f
mov byte [rsp + 0x24], al
xor edx, edx
mov eax, 5
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x72
mov byte [rsp + 0x25], al
xor edx, edx
mov eax, 6
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x49
mov byte [rsp + 0x26], al
xor edx, edx
mov eax, 7
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x5a
mov byte [rsp + 0x27], al
xor edx, edx
mov eax, 8
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x57
mov byte [rsp + 0x28], al
xor edx, edx
mov eax, 9
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x45
mov byte [rsp + 0x29], al
xor edx, edx
mov eax, 0xa
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x7a
mov byte [rsp + 0x2a], al
xor edx, edx
mov eax, 0xb
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x41
mov byte [rsp + 0x2b], al
xor edx, edx
mov eax, 0xc
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x51
mov byte [rsp + 0x2c], al
xor edx, edx
mov eax, 0xd
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x4e
mov byte [rsp + 0x2d], al
xor edx, edx
mov eax, 0xe
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x61
mov byte [rsp + 0x2e], al
xor edx, edx
mov eax, 0xf
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x2e
mov byte [rsp + 0x2f], al
xor edx, edx
mov eax, 0x10
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x65
mov byte [rsp + 0x30], al
xor edx, edx
mov eax, 0x11
div rcx
movzx eax, byte [rdx + rdi]
mov r8, rdi
xor al, 0x78
mov byte [rsp + 0x31], al
xor edx, edx
mov eax, 0x12
div rcx
movzx eax, byte [rdx + r8]
xor al, 0x65
mov byte [rsp + 0x32], al
mov word [rsp + 0x33], 0x100
lea rcx, [rsp + 0x20]
call fcn.140020540
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov r8d, 0x13
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.14000ee90
nop
lea rbx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rbx, qword [rbp - 0x40]
lea rax, [0x14002bf90]
mov qword [rbp - 0x10], rax
lea rcx, [rbp + 0xa0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rbp - 0x60], 7
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp]
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x10], r15
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x14], edx
lea rax, [rbp]
mov qword [rbp - 0x50], rax
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea r12, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp], r12
mov byte [rbp + 0x7c], 0
mov byte [rbp + 0x71], 0
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x80], r14
mov rax, qword [0x140032d70]
mov qword [rbp + 0x74], rax
mov qword [rbp + 0x68], r14
mov r8d, 0x21
mov rdx, rbx
lea rcx, [rbp]
call fcn.1400245f0
test rax, rax
jne 0x140018bc8
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x10]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x10], r15
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x14], edx
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140018c25
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018c20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140018c20
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov rax, qword [rbp - 0x10]
movsxd rax, dword [rax + 4]
test byte [rbp + rax], 6
jne 0x140018fd8
mov qword [rbp - 0x50], r14
mov word [rbp - 0x48], 1
mov rax, qword [rbp + rax + 0x38]
mov qword [rbp - 0x20], rax
test rax, rax
sete byte [rbp - 0x18]
mov byte [rbp - 0x17], 0
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm0
movaps xmm1, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm1
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400269a0
lea rcx, [rbp]
call fcn.1400224e0
test rax, rax
jne 0x140018cb2
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x10]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
xor edx, edx
mov r8, qword [0x140032da8]
cmp qword [0x140032db0], 0x10
jb 0x140018e41
mov rdi, qword [0x140032d98]
movzx ecx, byte [rdi]
xor cl, 0x41
mov byte [rsp + 0x20], cl
mov eax, 1
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x47
mov byte [rsp + 0x21], cl
xor edx, edx
mov eax, 2
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x61
mov byte [rsp + 0x22], cl
xor edx, edx
mov eax, 3
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x6d
mov byte [rsp + 0x23], cl
xor edx, edx
mov eax, 4
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x6f
mov byte [rsp + 0x24], cl
xor edx, edx
mov eax, 5
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x72
mov byte [rsp + 0x25], cl
xor edx, edx
mov eax, 6
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x49
mov byte [rsp + 0x26], cl
xor edx, edx
mov eax, 7
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x5a
mov byte [rsp + 0x27], cl
xor edx, edx
mov eax, 8
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x57
mov byte [rsp + 0x28], cl
xor edx, edx
mov eax, 9
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x45
mov byte [rsp + 0x29], cl
xor edx, edx
mov eax, 0xa
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x7a
mov byte [rsp + 0x2a], cl
xor edx, edx
mov eax, 0xb
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x41
mov byte [rsp + 0x2b], cl
xor edx, edx
mov eax, 0xc
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x51
mov byte [rsp + 0x2c], cl
xor edx, edx
mov eax, 0xd
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x4e
mov byte [rsp + 0x2d], cl
xor edx, edx
mov eax, 0xe
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x61
mov byte [rsp + 0x2e], cl
xor edx, edx
mov eax, 0xf
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x2e
mov byte [rsp + 0x2f], cl
xor edx, edx
mov eax, 0x10
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x65
mov byte [rsp + 0x30], cl
xor edx, edx
mov eax, 0x11
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x78
mov byte [rsp + 0x31], al
jmp 0x140018fa1
movzx eax, byte [0x140032d98]
xor al, 0x41
mov byte [rsp + 0x20], al
mov eax, 1
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x47
mov byte [rsp + 0x21], al
xor edx, edx
mov eax, 2
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x61
mov byte [rsp + 0x22], al
xor edx, edx
mov eax, 3
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x6d
mov byte [rsp + 0x23], al
xor edx, edx
mov eax, 4
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x6f
mov byte [rsp + 0x24], al
xor edx, edx
mov eax, 5
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x72
mov byte [rsp + 0x25], al
xor edx, edx
mov eax, 6
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x49
mov byte [rsp + 0x26], al
xor edx, edx
mov eax, 7
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x5a
mov byte [rsp + 0x27], al
xor edx, edx
mov eax, 8
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x57
mov byte [rsp + 0x28], al
xor edx, edx
mov eax, 9
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x45
mov byte [rsp + 0x29], al
xor edx, edx
mov eax, 0xa
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x7a
mov byte [rsp + 0x2a], al
xor edx, edx
mov eax, 0xb
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x41
mov byte [rsp + 0x2b], al
xor edx, edx
mov eax, 0xc
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x51
mov byte [rsp + 0x2c], al
xor edx, edx
mov eax, 0xd
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x4e
mov byte [rsp + 0x2d], al
xor edx, edx
mov eax, 0xe
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x61
mov byte [rsp + 0x2e], al
xor edx, edx
mov eax, 0xf
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x2e
mov byte [rsp + 0x2f], al
xor edx, edx
mov eax, 0x10
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x65
mov byte [rsp + 0x30], al
xor edx, edx
mov eax, 0x11
div r8
movzx ecx, byte [rdx + rdi]
xor cl, 0x78
mov byte [rsp + 0x31], cl
xor edx, edx
mov eax, 0x12
div r8
movzx eax, byte [rdx + rdi]
xor al, 0x65
mov byte [rsp + 0x32], al
mov word [rsp + 0x33], 0x100
lea rcx, [rsp + 0x20]
call fcn.140020540
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov bl, 1
jmp 0x140019188
xor edx, edx
mov rcx, qword [0x140032da8]
cmp qword [0x140032db0], 0x10
jb 0x140018ff7
mov rdi, qword [0x140032d98]
movzx eax, byte [rdi]
jmp 0x140018ffe
movzx eax, byte [0x140032d98]
xor al, 0x41
mov byte [rsp + 0x20], al
mov eax, 1
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x47
mov byte [rsp + 0x21], al
mov eax, 2
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x61
mov byte [rsp + 0x22], al
mov eax, 3
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x6d
mov byte [rsp + 0x23], al
mov eax, 4
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x6f
mov byte [rsp + 0x24], al
mov eax, 5
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x72
mov byte [rsp + 0x25], al
mov eax, 6
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x49
mov byte [rsp + 0x26], al
mov eax, 7
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x5a
mov byte [rsp + 0x27], al
mov eax, 8
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x57
mov byte [rsp + 0x28], al
mov eax, 9
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x45
mov byte [rsp + 0x29], al
mov eax, 0xa
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x7a
mov byte [rsp + 0x2a], al
mov eax, 0xb
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x41
mov byte [rsp + 0x2b], al
mov eax, 0xc
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x51
mov byte [rsp + 0x2c], al
mov eax, 0xd
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x4e
mov byte [rsp + 0x2d], al
mov eax, 0xe
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x61
mov byte [rsp + 0x2e], al
mov eax, 0xf
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x2e
mov byte [rsp + 0x2f], al
mov eax, 0x10
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x65
mov byte [rsp + 0x30], al
mov eax, 0x11
xor edx, edx
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x78
mov byte [rsp + 0x31], al
xor edx, edx
mov eax, 0x12
div rcx
movzx eax, byte [rdx + rdi]
xor al, 0x65
mov byte [rsp + 0x32], al
mov word [rsp + 0x33], 0x100
lea rcx, [rsp + 0x20]
call fcn.140020540
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
xor bl, bl
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x10], r15
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x14], edx
mov qword [rbp], r12
cmp qword [rbp + 0x80], 0
je 0x1400191e2
mov rax, qword [rbp + 0x18]
lea rcx, [rbp + 0x70]
cmp qword [rax], rcx
jne 0x1400191e2
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
mov rax, qword [rbp + 0x38]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x50]
mov dword [rax], edx
cmp byte [rbp + 0x7c], 0
je 0x1400191f1
lea rcx, [rbp]
call fcn.1400224e0
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx eax, bl
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.140027490
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret