Function at 0x140019660
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x298]
sub rsp, 0x370
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1400ac2c0]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov r14, r8
mov rsi, rdx
mov rdi, rcx
mov r15, qword [rbp + 0x2c0]
xor ebx, ebx
mov qword [rbp + 0x1d8], rbx
mov qword [rbp + 0x1c8], rbx
mov qword [rbp + 0x1d0], rbx
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 0x18
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x1d8]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x14001973f
lea rdx, [rsp + 0x30]
call fcn.14001ad70
mov r9, rax
cmp word [rax + 0x1e], bx
je 0x14001a8d6
cmp dword [0x1400ac318], 2
jge 0x14001a72c
mov r8, r9
nop word [rax + rax]
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x10
jge 0x14001a8d6
jmp 0x140019710
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800c
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x1400197bf
lea rdx, [rsp + 0x30]
call fcn.14001ad90
mov r9, rax
cmp word [rax + 0x1e], bx
je 0x14001aa99
cmp dword [0x1400ac318], 2
jge 0x14001a8df
mov r8, r9
nop
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x10
jge 0x14001aa99
jmp 0x140019790
xor r9d, r9d
mov r8d, 0x20
mov rdx, r14
mov rcx, qword [rbp + 0x1d0]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x14001983f
lea rdx, [rsp + 0x30]
call fcn.14001adb0
mov r9, rax
cmp word [rax + 0x1e], bx
je 0x14001ac5c
cmp dword [0x1400ac318], 2
jge 0x14001aaa2
mov r8, r9
nop dword [rax]
nop word [rax + rax]
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x10
jge 0x14001ac5c
jmp 0x140019810
lea rax, [rbp + 0x1c8]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, qword [rbp + 0x1d0]
mov edx, 0x6610
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
jne 0x140019a98
lea rdx, [rsp + 0x30]
call fcn.14001add0
mov r9, rax
cmp word [rax + 0x20], bx
je 0x14001ac65
cmp dword [0x1400ac318], 2
jl 0x140019a55
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax]
xorps xmm3, xmm0
movq qword [rax], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 8]
xorps xmm3, xmm0
movq qword [rax + 8], xmm3
movdqa xmm2, xmmword [0x14009e390]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x10]
xorps xmm3, xmm0
movq qword [rax + 0x10], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x18]
xorps xmm3, xmm0
movq qword [rax + 0x18], xmm3
mov ebx, 0x10
mov eax, ebx
lea r8, [r9 + rax*2]
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x11
jge 0x14001ac65
jmp 0x140019a60
xor r9d, r9d
mov r8, r15
mov edx, 1
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
jne 0x140019cd9
lea rdx, [rsp + 0x30]
call fcn.14001ae00
mov r9, rax
cmp word [rax + 0x20], bx
je 0x14001ac6e
cmp dword [0x1400ac318], 2
jl 0x140019c9b
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax]
xorps xmm3, xmm0
movq qword [rax], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 8]
xorps xmm3, xmm0
movq qword [rax + 8], xmm3
movdqa xmm2, xmmword [0x14009e390]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x10]
xorps xmm3, xmm0
movq qword [rax + 0x10], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x18]
xorps xmm3, xmm0
movq qword [rax + 0x18], xmm3
mov ebx, 0x10
mov eax, ebx
lea r8, [r9 + rax*2]
mov eax, 0xa0a0a0a1
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x11
jge 0x14001ac6e
jmp 0x140019ca1
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0xb0]
call fcn.140088570
cmp qword [rdi + 0x18], 0xf
jbe 0x140019cf7
mov rdi, qword [rdi]
mov r8d, 0x20
mov rdx, rdi
lea rcx, [rbp + 0xb0]
call fcn.1400555a0
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xb0], r15
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xac], edx
mov rcx, qword [rbp + 0xb0]
movsxd rax, dword [rcx + 4]
test byte [rbp + rax + 0xc0], 6
je 0x140019f79
lea rdx, [rsp + 0x30]
call fcn.14001ae30
mov r9, rax
cmp word [rax + 0x20], 0
je 0x14001ac77
cmp dword [0x1400ac318], 2
jl 0x140019f3b
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax]
xorps xmm3, xmm0
movq qword [rax], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 8]
xorps xmm3, xmm0
movq qword [rax + 8], xmm3
movdqa xmm2, xmmword [0x14009e390]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x10]
xorps xmm3, xmm0
movq qword [rax + 0x10], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x18]
xorps xmm3, xmm0
movq qword [rax + 0x18], xmm3
mov ebx, 0x10
mov eax, ebx
lea r8, [r9 + rax*2]
mov eax, 0xa0a0a0a1
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x11
jge 0x14001ac77
jmp 0x140019f41
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1f8], xmm0
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], rbx
mov word [rbp + 0x218], 1
movsxd rax, dword [rcx + 4]
mov rcx, qword [rbp + rax + 0xf8]
mov qword [rsp + 0x30], rcx
test rcx, rcx
sete byte [rsp + 0x38]
mov byte [rsp + 0x39], 0
movaps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x210], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rbp + 0x210]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1f8]
call fcn.140058aa0
nop
lea rcx, [rbp + 0xc0]
call fcn.140055150
mov edi, 6
mov r14d, 2
test rax, rax
jne 0x14001a043
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
mov eax, edi
cmp qword [rbp + rcx + 0xf8], 0
cmovne eax, r14d
or eax, dword [rbp + rcx + 0xc0]
and eax, 0x17
mov dword [rbp + rcx + 0xc0], eax
mov edx, dword [rbp + rcx + 0xc4]
and edx, eax
jne 0x14001acbb
mov edx, dword [rbp + 0x200]
sub edx, dword [rbp + 0x1f8]
mov dword [rbp + 0x1c0], edx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x1e0]
call fcn.14004e4f0
nop
mov r8d, dword [rbp + 0x1c0]
mov rdx, qword [rbp + 0x1f8]
mov rcx, qword [rbp + 0x1e0]
call fcn.140087ed0
lea rax, [rbp + 0x1c0]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
mov r8d, 1
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
jne 0x14001a25f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400036f0
mov r10, rax
lea rdx, [rsp + 0x60]
call fcn.14001ae60
mov r9, rax
cmp word [rax + 0x3e], 0
je 0x14001ac80
cmp dword [0x1400ac318], 2
jl 0x14001a222
movdqa xmm5, xmmword [0x14009e350]
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm6, xmmword [str.3333]
movdqa xmm7, xmmword [0x14009e400]
mov rcx, rax
nop dword [rax]
nop dword [rax + rax]
movd xmm2, ebx
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
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [rbx + 4]
movd xmm2, eax
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
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add ebx, 8
lea rcx, [rcx + 0x10]
cmp ebx, 0x20
jge 0x14001ac80
jmp 0x14001a130
mov r8, r9
nop word [rax + rax]
mov eax, 0xa0a0a0a1
mul ebx
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x20
jge 0x14001ac80
jmp 0x14001a230
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x60]
call fcn.140088570
cmp qword [rsi + 0x18], 0xf
jbe 0x14001a27a
mov rsi, qword [rsi]
mov r8d, 0x20
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.14004e2e0
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rsi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x64], edx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x50], 6
je 0x14001a4e8
lea rdx, [rsp + 0x30]
call fcn.14001ae90
mov r9, rax
cmp word [rax + 0x20], 0
je 0x14001acb2
cmp dword [0x1400ac318], 2
jl 0x14001a4a9
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax]
xorps xmm3, xmm0
movq qword [rax], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 8]
xorps xmm3, xmm0
movq qword [rax + 8], xmm3
movdqa xmm2, xmmword [0x14009e390]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x10]
xorps xmm3, xmm0
movq qword [rax + 0x10], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x18]
xorps xmm3, xmm0
movq qword [rax + 0x18], xmm3
mov ebx, 0x10
mov eax, ebx
lea r8, [r9 + rax*2]
nop
mov eax, 0xa0a0a0a1
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, bx
sub ax, cx
add ax, 0x34
xor word [r8], ax
inc ebx
lea r8, [r8 + 2]
cmp ebx, 0x11
jge 0x14001acb2
jmp 0x14001a4b0
mov r8d, dword [rbp + 0x1c0]
mov rdx, qword [rbp + 0x1e0]
lea rcx, [rbp - 0x60]
call fcn.140051470
lea rcx, [rbp - 0x58]
call fcn.140055150
test rax, rax
jne 0x14001a536
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
cmp qword [rbp + rcx - 0x18], 0
cmovne edi, r14d
or edi, dword [rbp + rcx - 0x50]
and edi, 0x17
mov dword [rbp + rcx - 0x50], edi
mov eax, dword [rbp + rcx - 0x4c]
and eax, edi
jne 0x14001ad13
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, qword [rbp + 0x1d0]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov r8, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1e0]
sub r8, rcx
xor edx, edx
call fcn.140088570
nop
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], rsi
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x58]
call fcn.140050570
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x64], edx
lea rdi, vtable.std::ios_base.0
mov qword [rbp + 0x48], rdi
lea rcx, [rbp + 0x48]
call fcn.14006133c
nop
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x14001a62a
mov rdx, qword [rbp + 0x1f0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a613
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001ad69
call fcn.1400626b0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], rbx
mov rcx, qword [rbp + 0x1f8]
test rcx, rcx
je 0x14001a67c
mov rdx, qword [rbp + 0x208]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a665
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001a726
call fcn.1400626b0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1f8], xmm0
mov qword [rbp + 0x208], rbx
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xb0], r15
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xac], edx
lea rcx, [rbp + 0xc0]
call fcn.140050570
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xb0], rax
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0xac], edx
mov qword [rbp + 0x160], rdi
lea rcx, [rbp + 0x160]
call fcn.14006133c
nop
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.140062690
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.14007025c
nop
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm6
movq xmm0, qword [rax]
xorps xmm2, xmm0
movq qword [rax], xmm2
movdqa xmm3, xmmword [0x14009e370]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm6
movq xmm0, qword [rax + 8]
xorps xmm2, xmm0
movq qword [rax + 8], xmm2
movdqa xmm3, xmmword [0x14009e390]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm6
movq xmm0, qword [rax + 0x10]
xorps xmm2, xmm0
movq qword [rax + 0x10], xmm2
movdqa xmm3, xmmword [0x14009e3b0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
pshufhw xmm0, xmm3, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm2, xmm6
movq xmm0, qword [rax + 0x18]
xorps xmm2, xmm0
movq qword [rax + 0x18], xmm2
mov rcx, r9
call fcn.140007600
int3
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax]
xorps xmm3, xmm0
movq qword [rax], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 8]
xorps xmm3, xmm0
movq qword [rax + 8], xmm3
movdqa xmm2, xmmword [0x14009e390]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x10]
xorps xmm3, xmm0
movq qword [rax + 0x10], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x18]
xorps xmm3, xmm0
movq qword [rax + 0x18], xmm3
mov rcx, r9
call fcn.140007600
int3
movdqa xmm4, xmmword [0x14009e430]
movdqa xmm5, xmmword [str.3333]
movdqa xmm6, xmmword [0x14009e400]
movdqa xmm2, xmmword [0x14009e350]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax]
xorps xmm3, xmm0
movq qword [rax], xmm3
movdqa xmm2, xmmword [0x14009e370]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 8]
xorps xmm3, xmm0
movq qword [rax + 8], xmm3
movdqa xmm2, xmmword [0x14009e390]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x10]
xorps xmm3, xmm0
movq qword [rax + 0x10], xmm3
movdqa xmm2, xmmword [0x14009e3b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm6
paddw xmm3, xmm2
movq xmm0, qword [rax + 0x18]
xorps xmm3, xmm0
movq qword [rax + 0x18], xmm3
mov rcx, r9
call fcn.140007600
int3
mov rcx, r9
call fcn.140007600
int3
mov rcx, r9
call fcn.140007600
nop
mov rcx, r9
call fcn.140007600
nop
mov r8, r10
mov rdx, r9
lea rcx, [rbp + 0x210]
call fcn.140058dc0
nop
lea rcx, [rsp + 0x30]
call fcn.140003dc0
lea rcx, [rbp + 0x210]
call fcn.140052030
mov rcx, rax
call fcn.140007600
nop
mov rcx, r9
call fcn.140007600
nop
test dl, 4
je 0x14001acc9
lea rbx, str.ios_base::badbit_set
jmp 0x14001acde
test r14b, dl
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.140001e90
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x210]
call fcn.140003380
lea rdx, [0x1400a9388]
lea rcx, [rbp + 0x210]
call fcn.1400646dc
nop
test al, 4
je 0x14001ad20
lea rbx, str.ios_base::badbit_set
jmp 0x14001ad34
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.140001e90
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x210]
call fcn.140003380
lea rdx, [0x1400a9388]
lea rcx, [rbp + 0x210]
call fcn.1400646dc
nop
call fcn.14007025c
int3