Function at 0x180020c80
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x11e0]
mov eax, 0x12e0
call fcn.18007fc70
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x1330], rbx
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rbp + 0x11d0], rax
mov rax, rdx
mov r12, rcx
xor esi, esi
mov qword [rcx + 0x200], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x180021c4e
xor eax, eax
mov qword [rbp + 0xc60], rax
mov word [rbp + 0xc68], ax
mov byte [rbp + 0xc6a], al
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
lea r8d, [rsi + 4]
lea rdx, [rbp + 0xc60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x40], 4
jne 0x180021c45
mov byte [rbp + 0xc64], sil
lea r8, [rsp + 0x44]
lea rdx, [0x1800a97a8]
lea rcx, [rbp + 0xc60]
call fcn.18007b890
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
movsxd r11, dword [rsp + 0x44]
movsxd rdi, dword [rsp + 0x40]
cmp r11d, edi
jne 0x180021c45
mov rax, r11
mov byte [rbp + r11 + 0xdc0], sil
cmp edi, 0xffffffff
je 0x180021c45
lea rdx, str._encry_mode_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, esi
mov ecx, esi
mov eax, esi
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x180020dfb
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180020de8
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x180020dd7
cmp ecx, 3
jl 0x180021c45
mov ebx, esi
movsxd rax, edx
cmp rax, rdi
jge 0x180020e22
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xcc0]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xcc0], sil
lea rcx, [rbp + 0xcc0]
call fcn.18007bbf0
mov r15d, eax
lea rcx, [rsp + 0x50]
call fcn.1800112e0
mov rdx, rax
mov r8, qword [rax + 0x10]
cmp r8, r8
cmp qword [rax + 0x18], 8
jb 0x180020e5a
mov rdx, qword [rax]
mov edi, 0x18
cmp r8, rdi
cmovb rdi, r8
lea rcx, str.681E_B0L3_UC27_I7QZ_H6PP
or r9, 0xffffffffffffffff
test rdi, rdi
je 0x180020e9b
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x180020e8d
add rdx, 2
add rcx, 2
dec rdi
jne 0x180020e76
jmp 0x180020e9b
mov edi, 1
cmp word [rdx], ax
cmovb edi, r9d
jmp 0x180020e9d
mov edi, esi
movsxd rax, edi
test edi, edi
jne 0x180020eb8
cmp r8, 0x18
jae 0x180020eaf
mov eax, r9d
jmp 0x180020eb8
mov eax, esi
cmp r8, 0x18
setne al
test eax, eax
sete dil
cmp qword [rsp + 0x68], 8
jb 0x180020ed0
mov rcx, qword [rsp + 0x50]
call fcn.18007a7a4
test dil, dil
je 0x180020efb
cmp r15d, 2
jne 0x180020ee3
mov r15d, 1
jmp 0x180020efb
lea rdx, [0x1800aabf8]
lea rcx, [0x1800d7100]
call fcn.180006930
jmp 0x180021c45
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov edi, eax
cmp eax, 0xffffffff
je 0x180021c45
lea rdx, str._bind_num_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
lea r8, [r12 + 0x1fc]
mov edx, edi
lea rcx, [rbp + 0xdc0]
call fcn.180022850
test eax, eax
je 0x180021c45
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
lea rdx, str._hardware_count_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, esi
mov ecx, esi
mov rax, rsi
test rdi, rdi
jle 0x180021c45
nop dword [rax]
cmp ecx, 3
je 0x180020fc4
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180020fb1
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x180020fa0
cmp ecx, 3
jl 0x180021c45
mov ebx, esi
movsxd rax, edx
cmp rax, rdi
jge 0x180020feb
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xcc0]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xcc0], 0
lea rcx, [rbp + 0xcc0]
call fcn.18007bbf0
mov r14d, eax
xor ebx, ebx
mov dword [rbp - 0x60], ebx
movzx eax, bx
lea rdi, [rbp - 0x5c]
mov ecx, 0x41
rep stosw word [rdi], ax
mov esi, ebx
test r14d, r14d
jle 0x1800211ec
nop word [rax + rax]
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
lea rdx, str._hardware_type_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov rcx, rbx
mov edx, ebx
mov rax, rdi
test edi, edi
jle 0x180021c45
nop word [rax + rax]
cmp edx, 3
je 0x1800210a2
cmp byte [rbp + rcx + 0xdc0], 9
jne 0x180021091
inc edx
inc rcx
cmp rcx, rax
jl 0x180021080
cmp edx, 3
jl 0x180021c45
mov rdi, rbx
cmp rcx, rax
jge 0x1800210c7
lea rdx, [rbp + rcx + 0xdc0]
mov rdi, rax
sub rdi, rcx
mov r8, rdi
lea rcx, [rbp + 0xcc0]
call fcn.18007abc0
mov byte [rbp + rdi + 0xcc0], 0
lea rcx, [rbp + 0xcc0]
call fcn.18007bbf0
mov dword [rbp - 0x60], eax
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
mov byte [rsp + 0x50], 0
xor eax, eax
mov qword [rsp + 0x51], rax
mov qword [rsp + 0x59], rax
mov qword [rsp + 0x61], rax
mov dword [rsp + 0x69], eax
mov word [rsp + 0x6d], ax
lea rdx, str._hardware_No_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov rax, rbx
mov ecx, ebx
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x180021167
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180021156
inc ecx
inc rax
cmp rax, rdi
jl 0x180021145
cmp ecx, 3
jl 0x180021c45
cmp rax, rdi
jge 0x180021187
lea rdx, [rbp + rax + 0xdc0]
mov rbx, rdi
sub rbx, rax
mov r8, rbx
lea rcx, [rsp + 0x50]
call fcn.18007abc0
mov byte [rsp + rbx + 0x50], 0
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
or rdi, 0xffffffffffffffff
mov r9d, edi
lea r8, [rsp + 0x50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x1800211d0
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rsp + 0x50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [r12 + 0x90]
lea rdx, [rbp - 0x60]
call fcn.18000fdb0
inc esi
cmp esi, r14d
jl 0x180021030
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
lea rdx, str._key_count_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
xor r14d, r14d
mov edx, r14d
mov ecx, r14d
mov eax, r14d
test rdi, rdi
jle 0x180021c45
nop dword [rax + rax]
cmp ecx, 3
je 0x180021264
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180021251
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x180021240
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x18002128c
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xcc0]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xcc0], r14b
lea rcx, [rbp + 0xcc0]
call fcn.18007bbf0
mov esi, eax
mov dword [rbp + 0x30], r14d
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x34]
call fcn.18007e840
mov dword [rbp + 0x434], r14d
movzx eax, r14w
lea rdi, [rbp + 0x438]
mov ecx, 0x400
rep stosw word [rdi], ax
mov edi, r14d
test esi, esi
jle 0x18002134a
nop dword [rax + rax]
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov ebx, eax
cmp eax, 0xffffffff
je 0x180021c45
lea rdx, str._unit_key_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
lea r8, [rbp + 0x30]
mov edx, ebx
lea rcx, [rbp + 0xdc0]
call fcn.180022910
test eax, eax
je 0x180021c45
lea rcx, [r12 + 0xb0]
lea rdx, [rbp + 0x30]
call fcn.18000fe50
inc edi
cmp edi, esi
jl 0x1800212e0
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
mov byte [rbp + 0xc40], r14b
xor eax, eax
mov qword [rbp + 0xc41], rax
mov qword [rbp + 0xc49], rax
mov qword [rbp + 0xc51], rax
lea rdx, str._file_create_time_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x1800213d8
cmp byte [rbp + rax + 0xdc0], 9
jne 0x1800213c5
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x1800213b4
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x180021400
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xc40]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xc40], r14b
lea rdx, [r12 + 0xd0]
lea rcx, [rbp + 0xc40]
call fcn.1800289c0
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov edi, eax
cmp eax, 0xffffffff
je 0x180021c45
lea rdx, str._main_key_id_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
lea r8, [r12 + 0x104]
mov edx, edi
lea rcx, [rbp + 0xdc0]
call fcn.180022850
test eax, eax
je 0x180021c45
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
xor eax, eax
mov qword [rbp + 0xc40], rax
mov qword [rbp + 0xc48], rax
mov qword [rbp + 0xc50], rax
mov byte [rbp + 0xc58], al
lea rdx, str._start_time_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
nop
cmp ecx, 3
je 0x180021504
cmp byte [rbp + rax + 0xdc0], 9
jne 0x1800214f1
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x1800214e0
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x18002152c
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xc40]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xc40], r14b
lea rdx, [r12 + 0x198]
lea rcx, [rbp + 0xc40]
call fcn.1800289c0
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021c45
xor eax, eax
mov qword [rbp + 0xc40], rax
mov qword [rbp + 0xc48], rax
mov qword [rbp + 0xc50], rax
mov byte [rbp + 0xc58], al
lea rdx, str._end_time_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x1800215d8
cmp byte [rbp + rax + 0xdc0], 9
jne 0x1800215c5
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x1800215b4
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x180021600
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xc40]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xc40], r14b
lea rdx, [r12 + 0x1ca]
lea rcx, [rbp + 0xc40]
call fcn.1800289c0
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
jne 0x180021649
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x180021c58
lea rdx, str._keydesc_count_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x18002169b
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180021688
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x180021677
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x1800216c3
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xcc0]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xcc0], r14b
lea rcx, [rbp + 0xcc0]
call fcn.18007bbf0
mov esi, eax
mov ebx, r14d
test eax, eax
jle 0x1800217f1
nop word [rax + rax]
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov edi, eax
cmp eax, 0xffffffff
je 0x180021c45
lea rdx, str._unit_keydesc_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
lea r8, [rbp + 0x30]
mov edx, edi
lea rcx, [rbp + 0xdc0]
call fcn.180022910
test eax, eax
je 0x180021c45
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
or rdi, 0xffffffffffffffff
mov r9d, edi
lea r8, [rbp + 0x34]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x180021787
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x438]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, [rbp + 0x34]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rax, qword [r12 + 0xb0]
cmp rax, qword [r12 + 0xb8]
je 0x1800217e7
lea rcx, [rbp + 0x438]
mov rdi, rax
sub rdi, rcx
add rdi, 0x408
nop dword [rax]
mov ecx, dword [rbp + 0x30]
cmp dword [rax], ecx
jne 0x1800217d0
lea rdx, [rbp + 0x438]
nop
movzx ecx, word [rdx]
mov word [rdx + rdi], cx
add rdx, 2
test cx, cx
jne 0x1800217c0
add rax, 0xc08
add rdi, 0xc08
cmp rax, qword [r12 + 0xb8]
jne 0x1800217b0
inc ebx
cmp ebx, esi
jl 0x1800216f0
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021639
xor eax, eax
mov qword [rbp + 0xc88], rax
mov qword [rbp + 0xc90], rax
mov qword [rbp + 0xc98], rax
mov qword [rbp + 0xca0], rax
mov qword [rbp + 0xca8], rax
mov qword [rbp + 0xcb0], rax
mov word [rbp + 0xcb8], ax
lea rdx, str._producr_key_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x180021894
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180021881
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x180021870
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x1800218bc
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xc88]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xc88], r14b
mov qword [rsp + 0x68], send
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x50], r14b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0xc88]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0xc88]
lea rcx, [rsp + 0x50]
call fcn.180004b90
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.180028d80
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x18002191d
mov rdx, qword [rax]
mov rcx, r12
sub rcx, rdx
nop word [rax + rax]
movzx eax, word [rdx]
mov word [rcx + rdx + 0x108], ax
add rdx, 2
test ax, ax
jne 0x180021930
cmp qword [rbp - 0x70], 8
jb 0x180021955
mov rcx, qword [rsp + 0x78]
call fcn.18007a7a4
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021639
lea rdx, str._version_type_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x1800219c5
cmp byte [rbp + rax + 0xdc0], 9
jne 0x1800219b2
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x1800219a1
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x1800219ed
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xcc0]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xcc0], r14b
lea rcx, [rbp + 0xcc0]
call fcn.18007bbf0
mov dword [r12 + 0x16c], eax
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180021639
mov byte [rbp + 0xc70], r14b
xor eax, eax
mov qword [rbp + 0xc71], rax
mov qword [rbp + 0xc79], rax
mov dword [rbp + 0xc81], eax
lea rdx, str._verification_code_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
mov edx, r14d
mov ecx, r14d
mov rax, r14
test rdi, rdi
jle 0x180021c45
cmp ecx, 3
je 0x180021a99
cmp byte [rbp + rax + 0xdc0], 9
jne 0x180021a86
inc ecx
inc edx
inc rax
cmp rax, rdi
jl 0x180021a75
cmp ecx, 3
jl 0x180021c45
mov ebx, r14d
movsxd rax, edx
cmp rax, rdi
jge 0x180021ac1
lea rdx, [rbp + rax + 0xdc0]
lea rcx, [rbp + 0xc70]
sub rdi, rax
mov rbx, rdi
mov r8, rdi
call fcn.18007abc0
movsxd rax, ebx
mov byte [rbp + rax + 0xc70], r14b
mov qword [rsp + 0x68], send
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x50], r14b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0xc70]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0xc70]
lea rcx, [rsp + 0x50]
call fcn.180004b90
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.180028d80
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x180021b22
mov rdx, qword [rax]
mov rcx, r12
sub rcx, rdx
nop dword [rax + rax]
movzx eax, word [rdx]
mov word [rcx + rdx + 0x170], ax
add rdx, 2
test ax, ax
jne 0x180021b30
cmp qword [rbp - 0x70], 8
jb 0x180021b55
mov rcx, qword [rsp + 0x78]
call fcn.18007a7a4
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov edi, eax
cmp eax, 0xffffffff
je 0x180021639
lea rdx, str._ver_num_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021639
mov r8, r12
mov edx, edi
lea rcx, [rbp + 0xdc0]
call fcn.180022850
test eax, eax
je 0x180021639
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov edi, eax
cmp eax, 0xffffffff
je 0x180021c45
lea rdx, str._text_copy_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
lea r8, [r12 + 0x208]
mov edx, edi
lea rcx, [rbp + 0xdc0]
call fcn.180022850
test eax, eax
je 0x180021c45
mov r8d, r15d
lea rdx, [rbp + 0xdc0]
mov rcx, r13
call fcn.180020430
mov edi, eax
cmp eax, 0xffffffff
je 0x180021c45
lea rdx, str._print_control_
lea rcx, [rbp + 0xdc0]
call fcn.18007d888
test rax, rax
je 0x180021c45
lea r8, [r12 + 0x20c]
mov edx, edi
lea rcx, [rbp + 0xdc0]
call fcn.180022850
test eax, eax
jne 0x180021639
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
call fcn.18001ff70
xor al, al
mov rcx, qword [rbp + 0x11d0]
xor rcx, rsp
call fcn.18007a7c0
mov rbx, qword [rsp + 0x1330]
add rsp, 0x12e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret