Function at 0x140009570
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140037008]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov rbx, r8
mov rsi, rcx
mov qword [rbp + 0x48], rcx
mov qword [rsp + 0x60], rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1400095d8
mov rdx, qword [r8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], r14
mov r8, qword [r8 + 0x10]
lea rcx, [rbp + 0x60]
call fcn.1400152c0
nop
lea rcx, [rbp + 0x60]
call fcn.140003680
test al, al
sete dil
mov rdx, qword [rbp + 0x78]
cmp rdx, 8
jb 0x140009647
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009642
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009642
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140027bb4
test dil, dil
je 0x14000965c
mov qword [rsi], r14
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r14
jmp 0x14000a766
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe0], xmm1
mov qword [rbp + 0xf0], r14
xor eax, eax
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], rax
movups xmm0, xmmword [0x14002eae0]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [0x14002eaf0]
movups xmmword [rbp + 0x30], xmm1
movzx eax, word [0x14002eb00]
mov word [rbp + 0x40], ax
movzx eax, byte [0x14002eb02]
mov byte [rbp + 0x42], al
mov r8d, r14d
mov edi, 1
lea eax, [rdi + 0x1e]
mov r15d, dword [0x140037020]
cmp r15d, 2
jl 0x140009817
movdqa xmm5, xmmword [0x14002f4e0]
movdqa xmm4, xmmword [0x14002f580]
movd xmm6, edi
movdqa xmm7, xmmword [0x14002f500]
movd xmm8, eax
movdqa xmm0, xmmword [0x14002f590]
movdqa xmmword [rbp - 0x50], xmm0
lea rcx, [rbp + 0x24]
mov edx, dword [rbp - 0x50]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14002f570]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14002f570]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x140009710
cmp r8d, 0x23
jge 0x140009850
movsxd rax, r8d
lea r9, [rbp + 0x20]
add r9, rax
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x23
jl 0x140009821
mov qword [rbp + 0x140], r14
lea rax, [rbp + 0x148]
mov qword [rsp + 0x60], rax
mov cl, 1
call qword [sym.imp.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_]
mov qword [rbp + 0x160], rax
lea rcx, [rbp + 0x158]
call fcn.140015ce0
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x158]
call fcn.140013a10
mov qword [rbp + 0x150], rax
lea rcx, [rbp + 0x20]
mov r12, 0xffffffffffffffff
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x1400098a6
lea r8, [rbp + 0x20]
add r8, rax
mov r9d, 0x400
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x140]
call fcn.140014c50
nop
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x1400098db
mov rbx, qword [rbx]
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x98], r14
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.1400152c0
mov r13d, 0xd80
mov dword [rsp + 0x30], r13d
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x120]
call fcn.1400033d0
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x14000996a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009965
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009965
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140027bb4
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
mov rbx, qword [rbp + 0x128]
test rbx, rbx
je 0x140009990
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x128]
mov r13d, dword [rsp + 0x30]
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x130], xmm0
test rbx, rbx
je 0x1400099b4
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x128]
mov r13d, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x168], xmm1
test rbx, rbx
je 0x1400099fb
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400099ef
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400099ef
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov r13d, dword [rsp + 0x30]
mov rbx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x130]
test rax, rax
je 0x14000a62d
nop dword [rax + rax]
lea r14, [rax + 0x20]
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x140009a21
mov rcx, qword [r14]
mov rax, qword [r14 + 0x10]
lea rdx, [rcx + rax*2]
mov r10, rdx
call fcn.140002050
cmp rax, rdx
je 0x140009a7c
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140009a45
cmp cx, 0x2f
jne 0x140009a4e
add rax, 2
cmp rax, rdx
jne 0x140009a36
cmp rax, rdx
je 0x140009a7c
nop dword [rax]
nop word [rax + rax]
lea r8, [r10 - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x140009a7c
cmp cx, 0x2f
je 0x140009a7c
mov r10, r8
cmp rax, r8
jne 0x140009a60
sub rdx, r10
sar rdx, 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor ebx, ebx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rbx
mov r8, rdx
mov rdx, r10
lea rcx, [rbp - 0x40]
call fcn.1400152c0
or r13d, 0x38
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x30], r13d
lea rdx, [rbp + 0xf8]
lea rcx, [rbp - 0x40]
call fcn.1400023d0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140009b01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009afc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a5f8
call fcn.140027bb4
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], bx
mov rdi, qword [rbp + 0x108]
cmp rdi, 3
jb 0x140009e66
mov eax, dword [str.TV__]
mov dword [rsp + 0x50], eax
cmp byte [0x14002cc7b], 0
je 0x140009c0f
cmp r15d, 2
jl 0x140009bd3
movdqa xmm3, xmmword [0x14002f4e0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14002f580]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14002f580]
shufps xmm2, xmm0, 0xdd
mov ecx, 1
movd xmm0, ecx
psrad xmm2, xmm0
mov ecx, 0x1f
movd xmm0, ecx
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14002f500]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14002f570]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14002f590]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x50], xmm2
jmp 0x140009c0f
lea r9, [rsp + 0x50]
mov r8d, ebx
nop dword [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140009be0
lea rcx, [rdi - 3]
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
cmp rdi, rcx
jb 0x14000a7a8
sub rdi, rcx
mov r8, r12
cmp rdi, 0xffffffffffffffff
cmovb r8, rdi
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 0x10
cmovae rdx, qword [rbp + 0xf8]
add rdx, rcx
lea rcx, [rbp]
call fcn.140015550
or r13d, 0x40
or r13d, 2
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x30], r13d
lea rcx, [rsp + 0x50]
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x140009c76
lea rcx, [rbp]
mov rsi, qword [rbp]
mov r15, qword [rbp + 0x18]
cmp r15, 0x10
cmovae rcx, rsi
mov r8, qword [rbp + 0x10]
cmp r8, rax
jne 0x140009cbd
lea rdx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140009cbd
mov rbx, qword [rbp - 8]
xor r12b, r12b
mov rdi, qword [rbp + 0x108]
jmp 0x140009e75
mov eax, dword [str.T_X_]
mov dword [rsp + 0x54], eax
cmp byte [0x14002edc3], 0
je 0x140009daf
cmp dword [0x140037020], 2
jl 0x140009d71
movdqa xmm3, xmmword [0x14002f4e0]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x14002f580]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x14002f580]
shufps xmm2, xmm0, 0xdd
mov ecx, 1
movd xmm0, ecx
psrad xmm2, xmm0
mov ecx, 0x1f
movd xmm0, ecx
movdqa xmm1, xmm2
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x14002f500]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14002f570]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x14002f590]
movd xmm0, eax
pxor xmm2, xmm0
movd dword [rsp + 0x54], xmm2
jmp 0x140009daf
lea r9, [rsp + 0x54]
mov r8d, ebx
nop dword [rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x140009d80
mov rax, qword [rbp + 0x108]
lea rcx, [rax - 3]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rbx
cmp rax, rcx
jb 0x14000a7ae
sub rax, rcx
mov r8, r12
cmp rax, 0xffffffffffffffff
cmovb r8, rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 0x10
cmovae rdx, qword [rbp + 0xf8]
add rdx, rcx
lea rcx, [rbp - 0x20]
call fcn.140015550
or r13d, 0x204
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x30], r13d
lea rcx, [rsp + 0x54]
mov rax, r12
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140009e20
lea rcx, [rbp - 0x20]
mov rbx, qword [rbp - 8]
cmp rbx, 0x10
cmovae rcx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
cmp r8, rax
jne 0x140009e5d
lea rdx, [rsp + 0x54]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140009e5d
xor r12b, r12b
mov rdi, qword [rbp + 0x108]
jmp 0x140009e75
mov rdi, qword [rbp + 0x108]
jmp 0x140009e72
mov r15, qword [rbp + 0x18]
mov rsi, qword [rbp]
mov rbx, qword [rbp - 8]
mov r12b, 1
test r13b, 4
je 0x140009ec8
and r13d, 0xfffffffb
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x30], r13d
cmp rbx, 0x10
jb 0x140009ec8
lea rdx, [rbx + 1]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009ebc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a5ff
call fcn.140027bb4
mov rdi, qword [rbp + 0x108]
test r13b, 2
je 0x140009f1a
and r13d, 0xfffffffd
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x30], r13d
cmp r15, 0x10
jb 0x140009f1a
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140009f0b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a606
mov rcx, rsi
call fcn.140027bb4
mov rdi, qword [rbp + 0x108]
test r12b, r12b
je 0x140009f6a
mov rdx, qword [rbp + 0x110]
cmp rdx, 0x10
jb 0x14000a5cd
inc rdx
mov rcx, qword [rbp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a5c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000a5c8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movsd xmm0, qword [0x14002e960]
movsd qword [rsp + 0x38], xmm0
movzx eax, word [0x14002e968]
mov word [rsp + 0x40], ax
movzx ecx, byte [0x14002e96a]
mov byte [rsp + 0x38], 0x30
xor byte [rsp + 0x39], 0x39
xor byte [rsp + 0x3a], 0x3a
xor byte [rsp + 0x3b], 0x3b
xor byte [rsp + 0x3c], 0x3c
xor byte [rsp + 0x3d], 0x3d
xor byte [rsp + 0x3e], 0x3e
xor byte [rsp + 0x3f], 0x3f
xor al, 0x40
mov byte [rsp + 0x40], al
xor byte [rsp + 0x41], 0x41
xor cl, 0x42
mov byte [rsp + 0x42], cl
lea rax, [rsp + 0x38]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140009fd1
lea rcx, [rbp + 0xf8]
mov r15, qword [rbp + 0x110]
cmp r15, 0x10
setae r12b
mov rsi, qword [rbp + 0xf8]
cmovae rcx, rsi
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
lea rdx, [rsp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000a597
cmp rdi, rbx
jb 0x14000a597
ja 0x14000a597
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x180]
call sub.VCRUNTIME140.dll_memset
cmp qword [r14 + 0x18], 8
jb 0x14000a044
mov r14, qword [r14]
mov r8d, 0x20
mov rdx, r14
lea rcx, [rbp + 0x180]
call fcn.140012df0
mov rax, qword [rbp + 0x180]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x180], rdi
mov rax, qword [rbp + 0x180]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x17c], edx
cmp qword [rbp + 0x210], 0
jne 0x14000a0eb
mov rax, qword [rbp + 0x180]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x180], rdi
mov rax, qword [rbp + 0x180]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x17c], edx
lea rcx, [rbp + 0x190]
call fcn.1400120b0
lea rcx, [rbp + 0x198]
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 + 0x230]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x140009f1f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], rax
xor r12d, r12d
mov qword [rbp + 0x50], r12
mov word [rbp + 0x58], 1
mov rax, qword [rbp + 0x180]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x1c8]
mov qword [rbp - 0x50], rax
test rax, rax
sete byte [rbp - 0x48]
mov byte [rbp - 0x47], r12b
movdqu xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], r12
lea rcx, [rbp + 0xc8]
mov qword [rbp + 0xa0], rcx
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x80], xmm0
movaps xmm1, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x60], xmm1
movzx esi, byte [rsp + 0x69]
mov rbx, qword [rsp + 0x60]
movzx r15d, byte [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
test rax, rax
jne 0x14000a17d
movzx r14d, byte [rsp + 0x68]
jmp 0x14000a1a0
test rbx, rbx
je 0x14000a195
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x14000a195
movzx esi, al
jmp 0x14000a198
mov rbx, r12
mov r14b, 1
nop dword [rax + rax]
test r15b, r15b
jne 0x14000a1be
test rdi, rdi
je 0x14000a1b8
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
jne 0x14000a1bb
mov rdi, r12
mov r15b, 1
test rbx, rbx
jne 0x14000a3a2
test rdi, rdi
jne 0x14000a3ab
mov rax, qword [rbp + 0xd0]
sub rax, qword [rbp + 0xc8]
mov qword [rsp + 0x60], rax
mov r14, r12
je 0x14000a523
mov esi, 0x20
mov qword [rsp + 0x70], rsi
mov ebx, 0x19
lea r12d, [rsi - 1]
mov qword [rsp + 0x58], rbx
lea r15d, [rsi - 8]
mov r13d, 0x39
mov qword [rbp - 0x80], r13
mov rax, qword [rbp + 0xd0]
sub rax, qword [rbp + 0xc8]
cmp r13, rax
ja 0x14000a4f0
mov rdi, r14
cmp r14, r15
jae 0x14000a277
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0xc8]
movsx ebx, byte [rax + rdi]
cmp bl, 0xff
jl 0x14000a25c
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne 0x14000a26a
cmp bl, 0x2d
je 0x14000a26a
cmp bl, 0x5f
jne 0x14000a4eb
inc rdi
cmp rdi, r15
jb 0x14000a240
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbp + 0xc8]
cmp byte [rax + r14 + 0x18], 0x2e
jne 0x14000a4f0
mov rdi, rbx
cmp rbx, r12
jae 0x14000a2d7
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0xc8]
movsx ebx, byte [rax + rdi]
cmp bl, 0xff
jl 0x14000a2bc
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne 0x14000a2ca
cmp bl, 0x2d
je 0x14000a2ca
cmp bl, 0x5f
jne 0x14000a4eb
inc rdi
cmp rdi, r12
jb 0x14000a2a0
mov rbx, qword [rsp + 0x58]
mov r8, qword [rbp + 0xc8]
cmp byte [r8 + r14 + 0x1f], 0x2e
jne 0x14000a4f0
mov rcx, qword [rbp + 0xd0]
sub rcx, r8
mov rbx, qword [rsp + 0x70]
sub rcx, rbx
mov r13d, 0x6e
cmp rcx, r13
cmovb r13, rcx
xor ecx, ecx
mov esi, ecx
mov rdi, rbx
add r13, rbx
cmp rbx, r13
jae 0x14000a358
nop dword [rax + rax]
mov rax, qword [rbp + 0xc8]
movsx ebx, byte [rax + rdi]
cmp bl, 0xff
jl 0x14000a33c
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne 0x14000a346
cmp bl, 0x2d
je 0x14000a346
cmp bl, 0x5f
jne 0x14000a351
inc rsi
inc rdi
cmp rdi, r13
jb 0x14000a320
mov rbx, qword [rsp + 0x70]
xor ecx, ecx
cmp esi, 0x19
jl 0x14000a4e2
mov rdx, qword [rbp + 0xc8]
add rdx, r14
movsxd rax, esi
lea r8, [rdx + 0x20]
add r8, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rcx
cmp rdx, r8
jne 0x14000a429
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
jmp 0x14000a436
test rdi, rdi
jne 0x14000a1d0
test r14b, r14b
jne 0x14000a3cb
test rbx, rbx
je 0x14000a3c8
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x14000a3c8
movzx esi, al
jmp 0x14000a3cb
mov rbx, r12
mov byte [rsp + 0x48], sil
mov rax, qword [rbp + 0xd0]
cmp rax, qword [rbp + 0xd8]
je 0x14000a3ec
mov byte [rax], sil
inc qword [rbp + 0xd0]
jmp 0x14000a404
lea r8, [rsp + 0x48]
mov rdx, qword [rbp + 0xd0]
lea rcx, [rbp + 0xc8]
call fcn.14001b1e0
test rbx, rbx
je 0x14000a195
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sbumpc_void____ptr64]
cmp eax, 0xffffffff
je 0x14000a195
mov byte [rsp + 0x68], 0
jmp 0x14000a17d
sub r8, rdx
lea rcx, [rbp - 0x70]
call fcn.140015550
nop
mov rax, qword [rbp + 0xe8]
cmp rax, qword [rbp + 0xf0]
je 0x14000a46c
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rax + 0x10], xmm1
mov eax, 0xf
mov qword [rbp - 0x58], rax
mov byte [rbp - 0x70], 0
add qword [rbp + 0xe8], 0x20
jmp 0x14000a487
lea r8, [rbp - 0x70]
mov rdx, qword [rbp + 0xe8]
lea rcx, [rbp + 0xe0]
call fcn.14001aa70
mov rax, qword [rbp - 0x58]
cmp rax, 0x10
jb 0x14000a4bf
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a4ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a60d
call fcn.140027bb4
add r14, 0x38
mov r13, qword [rbp - 0x80]
add r13, 0x38
add r15, 0x38
add qword [rsp + 0x58], 0x38
add r12, 0x38
add rbx, 0x38
mov rsi, rbx
jmp 0x14000a4eb
mov rsi, qword [rsp + 0x70]
mov r13, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x58]
inc r14
inc r13
mov qword [rbp - 0x80], r13
inc r15
inc rbx
mov qword [rsp + 0x58], rbx
inc r12
inc rsi
mov qword [rsp + 0x70], rsi
cmp r14, qword [rsp + 0x60]
jb 0x14000a212
mov r13d, dword [rsp + 0x4c]
xor r12d, r12d
mov r8, qword [rbp + 0xc8]
test r8, r8
je 0x14000a578
mov rdx, qword [rbp + 0xd8]
sub rdx, r8
mov rax, r8
cmp rdx, 0x1000
jb 0x14000a55e
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a614
mov rcx, r8
call fcn.140027bb4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], r12
mov rax, qword [rbp + 0x180]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x180], rax
jmp 0x14000a0a8
test r12b, r12b
je 0x14000a5cd
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14000a5c5
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f63
mov rcx, rsi
call fcn.140027bb4
lea rcx, [rbp + 0x130]
call fcn.140003530
mov rax, qword [rbp + 0x130]
mov r12, 0xffffffffffffffff
test rax, rax
je 0x14000a61b
mov r15d, dword [0x140037020]
jmp 0x140009a10
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rbx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x48]
xor r14d, r14d
lea edi, [r14 + 1]
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x14000a676
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000a66f
mov rbx, qword [rbp + 0x138]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000a66f
mov rcx, qword [rbp + 0x138]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rbp + 0x128]
test rbx, rbx
je 0x14000a6a5
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14000a6a5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r12d
cmp r12d, 1
jne 0x14000a6a5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rdx, qword [rbp + 0xf0]
mov qword [rbp + 0xf0], r14
mov rcx, qword [rbp + 0xe8]
mov qword [rbp + 0xe8], r14
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xe0], r14
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
lea rcx, [rbp + 0x140]
call fcn.140012bd0
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x14000a70c
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14000a70c
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, edi
mov rcx, rax
call r8
nop
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x14000a766
mov rdx, qword [rbp + 0xe8]
call fcn.140015650
mov rdx, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0xe0]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a761
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000a761
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140027bb4
mov rax, rsi
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.140027a80
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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 rbp
ret
call fcn.140013760
nop
call fcn.140013760
int3