Function at 0x140069360
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x16d0]
mov eax, 0x17d0
call fcn.1400bdd80
sub rsp, rax
movaps xmmword [rsp + 0x17c0], xmm6
movaps xmmword [rsp + 0x17b0], xmm7
movaps xmmword [rsp + 0x17a0], xmm8
mov rax, qword [0x140124d18]
xor rax, rsp
mov qword [rbp + 0x1690], rax
mov r14, r8
mov qword [rbp - 0x58], r8
mov qword [rbp + 0x2c0], rdx
mov r12, rcx
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0x100], rcx
xor eax, eax
mov edi, eax
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x20], al
lea r9d, [rax + 3]
xor r8d, r8d
call fcn.14006ac70
nop
lea rdx, [rbp + 0x130]
mov rcx, r12
call fcn.140085990
nop
xor r9d, r9d
mov qword [rbp - 0x10], r9
mov qword [rbp - 8], r9
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x30], xmm1
movdqa xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x58], r9b
movss xmm1, dword [0x1400f9674]
movss dword [rbp + 0x5c], xmm1
movss xmm7, dword [0x1400f9680]
mov dword [rbp + 0x60], 0x3eaa7efa
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r9
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
mov qword [rbp - 0x68], r9
mov rbx, qword [r14 + 0x20]
mov rsi, qword [r14 + 0x28]
xorps xmm8, xmm8
cmp rbx, rsi
je 0x1400695dc
lea r14, [0x1400f60c8]
lea r13, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
nop
mov qword [rbp + 0x300], r14
mov qword [rbp + 0x3b8], r9
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3f0], r9
or edi, 1
mov dword [rsp + 0x64], edi
mov qword [rbp + 0x3b0], r13
mov dword [rbp + 0x3ac], 0x98
mov qword [rbp + 0x308], r9
xor r8d, r8d
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x3b0]
call fcn.140015130
nop
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x300], r15
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x2fc], edx
lea rcx, [rbp + 0x310]
call fcn.140067ab0
nop
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp + 0x300]
call fcn.1400999b0
mov r8, rax
mov qword [rsp + 0x28], 0
movsd qword [rsp + 0x20], xmm8
lea r9, [rbp + 0x130]
lea rdx, [rsp + 0x70]
mov rcx, r12
call fcn.140078470
nop
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x300], r15
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x2fc], edx
lea rcx, [rbp + 0x310]
call fcn.14006cf50
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x300], r13
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x2fc], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x3b0], rax
lea rcx, [rbp + 0x3b0]
call fcn.1400bab44
nop
add rbx, 0x20
cmp rbx, rsi
mov r9d, 0
jne 0x140069480
mov r14, qword [rbp - 0x58]
movss xmm1, dword [r14 + 0x68]
xorps xmm2, xmm2
movss xmm6, dword [0x1400f9694]
comiss xmm1, xmm2
jbe 0x140069b16
movss xmm0, dword [r14 + 0x64]
comiss xmm0, xmm2
jbe 0x140069b16
movabs rax, 0x5555555555555555
mov qword [rbp + 0x1688], rax
mov edx, 0x2a
mov qword [rbp + 0x308], rdx
lea ecx, [rdx - 0x29]
movabs r8, 0x5851f42d4c957f2d
nop
mov rax, rdx
shr rax, 0x3e
xor rdx, rax
imul rdx, r8
add rdx, rcx
mov qword [rbp + rcx*8 + 0x308], rdx
inc rcx
cmp rcx, 0x138
jb 0x140069630
mov dword [rbp + 0x300], 0x138
movaps xmm0, xmm6
subss xmm0, xmm1
cvtss2sd xmm0, xmm0
movsd qword [rbp + 0x280], xmm0
divss xmm1, dword [0x1400f96c8]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
unpcklpd xmm0, xmm0
movups xmmword [rbp + 0x288], xmm0
movsd qword [rbp + 0x298], xmm0
lea rax, [rbp + 0x70]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r9
mov edx, 4
lea rcx, [rbp + 0x70]
call fcn.1400117c0
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
lea rbx, [rax + 0x20]
mov qword [rbp + 0x80], rbx
mov r8d, 0x20
lea rdx, [rbp + 0x280]
mov rcx, rax
call fcn.1400bf810
mov qword [rbp + 0x78], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x88], xmm0
xor edi, edi
mov qword [rbp + 0x98], rdi
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.1400752d0
nop
mov rax, qword [rbp - 0x70]
mov r15, rax
sub r15, qword [rbp - 0x78]
sar r15, 3
lea r13d, [rdi + 2]
nop dword [rax]
mov rbx, rdi
test r15, r15
je 0x140069a65
nop dword [rax]
mov rcx, qword [rsp + 0x78]
sub rcx, qword [rsp + 0x70]
sar rcx, 1
mov qword [rsp + 0x68], rcx
cmp rax, qword [rbp - 0x68]
je 0x140069759
mov qword [rax], rcx
mov rax, qword [rbp - 0x70]
add rax, 8
mov qword [rbp - 0x70], rax
jmp 0x14006976e
lea r8, [rsp + 0x68]
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.14001e4b0
mov rax, qword [rbp - 0x70]
mov r8, qword [rbp - 0x78]
sub rax, r8
sar rax, 3
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
cmp rbx, rax
jae 0x14006978e
mov rax, qword [r8 + rbx*8]
jmp 0x140069797
mov rax, rdx
sub rax, rcx
sar rax, 1
lea r8, [rcx + rax*2]
cmp rdx, qword [rbp - 0x80]
je 0x1400697b8
movzx eax, word [r8]
mov word [rdx], ax
mov rdx, qword [rsp + 0x78]
add rdx, 2
mov qword [rsp + 0x78], rdx
jmp 0x1400697c7
lea rcx, [rsp + 0x70]
call fcn.14001d350
mov rdx, qword [rsp + 0x78]
mov r14b, 1
mov esi, 1
nop
mov r11, qword [rbp - 0x70]
mov rcx, r11
mov r9, qword [rbp - 0x78]
sub rcx, r9
sar rcx, 3
mov r10, qword [rsp + 0x70]
cmp rbx, rcx
jae 0x1400697f2
mov r8, qword [r9 + rbx*8]
jmp 0x1400697fb
mov r8, rdx
sub r8, r10
sar r8, 1
lea rax, [rbx + 1]
cmp rax, rcx
jae 0x14006980b
mov rax, qword [r9 + rbx*8 + 8]
jmp 0x140069814
mov rax, rdx
sub rax, r10
sar rax, 1
sub rax, r8
add rax, rax
sar rax, 1
dec rax
cmp rsi, rax
jae 0x1400699b7
cmp rbx, rcx
jae 0x140069834
mov rdx, qword [r9 + rbx*8]
jmp 0x14006983a
sub rdx, r10
sar rdx, 1
lea rax, [rdx + rsi]
movzx edi, word [r10 + rax*2]
mov word [rsp + 0x64], di
lea rcx, [rbp + 0x300]
call fcn.140038910
mov r9, qword [rbp + 0x88]
mov r8, r9
mov rcx, qword [rbp + 0x90]
sub rcx, r9
sub rcx, 8
sar rcx, 3
test rcx, rcx
jle 0x1400698ab
nop word [rax + rax]
mov rdx, rcx
shr rdx, 1
lea rax, [r8 + rdx*8]
comisd xmm0, xmmword [rax]
jbe 0x1400698a3
lea r8, [rax + 8]
mov rax, 0xffffffffffffffff
sub rax, rdx
add rcx, rax
jmp 0x1400698a6
mov rcx, rdx
test rcx, rcx
jg 0x140069880
sub r8, r9
sar r8, 3
test r8d, r8d
je 0x140069974
sub r8d, 1
je 0x140069917
cmp r8d, 2
jne 0x1400699aa
xor r14b, r14b
lea rcx, [rdi + rdi*8]
mov rax, qword [r12 + 0x18]
movzx edx, byte [rax + rcx*8 + 4]
and edx, 0x7f
inc edx
mov dword [rsp + 0x68], edx
mov rax, qword [rsp + 0x78]
cmp rax, qword [rbp - 0x80]
je 0x140069903
mov word [rax], dx
mov rdx, qword [rsp + 0x78]
add rdx, 2
mov qword [rsp + 0x78], rdx
jmp 0x14006997c
lea r8, [rsp + 0x68]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14001d350
jmp 0x140069977
xor r14b, r14b
lea rcx, [rdi + rdi*8]
mov rax, qword [r12 + 0x18]
movzx edx, byte [rax + rcx*8 + 4]
and edx, 0x7f
inc edx
mov dword [rsp + 0x68], edx
mov rax, qword [rsp + 0x78]
cmp rax, qword [rbp - 0x80]
je 0x140069955
mov word [rax], dx
mov rdx, qword [rsp + 0x78]
add rdx, 2
mov qword [rsp + 0x78], rdx
inc rsi
jmp 0x1400697d0
lea r8, [rsp + 0x68]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14001d350
mov rdx, qword [rsp + 0x78]
inc rsi
jmp 0x1400697d0
xor r14b, r14b
mov rdx, qword [rsp + 0x78]
cmp rdx, qword [rbp - 0x80]
je 0x14006999b
mov word [rdx], di
mov rdx, qword [rsp + 0x78]
add rdx, 2
mov qword [rsp + 0x78], rdx
inc rsi
jmp 0x1400697d0
lea r8, [rsp + 0x64]
lea rcx, [rsp + 0x70]
call fcn.14001d350
mov rdx, qword [rsp + 0x78]
inc rsi
jmp 0x1400697d0
test r14b, r14b
je 0x1400699d8
mov rdx, qword [r11 - 8]
lea rcx, [rsp + 0x70]
call fcn.1400853d0
mov rax, qword [rbp - 0x70]
sub rax, 8
mov qword [rbp - 0x70], rax
jmp 0x140069a57
sub r11, r9
sar r11, 3
cmp rbx, r11
jae 0x1400699ea
mov rcx, qword [r9 + rbx*8]
jmp 0x1400699f3
mov rcx, rdx
sub rcx, r10
sar rcx, 1
lea rax, [rbx + 1]
cmp rax, r11
jae 0x140069a03
mov rax, qword [r9 + rbx*8 + 8]
jmp 0x140069a0c
mov rax, rdx
sub rax, r10
sar rax, 1
sub rax, rcx
add rax, rax
sar rax, 1
cmp rbx, r11
jae 0x140069a20
mov rcx, qword [r9 + rbx*8]
jmp 0x140069a29
mov rcx, rdx
sub rcx, r10
sar rcx, 1
lea r8, [rax - 1]
add r8, rcx
lea r8, [r10 + r8*2]
cmp rdx, qword [rbp - 0x80]
je 0x140069a49
movzx eax, word [r8]
mov word [rdx], ax
add qword [rsp + 0x78], 2
jmp 0x140069a53
lea rcx, [rsp + 0x70]
call fcn.14001d350
mov rax, qword [rbp - 0x70]
inc rbx
cmp rbx, r15
jb 0x140069730
xor edi, edi
sub r13, 1
jne 0x140069720
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x140069acd
mov rax, qword [rbp + 0x98]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140069ab6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006abe1
call fcn.1400bd394
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], rdi
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x140069b16
mov rax, qword [rbp + 0x80]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140069b11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006abe1
call fcn.1400bd394
mov qword [rsp + 0x68], r12
mov rcx, qword [r12 + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], 0xf4240
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x40], xmm7
mov byte [rsp + 0x38], 1
mov qword [rsp + 0x30], 0x14
mov qword [rsp + 0x28], 0x96
xor r14d, r14d
mov word [rsp + 0x20], r14w
lea r9, [rsp + 0x64]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.14001b9d0
mov rbx, rax
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
lea rdi, [rbx + 8]
lea rax, [rbp - 8]
cmp rax, rdi
je 0x140069bcb
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140069ba9
call fcn.140091210
mov qword [rbp - 8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov rax, qword [rdi]
mov qword [rbp - 8], rax
mov rax, qword [rdi + 8]
mov qword [rbp], rax
mov rax, qword [rdi + 0x10]
mov qword [rbp + 8], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
lea rdi, [rbx + 0x20]
lea rax, [rbp + 0x10]
cmp rax, rdi
je 0x140069c14
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x140069bf2
call fcn.140091210
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r14
mov rax, qword [rdi]
mov qword [rbp + 0x10], rax
mov rax, qword [rdi + 8]
mov qword [rbp + 0x18], rax
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x20], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x28], rax
mov qword [rbx + 0x38], rcx
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x30], rax
mov qword [rbx + 0x40], rcx
lea rdi, [rbx + 0x48]
lea rax, [rbp + 0x38]
cmp rax, rdi
je 0x140069c7d
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x140069c5b
call fcn.140091210
mov qword [rbp + 0x38], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov rax, qword [rdi]
mov qword [rbp + 0x38], rax
mov rax, qword [rdi + 8]
mov qword [rbp + 0x40], rax
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x48], rax
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov rax, qword [rbx + 0x60]
mov qword [rbp + 0x50], rax
movzx eax, byte [rbx + 0x68]
mov byte [rbp + 0x58], al
movss xmm0, dword [rbx + 0x6c]
movss dword [rbp + 0x5c], xmm0
movss xmm1, dword [rbx + 0x70]
movss dword [rbp + 0x60], xmm1
mov rcx, qword [rbp + 0xb8]
test rcx, rcx
je 0x140069cc3
call fcn.140091210
mov qword [rbp + 0xb8], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc0], xmm0
mov rcx, qword [rbp + 0xa8]
call fcn.1400cbe94
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x140069cf2
call fcn.140091210
mov qword [rbp + 0x90], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x98], xmm0
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x140069d00
call fcn.140091210
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r14
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r14
lea rdx, [rbp + 0x108]
lea rcx, [rbp - 0x10]
call fcn.140080cd0
nop
mov dword [rsp + 0x60], 0
mov qword [rbp - 0x60], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xe8], xmm0
mov r9, r14
mov qword [rbp + 0xf8], r14
mov r8, r14
mov qword [rsp + 0x68], r14
mov rax, qword [rbp - 0x70]
sub rax, qword [rbp - 0x78]
sar rax, 3
mov r15, qword [rbp + 0xf0]
test rax, rax
je 0x140069deb
mov rbx, r14
movabs rdi, 0xcccccccccccccccd
nop dword [rax + rax]
mov rax, rdi
mul rbx
shr rdx, 4
lea rcx, [rdx + rdx*4]
shl rcx, 2
cmp rbx, rcx
je 0x140069dce
cmp r15, r9
je 0x140069dac
mov qword [r15], r8
add r15, 8
mov qword [rbp + 0xf0], r15
jmp 0x140069dce
lea r8, [rsp + 0x68]
mov rdx, r15
lea rcx, [rbp + 0xe8]
call fcn.14001e4b0
mov r9, qword [rbp + 0xf8]
mov r15, qword [rbp + 0xf0]
lea r8, [rbx + 1]
mov qword [rsp + 0x68], r8
mov rax, qword [rbp - 0x70]
sub rax, qword [rbp - 0x78]
sar rax, 3
mov rbx, r8
cmp r8, rax
jb 0x140069d80
mov r13, r14
mov rcx, qword [rbp - 0x70]
sub rcx, qword [rbp - 0x78]
sar rcx, 3
test rcx, rcx
je 0x14006a036
mov r15, qword [rbp - 0x18]
cmp r14, rcx
jae 0x140069e16
mov rax, qword [rbp - 0x78]
mov rdx, qword [rax + r13*8]
jmp 0x140069e23
mov rdx, qword [rsp + 0x78]
sub rdx, qword [rsp + 0x70]
sar rdx, 1
lea rax, [r13 + 1]
cmp rax, rcx
jae 0x140069e37
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + r13*8 + 8]
jmp 0x140069e44
mov rcx, qword [rsp + 0x78]
sub rcx, qword [rsp + 0x70]
sar rcx, 1
mov rax, qword [rsp + 0x70]
lea rbx, [rax + rdx*2]
lea r12, [rax + rcx*2]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
sub rcx, rdx
sar rcx, 2
mov rsi, r12
sub rsi, rbx
sar rsi, 1
cmp rcx, rsi
jae 0x140069f25
mov rax, qword [rbp - 0x28]
sub rax, rdx
sar rax, 2
cmp rsi, rax
jbe 0x140069e95
lea r8, [rsp + 0x64]
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.140022fb0
jmp 0x140069ebb
mov rdi, qword [rbp - 0x30]
mov r14, rsi
sub r14, rcx
je 0x140069eb7
lea r8, [r14*4]
xor edx, edx
mov rcx, rdi
call fcn.1400bfec0
lea rdi, [rdi + r14*4]
mov qword [rbp - 0x30], rdi
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x50]
sub rcx, rax
sar rcx, 2
cmp rsi, rcx
jae 0x140069ed9
lea rax, [rax + rsi*4]
mov qword [rbp - 0x48], rax
jmp 0x140069f25
jbe 0x140069f25
mov rax, qword [rbp - 0x40]
sub rax, qword [rbp - 0x50]
sar rax, 2
cmp rsi, rax
jbe 0x140069eff
lea r8, [rsp + 0x64]
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140022fb0
jmp 0x140069f25
mov rdi, qword [rbp - 0x48]
mov r14, rsi
sub r14, rcx
je 0x140069f21
lea r8, [r14*4]
xor edx, edx
mov rcx, rdi
call fcn.1400bfec0
lea rdi, [rdi + r14*4]
mov qword [rbp - 0x48], rdi
mov rdi, qword [rbp - 0x38]
mov r14, qword [r15 + 0x70]
xor eax, eax
mov qword [rsp + 0x68], rax
cmp rbx, r12
je 0x140069f62
nop dword [rax]
mov rax, qword [r14]
movzx r8d, word [rbx]
lea rdx, [rsp + 0x68]
mov rcx, r14
call qword [rax]
movss dword [rdi], xmm0
lea rdi, [rdi + 4]
add rbx, 2
cmp rbx, r12
jne 0x140069f40
mov rdx, qword [rbp - 0x38]
lea rcx, [rdx + rsi*4]
lea rax, [rdx + 4]
movaps xmm1, xmm8
cmp rax, rcx
je 0x140069f94
nop word [rax + rax]
movss xmm0, dword [rax]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
add rax, 4
cmp rax, rcx
jne 0x140069f80
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
dec rsi
mov rcx, qword [rbp - 0x60]
add rcx, rsi
mov qword [rbp - 0x60], rcx
xorps xmm0, xmm0
test rsi, rsi
js 0x140069fb8
cvtsi2ss xmm0, rsi
jmp 0x140069fcd
mov rax, rsi
shr rax, 1
and esi, 1
or rax, rsi
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mulss xmm0, dword [rsp + 0x60]
subss xmm2, xmm0
xorps xmm0, xmm0
test rcx, rcx
js 0x140069fe6
cvtsi2ss xmm0, rcx
jmp 0x140069ffb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [rsp + 0x60]
addss xmm0, xmm2
movss dword [rsp + 0x60], xmm0
add r13, 0x14
mov rcx, qword [rbp - 0x70]
sub rcx, qword [rbp - 0x78]
sar rcx, 3
cmp r13, rcx
jb 0x140069e0c
mov r15, qword [rbp + 0xf0]
mov r12, qword [rbp - 0x18]
xor r14d, r14d
lea rdx, str.Init_Dev_AvgLL:
lea rcx, [0x140183650]
call fcn.1400040f0
mov rcx, rax
movss xmm1, dword [rsp + 0x60]
call fcn.14006e8d0
mov rcx, rax
call fcn.1400065c0
mov qword [rbp - 0x60], r14
mov dword [rsp + 0x60], 0
mov rbx, r15
mov rdi, qword [rbp + 0xe8]
sub rbx, rdi
sar rbx, 3
lea rax, [rbx + rbx*4]
add rax, rax
mov qword [rbp - 0x20], rax
mov rsi, qword [rbp - 0x58]
cmp qword [rsi + 0x58], 1
ja 0x14006a269
lea rax, [rbp + 0x2a0]
mov qword [rbp - 0x58], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], r14
cmp rdi, r15
je 0x14006a10a
mov edx, 8
mov rcx, rbx
call fcn.140091d40
mov rdx, rax
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x2a8], rax
lea rax, [rax + rbx*8]
mov qword [rbp + 0x2b0], rax
mov rcx, rdi
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov qword [rdx], rax
add rdx, 8
add rcx, 8
cmp rcx, r15
jne 0x14006a0f0
mov qword [rbp + 0x2a8], rdx
mov rax, qword [r12 + 0x70]
lea rcx, [rsp + 0x70]
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
mov edx, 0x18
lea ecx, [rdx - 0x17]
call fcn.140091d40
mov rcx, rax
mov qword [rbp + 0x80], rax
add rax, 0x18
mov qword [rbp + 0x90], rax
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov qword [rbp + 0x88], rax
mov edx, 0x18
lea ecx, [rdx - 0x17]
call fcn.140091d40
mov rcx, rax
mov qword [rbp + 0x98], rax
add rax, 0x18
mov qword [rbp + 0xa8], rax
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov qword [rbp + 0xa0], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x280], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x288], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x290], rax
movss xmm0, dword [0x1400f967c]
movss dword [rsp + 0x28], xmm0
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2a0]
lea r8, [rbp + 0x280]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x10]
call fcn.1400493e0
nop
mov rsi, qword [rbp + 0x98]
test rsi, rsi
je 0x14006a21d
mov rbx, rsi
mov rdi, qword [rbp + 0xa0]
cmp rsi, rdi
je 0x14006a215
mov rcx, qword [rbx]
test rcx, rcx
je 0x14006a20c
call fcn.140091210
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
add rbx, 0x18
cmp rbx, rdi
jne 0x14006a1f4
mov rcx, rsi
call fcn.140091210
mov rsi, qword [rbp + 0x80]
test rsi, rsi
je 0x14006a520
mov rbx, rsi
mov rdi, qword [rbp + 0x88]
cmp rsi, rdi
je 0x14006a261
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14006a258
call fcn.140091210
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
add rbx, 0x18
cmp rbx, rdi
jne 0x14006a240
mov rcx, rsi
jmp 0x14006a51b
lea rax, [rbp + 0x280]
mov qword [rbp - 0x58], rax
lea rdx, [rbp + 0xe8]
lea rcx, [rbp + 0x280]
call fcn.140068590
mov rbx, rax
mov rax, qword [r12 + 0x70]
lea rcx, [rsp + 0x70]
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r14
mov edx, 0x18
lea ecx, [rdx - 0x10]
call fcn.140091d40
mov rcx, rax
mov qword [rbp + 0x80], rax
add rax, 0xc0
mov qword [rbp + 0x90], rax
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], r14
mov qword [rcx + 0x20], r14
mov qword [rcx + 0x28], r14
mov qword [rcx + 0x30], r14
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x40], r14
mov qword [rcx + 0x48], r14
mov qword [rcx + 0x50], r14
mov qword [rcx + 0x58], r14
mov qword [rcx + 0x60], r14
mov qword [rcx + 0x68], r14
mov qword [rcx + 0x70], r14
mov qword [rcx + 0x78], r14
mov qword [rcx + 0x80], r14
mov qword [rcx + 0x88], r14
mov qword [rcx + 0x90], r14
mov qword [rcx + 0x98], r14
mov qword [rcx + 0xa0], r14
mov qword [rcx + 0xa8], r14
mov qword [rcx + 0xb0], r14
mov qword [rcx + 0xb8], r14
lea rax, [rcx + 0xc0]
mov qword [rbp + 0x88], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r14
mov edx, 0x18
lea ecx, [rdx - 0x10]
call fcn.140091d40
mov rcx, rax
mov qword [rbp + 0x98], rax
add rax, 0xc0
mov qword [rbp + 0xa8], rax
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], r14
mov qword [rcx + 0x20], r14
mov qword [rcx + 0x28], r14
mov qword [rcx + 0x30], r14
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x40], r14
mov qword [rcx + 0x48], r14
mov qword [rcx + 0x50], r14
mov qword [rcx + 0x58], r14
mov qword [rcx + 0x60], r14
mov qword [rcx + 0x68], r14
mov qword [rcx + 0x70], r14
mov qword [rcx + 0x78], r14
mov qword [rcx + 0x80], r14
mov qword [rcx + 0x88], r14
mov qword [rcx + 0x90], r14
mov qword [rcx + 0x98], r14
mov qword [rcx + 0xa0], r14
mov qword [rcx + 0xa8], r14
mov qword [rcx + 0xb0], r14
mov qword [rcx + 0xb8], r14
lea rax, [rcx + 0xc0]
mov qword [rbp + 0xa0], rax
lea rax, [rbp - 0x60]
mov qword [rbp + 0x2a0], rax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x2a8], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x2b0], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x2b8], rax
movss xmm0, dword [0x1400f967c]
movss dword [rsp + 0x30], xmm0
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a0]
lea r8, [rbp + 0x70]
mov rdx, qword [rsi + 0x58]
lea rcx, [rbp - 0x10]
call fcn.140049a90
nop
mov rbx, qword [rbp + 0x98]
test rbx, rbx
je 0x14006a4d2
mov rdi, qword [rbp + 0xa0]
cmp rbx, rdi
je 0x14006a4b8
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14006a4a8
call fcn.140091210
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
add rbx, 0x18
cmp rbx, rdi
jne 0x14006a490
mov rbx, qword [rbp + 0x98]
mov rcx, rbx
call fcn.140091210
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r14
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x14006a520
mov rdi, qword [rbp + 0x88]
cmp rbx, rdi
je 0x14006a518
nop word [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14006a508
call fcn.140091210
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
add rbx, 0x18
cmp rbx, rdi
jne 0x14006a4f0
mov rbx, qword [rbp + 0x80]
mov rcx, rbx
call fcn.140091210
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x20]
lea rdx, str.sbg.fin.bin
lea rcx, [rbp + 0x300]
call fcn.140067c20
nop
mov r8d, 8
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x300]
call fcn.14008bcc0
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
test byte [rcx + rdx + 0x10], 6
jne 0x14006abe7
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x28]
lea r8, [rbp + 0x10]
lea rdx, [rbp - 8]
lea rcx, [rbp + 0x300]
call fcn.14004ae90
nop
lea rcx, [rbp + 0x300]
call fcn.140071260
mov qword [rbp - 0x60], r14
mov dword [rsp + 0x60], 0
mov r13, r14
mov rcx, qword [rbp - 0x70]
mov r10, qword [rbp - 0x78]
sub rcx, r10
sar rcx, 3
test rcx, rcx
je 0x14006a80f
nop
mov rdx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x70]
cmp r13, rcx
jae 0x14006a5e5
mov r8, qword [r10 + r13*8]
jmp 0x14006a5ee
mov r8, rdx
sub r8, r9
sar r8, 1
lea rax, [r13 + 1]
cmp rax, rcx
jae 0x14006a5fe
mov rdx, qword [r10 + r13*8 + 8]
jmp 0x14006a604
sub rdx, r9
sar rdx, 1
lea rax, [r9 + r8*2]
mov qword [rsp + 0x68], rax
lea r12, [r9 + rdx*2]
mov rbx, qword [rbp - 0x30]
mov rcx, rbx
mov rdx, qword [rbp - 0x38]
sub rcx, rdx
sar rcx, 2
mov r14, r12
sub r14, rax
sar r14, 1
cmp rcx, r14
jae 0x14006a6be
mov rax, qword [rbp - 0x28]
sub rax, rdx
sar rax, 2
cmp r14, rax
jbe 0x14006a658
lea r8, [rsp + 0x64]
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.140022fb0
jmp 0x14006a67a
mov rdi, r14
sub rdi, rcx
je 0x14006a676
lea r8, [rdi*4]
xor edx, edx
mov rcx, rbx
call fcn.1400bfec0
lea rbx, [rbx + rdi*4]
mov qword [rbp - 0x30], rbx
mov rdi, qword [rbp - 0x48]
mov rcx, rdi
mov rbx, qword [rbp - 0x50]
sub rcx, rbx
sar rcx, 2
cmp r14, rcx
jae 0x14006a69b
lea rax, [rbx + r14*4]
mov qword [rbp - 0x48], rax
jmp 0x14006a6c2
jbe 0x14006a6c2
mov rax, qword [rbp - 0x40]
sub rax, rbx
sar rax, 2
cmp r14, rax
jbe 0x14006a71d
lea r8, [rsp + 0x64]
mov rdx, r14
lea rcx, [rbp - 0x50]
call fcn.140022fb0
mov rbx, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x68]
mov rdi, rcx
mov rax, qword [rbp - 0x18]
mov r15, qword [rax + 0x70]
xor eax, eax
mov qword [rbp - 0x58], rax
cmp rcx, r12
je 0x14006a751
nop dword [rax]
nop word [rax + rax]
mov dword [rbx], eax
mov rax, qword [r15]
movzx r8d, word [rdi]
lea rdx, [rbp - 0x58]
mov rcx, r15
call qword [rax]
movss dword [rsi], xmm0
lea rsi, [rsi + 4]
lea rbx, [rbx + 4]
add rdi, 2
cmp rdi, r12
je 0x14006a748
mov rax, qword [rbp - 0x58]
jmp 0x14006a6f0
mov rsi, r14
sub rsi, rcx
je 0x14006a73f
lea r8, [rsi*4]
xor edx, edx
mov rcx, rdi
call fcn.1400bfec0
lea rdi, [rdi + rsi*4]
mov rbx, qword [rbp - 0x50]
mov qword [rbp - 0x48], rdi
jmp 0x14006a6c2
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x20], r14
mov r9, qword [rbp - 0x38]
mov r8, rbx
mov rdx, rcx
lea rcx, [rbp - 0x10]
cmp byte [rbp + 0x58], 0
je 0x14006a771
call fcn.14007db00
jmp 0x14006a776
call fcn.14007cf00
movaps xmm1, xmm0
dec r14
mov rcx, qword [rbp - 0x60]
add rcx, r14
mov qword [rbp - 0x60], rcx
xorps xmm0, xmm0
test r14, r14
js 0x14006a796
cvtsi2ss xmm0, r14
jmp 0x14006a7ac
mov rax, r14
shr rax, 1
and r14d, 1
or rax, r14
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss xmm2, dword [rsp + 0x60]
mulss xmm0, xmm2
subss xmm1, xmm0
xorps xmm0, xmm0
test rcx, rcx
js 0x14006a7c9
cvtsi2ss xmm0, rcx
jmp 0x14006a7de
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm1, xmm0
addss xmm2, xmm1
movss dword [rsp + 0x60], xmm2
add r13, 0x14
mov rcx, qword [rbp - 0x70]
mov r10, qword [rbp - 0x78]
sub rcx, r10
sar rcx, 3
cmp r13, rcx
jb 0x14006a5d0
mov r12, qword [rbp - 0x18]
xor r14d, r14d
lea rdx, str.After_Dev_AvgLL:
lea rcx, [0x140183650]
call fcn.1400040f0
mov rcx, rax
movss xmm1, dword [rsp + 0x60]
call fcn.14006e8d0
mov rcx, rax
call fcn.1400065c0
mov rdi, qword [rbp + 0x2c0]
mov rcx, qword [rdi + 0x10]
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rcx
cmp rax, 0xf
jb 0x14006ac62
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14006a86a
mov r9, qword [rdi]
mov qword [rsp + 0x30], 0xf
lea rax, str._sbg.result.log
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, rdi
movzx edx, byte [rsp + 0x64]
lea rcx, [rbp + 0x280]
call fcn.140006fd0
nop
lea rdx, [rbp + 0x280]
cmp qword [rbp + 0x298], 0x10
cmovae rdx, qword [rbp + 0x280]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rcx, [rbp + 0x170]
call fcn.140067c20
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x170], rsi
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x16c], edx
lea rcx, [rbp + 0x280]
call fcn.140008f20
mov qword [rbp + 0x2c0], r12
lea rdx, str.AvgLL:
lea rcx, [rbp + 0x170]
call fcn.1400040f0
mov rcx, rax
movss xmm1, dword [rsp + 0x60]
call fcn.14006e8d0
mov rcx, rax
lea rdx, [0x1400f61f8]
call fcn.1400040f0
mov rdx, rax
lea r8, [rbp + 0x2c0]
lea rcx, [rbp - 0x10]
call fcn.14003f040
mov r9b, 1
movss xmm2, dword [0x1400f9704]
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp - 0x10]
call fcn.14007bdf0
nop
mov rax, qword [rdi + 0x10]
sub rbx, rax
cmp rbx, 0xf
jb 0x14006abdb
mov r9, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14006a990
mov r9, qword [rdi]
mov qword [rsp + 0x30], 0xf
lea rcx, str._skipbigram.mdl
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r8, rdi
movzx edx, byte [rsp + 0x64]
lea rcx, [rbp + 0x280]
call fcn.140006fd0
nop
lea rdx, [rbp + 0x280]
cmp qword [rbp + 0x298], 0x10
cmovae rdx, qword [rbp + 0x280]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x20]
lea rcx, [rbp + 0x300]
call fcn.140067c20
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x300], rsi
mov rax, qword [rbp + 0x300]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x2fc], edx
lea rcx, [rbp + 0x280]
call fcn.140008f20
mov r8, qword [rbp + 0x2c8]
mov rbx, qword [rbp + 0x2c0]
mov rdx, rbx
lea rcx, [rbp + 0x300]
call fcn.14008bcc0
nop
lea rcx, [rbp + 0x300]
call fcn.140071260
nop
test rbx, rbx
je 0x14006aa64
mov rcx, rbx
call fcn.1400bd394
nop
lea rcx, [rbp + 0x170]
call fcn.140071260
nop
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x14006aa83
call fcn.140091210
nop
mov rcx, qword [rbp + 0x118]
test rcx, rcx
je 0x14006aaa6
call fcn.140091210
mov qword [rbp + 0x118], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x120], xmm0
mov rcx, qword [rbp + 0x108]
call fcn.1400cbe94
nop
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14006aacd
call fcn.140091210
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r14
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14006aae7
call fcn.140091210
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r14
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14006ab01
call fcn.140091210
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r14
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14006ab1d
call fcn.140091210
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r14
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14006ab37
call fcn.140091210
mov qword [rbp + 0x38], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov rcx, qword [rbp + 0x28]
call fcn.1400cbe94
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x14006ab5a
call fcn.140091210
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r14
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14006ab74
call fcn.140091210
mov qword [rbp - 8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov rcx, qword [rbp + 0x148]
call fcn.140091210
mov qword [rbp + 0x148], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x150], xmm0
lea rcx, [rbp + 0x138]
call fcn.14006d4a0
nop
mov rax, r12
mov rcx, qword [rbp + 0x1690]
xor rcx, rsp
call fcn.1400bd960
lea r11, [rsp + 0x17d0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000eff0
nop
call fcn.1400cbbac
nop
lea rdx, str._failed
lea rcx, [rbp + 0x280]
call fcn.140006de0
mov rdi, rax
lea rdx, str.writing_type_
lea rcx, [rbp + 0x2a0]
call fcn.140006de0
mov rbx, rax
lea rcx, vtable.type_info.0
call fcn.140080cc0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x2c0]
call fcn.1400044f0
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x2e0]
call fcn.140004460
nop
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.14006bff0
lea rdx, [0x140121798]
lea rcx, [rbp + 0x70]
call fcn.1400be948
nop
call fcn.14000eff0
int3