Function at 0x140006140
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov rax, qword [0x140040080]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov rdi, rdx
xor esi, esi
mov dword [rsp + 0x40], esi
cmp ecx, 2
je 0x1400061c3
lea rdx, str.Usage:
lea rcx, [0x140041710]
call fcn.1400097e0
mov rdx, qword [rdi]
mov rcx, rax
call fcn.1400097e0
mov rcx, rax
lea rdx, str.__input_filename_
call fcn.1400097e0
mov rcx, rax
call fcn.140009aa0
lea eax, [rsi + 1]
jmp 0x14000762b
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0xe0]
call fcn.14000e330
mov rbx, qword [rdi + 8]
lea rax, [0x14003a338]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x198], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x1c0], xmm0
mov qword [rbp + 0x1d0], rsi
mov r14d, 2
mov dword [rsp + 0x40], r14d
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x190], rax
mov dword [rbp + 0x18c], 0x98
mov qword [rbp + 0xe8], rsi
xor r8d, r8d
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x190]
call fcn.140009520
nop
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xe0], rax
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0xb0]
mov dword [rbp + rcx + 0xdc], r8d
lea rcx, [rbp + 0xf0]
call fcn.1400091b0
nop
mov r12d, 1
mov r8d, r12d
mov rdx, rbx
lea rcx, [rbp + 0xf0]
call fcn.140009050
lea r13d, [r14 + 4]
test rax, rax
jne 0x1400062e0
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
mov eax, r13d
cmp qword [rbp + rcx + 0x128], 0
cmovne eax, r14d
or eax, dword [rbp + rcx + 0xf0]
and eax, 0x17
mov dword [rbp + rcx + 0xf0], eax
mov edx, dword [rbp + rcx + 0xf4]
and edx, eax
jne 0x140007679
cmp qword [rbp + 0x170], 0
jne 0x140006311
lea rdx, str.Error_opening_file.
lea rcx, [0x140041710]
call fcn.1400097e0
mov rcx, rax
call fcn.140009aa0
lea rsi, vtable.std::ios_base.0
jmp 0x1400075a5
mov rdx, qword [rdi + 8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rsi
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140006330
lea rcx, [rbp + 0x30]
call fcn.1400021f0
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x1f0]
call fcn.14000e330
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r14, qword [rbp + 0x40]
sub rax, r14
cmp rax, 8
jb 0x1400076cf
lea r15, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae r15, qword [rbp + 0x30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea rsi, [r14 + 8]
mov ebx, 0xf
lea rdi, [rsp + 0x58]
cmp rsi, rbx
jbe 0x140006422
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x1400063e4
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14000bd60
test rax, rax
je 0x1400076d5
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000641d
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14000640c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007661
jmp 0x1400063c5
test rcx, rcx
je 0x14000641b
call fcn.14000bd60
mov rdi, rax
jmp 0x14000641d
xor edi, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rbx
movabs rax, 0x2d30363168736168
mov qword [rdi], rax
lea rcx, [rdi + 8]
mov r8, r14
mov rdx, r15
call fcn.14000dc90
mov byte [rdi + rsi], 0
mov r13d, 0xa
mov dword [rsp + 0x34], r13d
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x1f0]
call fcn.1400078c0
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x1f0], rax
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x1ec], edx
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400064e3
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400064de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076db
call fcn.14000bda4
movdqa xmm0, xmmword [0x14003a370]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x300]
call fcn.14000e330
lea rdx, str.uncorrect.txt
lea rcx, [rbp + 0x300]
call fcn.1400078c0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], 0
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
movzx ebx, byte [rsp + 0x30]
movzx esi, byte [rsp + 0x30]
movzx r14d, byte [rsp + 0x30]
movzx edi, byte [rsp + 0x30]
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x120]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x48]
call fcn.1400096a0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov dl, 0xa
mov rcx, rax
call r8
movzx r15d, al
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400065b4
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x1400065b4
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, r12d
mov rcx, rax
call r8
movzx r8d, r15b
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0xe0]
call fcn.14000a600
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
jne 0x1400072ce
mov r10, qword [rbp - 0x70]
mov r11, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
cmp r8, 0x28
je 0x14000718c
cmp r8, 0x42
je 0x14000718c
cmp r8, 0x82
je 0x14000718c
lea rdx, [rsp + 0x78]
cmp r10, 0x10
setae r9b
cmovae rdx, r11
cmp r8, 2
jb 0x14000664e
mov rax, rdx
cmp byte [rax], 0x30
jne 0x14000663b
cmp byte [rax + 1], 0x78
jne 0x140006632
xor ecx, ecx
jmp 0x140006637
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140006645
cmp rax, rdx
je 0x14000664e
dec rax
jmp 0x140006623
cmp rax, rdx
je 0x14000718c
lea rax, [r8 - 0x2a]
cmp rax, 0xc
ja 0x14000666d
lea rax, [rsp + 0x78]
test r9b, r9b
cmovne rax, r11
cmp byte [rax], 0x71
jne 0x14000666d
mov al, 1
jmp 0x14000666f
xor al, al
lea rdx, [rsp + 0x78]
test al, al
je 0x1400068b3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x68]
call fcn.140005c60
nop
mov rax, qword [rbp - 0x60]
cmp qword [rbp - 0x68], rax
jne 0x140006743
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
lea rcx, [rbp + 0x300]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
lea rdx, str.uncorrect_line:
lea rcx, [0x140041460]
call fcn.1400097e0
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rax
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140006550
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006e18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007667
jmp 0x140006e18
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov byte [rsp + 0x20], 0
mov r9d, 0x28
movzx r8d, bl
mov edx, r9d
lea rcx, [rbp - 0x50]
call fcn.140009c70
lea rdi, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdi, qword [rbp - 0x50]
xor r15d, r15d
xor ecx, ecx
mov qword [rsp + 0x40], rcx
xor r12d, r12d
mov r13, qword [rbp - 0x68]
nop dword [rax + rax]
movsxd rax, r15d
cmp rax, 0x27
jae 0x1400067e1
movzx r9d, byte [r13]
lea rcx, [rax + rdi]
lea r8, str._02x
mov edx, 3
call fcn.1400029e0
inc r12d
inc r13
add r15d, 2
mov rcx, qword [rsp + 0x40]
add rcx, 2
mov qword [rsp + 0x40], rcx
cmp r12d, 0x14
jb 0x1400067a0
mov byte [rcx + rdi], 0
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x1f0]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
movzx edi, byte [rsp + 0x30]
jb 0x14000684c
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006847
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076e1
call fcn.14000bda4
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rcx, qword [rbp - 0x68]
test rcx, rcx
mov r12d, 1
mov r13d, dword [rsp + 0x34]
je 0x140006550
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400068a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007667
call fcn.14000bda4
mov r13d, dword [rsp + 0x34]
jmp 0x140006550
lea rcx, [rbp - 0x10]
call fcn.1400016a0
nop
cmp dword [rbp - 0x10], 0
jne 0x140006c88
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
xor r13d, r13d
mov qword [rbp - 0x20], r13
lea rax, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rax, qword [rsp + 0x78]
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x68]
cmp byte [rax], 0x72
jne 0x140006973
call fcn.140005980
lea rcx, [rbp - 0x30]
cmp rcx, rax
je 0x140006928
mov r15, qword [rax]
mov qword [rbp - 0x30], r15
mov r12, qword [rax + 8]
mov qword [rbp - 0x28], r12
mov r13, qword [rax + 0x10]
mov qword [rbp - 0x20], r13
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
jmp 0x140006930
mov r12, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400069fe
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006969
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076e7
call fcn.14000bda4
jmp 0x1400069fe
call fcn.140005670
lea rcx, [rbp - 0x30]
cmp rcx, rax
je 0x1400069a3
mov r15, qword [rax]
mov qword [rbp - 0x30], r15
mov r12, qword [rax + 8]
mov r13, qword [rax + 0x10]
mov qword [rbp - 0x20], r13
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
jmp 0x1400069ab
mov r12, qword [rbp - 0x28]
mov r15, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400069e5
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400069e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076ed
call fcn.14000bda4
lea rdx, [r15 + 1]
mov r8, r12
sub r8, rdx
mov rcx, r15
call fcn.14000dc90
dec r12
mov qword [rbp - 0x28], r12
cmp r15, r12
jne 0x140006b2e
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
lea rcx, [rbp + 0x300]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
lea rdx, str.uncorrect_line:
lea rcx, [0x140041460]
call fcn.1400097e0
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rax
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
test r15, r15
je 0x140006aa0
sub r13, r15
mov rax, r15
cmp r13, 0x1000
jb 0x140006a94
add r13, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076ff
mov rdx, r13
mov rcx, r15
call fcn.14000bda4
nop
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140006ada
mov rdx, qword [rbp + 0x28]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006ad5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076f3
call fcn.14000bda4
mov rdx, qword [rbp + 0x10]
cmp rdx, 0x10
mov r12d, 1
mov r13d, dword [rsp + 0x34]
jb 0x140006550
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006b1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076f3
call fcn.14000bda4
mov r13d, dword [rsp + 0x34]
jmp 0x140006550
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], bl
mov byte [rsp + 0x20], bl
mov r9d, 0x28
movzx r8d, sil
mov edx, r9d
lea rcx, [rbp - 0x50]
call fcn.140009c70
lea r14, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae r14, qword [rbp - 0x50]
mov r12d, ebx
mov edx, ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x40], ebx
mov rbx, r15
nop
movsxd rax, r12d
cmp rax, 0x27
jae 0x140006bc6
movzx r9d, byte [rbx]
lea rcx, [r14 + rax]
lea r8, str._02x
mov edx, 3
call fcn.1400029e0
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
inc rbx
add r12d, 2
mov rdx, qword [rsp + 0x38]
add rdx, 2
mov qword [rsp + 0x38], rdx
cmp ecx, 0x14
jb 0x140006b80
mov byte [r14 + rdx], 0
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x1f0]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
movzx ebx, byte [rsp + 0x30]
movzx r14d, byte [rsp + 0x30]
jb 0x140006c38
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006c33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076f9
call fcn.14000bda4
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
test r15, r15
je 0x1400070fe
sub r13, r15
mov rax, r15
cmp r13, 0x1000
jb 0x140006c7d
add r13, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400076ff
mov rdx, r13
mov rcx, r15
jmp 0x1400070f8
mov r12, qword [rbp + 0x20]
mov rax, r12
mov r15, qword [rbp + 0x18]
sub rax, r15
cmp rax, 1
jae 0x140006cf5
lea rdx, str.Invalid_witness_address_format.
lea rcx, [0x140041710]
call fcn.1400097e0
mov rcx, rax
call fcn.140009aa0
nop
test r15, r15
je 0x140006dd8
mov rdx, qword [rbp + 0x28]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x140006ced
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007705
mov rcx, r15
jmp 0x140006dd3
lea rdx, [r15 + 1]
mov r8, r12
sub r8, rdx
mov rcx, r15
call fcn.14000dc90
dec r12
mov qword [rbp + 0x20], r12
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x68]
call fcn.1400055b0
nop
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x60]
cmp rdx, r8
jne 0x140006e22
lea rdx, str.Conversion_failed.
lea rcx, [0x140041710]
call fcn.1400097e0
mov rcx, rax
call fcn.140009aa0
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140006d9e
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006d8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007711
call fcn.14000bda4
xor eax, eax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140006dd8
mov rdx, qword [rbp + 0x28]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006dd3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007705
call fcn.14000bda4
mov rdx, qword [rbp + 0x10]
mov r12d, 1
cmp rdx, 0x10
jb 0x140006550
inc rdx
mov rcx, qword [rbp - 8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140006e18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007705
call fcn.14000bda4
jmp 0x140006550
sub r8, rdx
cmp r8, 0x14
jbe 0x140006faf
xor r12d, r12d
mov qword [rbp + 0x6c], r12
mov qword [rbp + 0x74], r12
mov qword [rbp + 0x7c], r12
mov qword [rbp + 0x84], r12
mov qword [rbp + 0x8c], r12
mov qword [rbp + 0x94], r12
mov qword [rbp + 0x9c], r12
mov qword [rbp + 0xa4], r12
mov qword [rbp + 0x50], r12
mov dword [rbp + 0x58], 0x67452301
mov dword [rbp + 0x5c], 0xefcdab89
mov dword [rbp + 0x60], 0x98badcfe
mov dword [rbp + 0x64], 0x10325476
mov dword [rbp + 0x68], 0xc3d2e1f0
lea rcx, [rbp + 0x50]
call fcn.1400052b0
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x50]
call fcn.140005380
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], r12b
mov byte [rsp + 0x20], r12b
mov r9d, 0x28
movzx r8d, r14b
mov edx, r9d
lea rcx, [rsp + 0x58]
call fcn.140009c70
lea rdi, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdi, qword [rsp + 0x58]
mov r15d, r12d
mov ecx, r12d
mov qword [rsp + 0x38], rcx
lea r13, [rbp - 0x50]
movsxd rax, r15d
cmp rax, 0x27
jae 0x140006f36
movzx r9d, byte [r13]
lea rcx, [rax + rdi]
lea r8, str._02x
mov edx, 3
call fcn.1400029e0
inc r12d
inc r13
add r15d, 2
mov rcx, qword [rsp + 0x38]
add rcx, 2
mov qword [rsp + 0x38], rcx
cmp r12d, 0x14
jb 0x140006ef5
mov byte [rcx + rdi], 0
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
lea rcx, [rbp + 0x1f0]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
movzx edi, byte [rsp + 0x30]
jb 0x1400070c3
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400070bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000766d
jmp 0x1400070bd
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x20], 0
mov r9d, 0x28
movzx r8d, dil
mov edx, r9d
lea rcx, [rsp + 0x58]
call fcn.140009c70
lea rsi, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rsi, qword [rsp + 0x58]
xor r15d, r15d
xor ecx, ecx
mov qword [rsp + 0x38], rcx
xor r12d, r12d
mov r13, qword [rbp - 0x68]
nop dword [rax]
movsxd rax, r15d
cmp rax, 0x27
jae 0x140007051
movzx r9d, byte [r13]
lea rcx, [rax + rsi]
lea r8, str._02x
mov edx, 3
call fcn.1400029e0
inc r12d
inc r13
add r15d, 2
mov rcx, qword [rsp + 0x38]
add rcx, 2
mov qword [rsp + 0x38], rcx
cmp r12d, 0x14
jb 0x140007010
mov byte [rcx + rsi], 0
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
lea rcx, [rbp + 0x1f0]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
movzx esi, byte [rsp + 0x30]
jb 0x1400070c3
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400070bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000770b
call fcn.14000bda4
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400070fe
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400070f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007711
call fcn.14000bda4
nop
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140007138
mov rdx, qword [rbp + 0x28]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007133
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007771
call fcn.14000bda4
mov rdx, qword [rbp + 0x10]
cmp rdx, 0x10
mov r12d, 1
mov r13d, dword [rsp + 0x34]
jb 0x140006550
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000717d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007771
call fcn.14000bda4
mov r13d, dword [rsp + 0x34]
jmp 0x140006550
lea rdx, [rsp + 0x78]
cmp r10, 0x10
setae r9b
cmovae rdx, r11
cmp r8, 2
jb 0x1400072a8
mov rax, rdx
nop word [rax + rax]
cmp byte [rax], 0x30
jne 0x1400071c8
cmp byte [rax + 1], 0x78
jne 0x1400071bf
xor ecx, ecx
jmp 0x1400071c4
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400071d6
cmp rax, rdx
je 0x1400072a8
dec rax
jmp 0x1400071b0
cmp rax, rdx
jne 0x1400072a8
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
cmp r8, 2
jb 0x140007717
lea rax, [r8 - 2]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rsp + 0x78]
test r9b, r9b
cmovne rdx, r11
add rdx, 2
lea rcx, [rsp + 0x58]
call fcn.1400021f0
or r13d, 1
mov dword [rsp + 0x34], r13d
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
lea rcx, [rbp + 0x1f0]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140006550
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006e18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007673
jmp 0x140006e18
lea rdx, [rsp + 0x78]
cmp r10, 0x10
cmovae rdx, r11
lea rcx, [rbp + 0x1f0]
call fcn.14000a860
mov rcx, rax
call fcn.140009aa0
jmp 0x140006550
lea rcx, [rbp + 0xf0]
call fcn.140008f50
test rax, rax
jne 0x140007326
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
cmp qword [rbp + rcx + 0x128], 0
mov eax, 2
mov r13d, 6
cmovne r13d, eax
or r13d, dword [rbp + rcx + 0xf0]
and r13d, 0x17
mov dword [rbp + rcx + 0xf0], r13d
mov eax, dword [rbp + rcx + 0xf4]
and eax, r13d
jne 0x14000771d
lea rdx, str.Press_Enter_to_exit..._n
lea rcx, [0x140041460]
call fcn.1400097e0
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
movdqa xmm1, xmmword [0x14003a370]
movdqu xmmword [rbp + 0xc0], xmm1
mov byte [rbp + 0xb0], 0
mov rax, qword [0x140041680]
movsxd rax, dword [rax + 4]
lea rdi, [0x140041680]
mov rax, qword [rax + rdi + 0x40]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x48]
call fcn.1400096a0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov dl, 0xa
mov rcx, rax
call r8
movzx ebx, al
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400073c1
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rax, rax
je 0x1400073c1
mov rdx, qword [rax]
mov r8, qword [rdx]
mov edx, r12d
mov rcx, rax
call r8
movzx r8d, bl
lea rdx, [rbp + 0xb0]
mov rcx, rdi
call fcn.14000a600
xor r12d, r12d
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x140007419
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007413
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007771
call fcn.14000bda4
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140007455
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007450
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007777
call fcn.14000bda4
mov qword [rbp - 0x78], 0
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x300], rdi
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x2fc], edx
lea rcx, [rbp + 0x308]
call fcn.1400086c0
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x300], rbx
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x2fc], edx
lea rsi, vtable.std::ios_base.0
mov qword [rbp + 0x3a8], rsi
lea rcx, [rbp + 0x3a8]
call fcn.14000b4b8
nop
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x1f0], rdi
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x1ec], edx
lea rcx, [rbp + 0x1f8]
call fcn.1400086c0
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x1f0], rbx
mov rax, qword [rbp + 0x1f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x1ec], edx
mov qword [rbp + 0x298], rsi
lea rcx, [rbp + 0x298]
call fcn.14000b4b8
nop
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1400075a5
lea rdx, [rax + 1]
mov r13, qword [rbp + 0x30]
mov rax, r13
cmp rdx, 0x1000
jb 0x14000759c
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000765b
mov rcx, r13
call fcn.14000bda4
nop
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xe0], rax
mov rax, qword [rbp + 0xe0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xdc], edx
lea rcx, [rbp + 0xf0]
call fcn.1400086c0
mov rcx, qword [rbp + 0xe0]
movsxd rdx, dword [rcx + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rdx + 0xe0], rax
mov rcx, qword [rbp + 0xe0]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x18]
mov dword [rbp + rdx + 0xdc], r8d
mov qword [rbp + 0x190], rsi
lea rcx, [rbp + 0x190]
call fcn.14000b4b8
nop
mov eax, r12d
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.14000bd40
lea r11, [rsp + 0x520]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140012624
nop
call fcn.140001420
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
test dl, 4
je 0x140007687
lea rbx, str.ios_base::badbit_set
jmp 0x14000769c
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, r12d
lea rcx, [rsp + 0x48]
call fcn.140002af0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xb0]
call fcn.140003260
lea rdx, [0x14003ec08]
lea rcx, [rbp + 0xb0]
call fcn.14000db94
nop
call fcn.1400014c0
int3
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
int3
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140012624
nop
call fcn.140009680
int3
test al, 4
je 0x14000772a
lea rbx, str.ios_base::badbit_set
jmp 0x14000773e
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, r12d
lea rcx, [rsp + 0x48]
call fcn.140002af0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xb0]
call fcn.140003260
lea rdx, [0x14003ec08]
lea rcx, [rbp + 0xb0]
call fcn.14000db94
int3
call fcn.140012624
nop
call fcn.140012624
int3