Function at 0x1400a7b70
Capabilities:
Authenticate hmac

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
movdqa xmmword [rsp + 0x1a0], xmm15
movdqa xmmword [rsp + 0x190], xmm14
movdqa xmmword [rsp + 0x180], xmm13
movdqa xmmword [rsp + 0x170], xmm12
movdqa xmmword [rsp + 0x160], xmm11
movdqa xmmword [rsp + 0x150], xmm10
movdqa xmmword [rsp + 0x140], xmm9
movdqa xmmword [rsp + 0x130], xmm8
movdqa xmmword [rsp + 0x120], xmm7
movdqa xmmword [rsp + 0x110], xmm6
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x1406de900]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], r8
mov rcx, rdx
call fcn.1400ab230
test rax, rax
je 0x1400a7d92
mov r15, rax
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
jne 0x1400a7e22
mov r12d, dword [r15 + 0x50]
xor ecx, ecx
mov rdx, r12
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, rax
cmp dword [0x1406e8284], 0xa
jl 0x1400a7cb8
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a7cb8
mov rdi, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
nop
mov edx, dword [r15 + 0x50]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 4
call rdi
mov r12d, dword [r15 + 0x50]
xor ecx, ecx
mov rdx, r12
mov r8d, 0x3000
mov r9d, 4
call rdi
mov r13, rax
cmp dword [0x1406e8284], 0xa
jl 0x1400a7cb8
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400a7c70
xor ecx, ecx
test r13, r13
je 0x1400a7f1c
movzx eax, word [r15 + 0x14]
mov eax, dword [r15 + rax + 0x24]
cmp byte [rsp + 0x228], 0
mov qword [rsp + 0x40], rax
cmovne ecx, eax
mov eax, dword [rsp + 0x230]
sub r12d, ecx
mov qword [rsp + 0x88], 0
cmp eax, 1
mov qword [rsp + 0x48], rcx
jne 0x1400a817d
mov ebp, r12d
lea r8, [rsp + 0x88]
mov rcx, r14
mov rdx, rbp
call fcn.1400a6610
mov rbx, rax
cmp dword [0x1406e8284], 0xa
jl 0x1400a819f
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a819f
lea rdi, [rsp + 0x88]
nop word cs:[rax + rax]
nop
mov rcx, r14
mov rdx, rbp
mov r8, rdi
call fcn.1400a6610
mov rcx, r14
mov rdx, rbp
mov r8, rdi
call fcn.1400a6610
mov rbx, rax
cmp dword [0x1406e8284], 0xa
jl 0x1400a819f
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400a7d50
jmp 0x1400a819f
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e8284], 0xa
setl al
or al, cl
test al, al
je 0x1400a7db0
cmp dword [0x1406e828c], 0xa
jl 0x1400a7f9d
mov eax, dword [0x1406e8288]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a7f9d
movups xmm0, xmmword [0x140262d1c]
movups xmm1, xmmword [0x140262d0e]
movups xmm2, xmmword [0x140262cfe]
movups xmm3, xmmword [0x140262cee]
nop word cs:[rax + rax]
nop dword [rax]
movups xmmword [rsp + 0xce], xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm3
jmp 0x1400a7e00
movups xmm0, xmmword [0x140262d2c]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [0x140262d3c]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [0x140262d4c]
movaps xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xa0], 0x5b
movups xmm0, xmmword [rsp + 0xa2]
movaps xmm1, xmm0
andnps xmm1, xmmword [0x140259960]
andps xmm0, xmmword [0x140259970]
orps xmm0, xmm1
movups xmmword [rsp + 0xa2], xmm0
movdqu xmm0, xmmword [rsp + 0xb2]
movdqa xmm1, xmm0
pandn xmm1, xmmword [str.9:_____]
pand xmm0, xmmword [0x140259990]
por xmm0, xmm1
movdqu xmmword [rsp + 0xb2], xmm0
xor byte [rsp + 0xc2], 0x41
xor byte [rsp + 0xc4], 0x42
xor byte [rsp + 0xc6], 0x43
xor byte [rsp + 0xc8], 0x44
xor byte [rsp + 0xca], 0x45
xor byte [rsp + 0xcc], 0x46
xor byte [rsp + 0xce], 0x47
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0xa0]
call fcn.140090c40
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
xor edi, edi
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1401fc630
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm8, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x140]
movaps xmm10, xmmword [rsp + 0x150]
movaps xmm11, xmmword [rsp + 0x160]
movaps xmm12, xmmword [rsp + 0x170]
movaps xmm13, xmmword [rsp + 0x180]
movaps xmm14, xmmword [rsp + 0x190]
movaps xmm15, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [0x140262d1c]
movups xmmword [rsp + 0xce], xmm0
movups xmm0, xmmword [0x140262d0e]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [0x140262cfe]
movaps xmmword [rsp + 0xb0], xmm0
movdqu xmm0, xmmword [0x140262cee]
movdqa xmmword [rsp + 0xa0], xmm0
mov eax, dword [0x1406e7ee4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e7ee0], 0xa
setl r9b
or r9b, cl
mov ecx, dword [0x1406e8290]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406e8294], 0xa
setl r8b
or r8b, cl
xor edx, edx
movdqa xmm8, xmmword [0x140259910]
movdqa xmm9, xmmword [0x140259920]
movdqa xmm2, xmmword [str.89:____]
movdqa xmm3, xmmword [0x140259940]
movdqa xmm4, xmmword [str._ABCDEFG12345678]
movdqa xmm5, xmmword [0x140262300]
nop
movzx edi, word [rsp + rdx*2 + 0xa0]
lea rbx, [rdx + 0x30]
mov ebp, edi
not ebp
test r9b, r9b
je 0x1400a8070
mov esi, 0xffcf
sub rsi, rdx
jmp 0x1400a8090
mov eax, ebx
and eax, ebp
mov esi, 0xffcf
sub rsi, rdx
mov ecx, esi
and ecx, edi
or ecx, eax
jmp 0x1400a8170
mov eax, ebp
and eax, ebx
mov ecx, esi
and ecx, edi
or ecx, eax
mov word [rsp + rdx*2 + 0xa0], cx
test r9b, r9b
je 0x1400a8170
add rdx, 1
cmp rdx, 0x1f
jne 0x1400a8050
test r8b, r8b
jne 0x1400a7edf
movdqa xmm6, xmmword [rsp + 0xa0]
movdqa xmm7, xmmword [rsp + 0xb0]
movdqa xmm0, xmmword [rsp + 0xc0]
movdqa xmm1, xmm6
pandn xmm1, xmm8
pand xmm6, xmm9
por xmm6, xmm1
movdqa xmmword [rsp + 0xa0], xmm6
movdqa xmm1, xmm7
pandn xmm1, xmm2
pand xmm7, xmm3
por xmm7, xmm1
movdqa xmmword [rsp + 0xb0], xmm7
movdqa xmm1, xmm0
pandn xmm1, xmm4
pand xmm0, xmm5
por xmm0, xmm1
movdqa xmmword [rsp + 0xc0], xmm0
xor byte [rsp + 0xd0], 0x48
xor byte [rsp + 0xd2], 0x49
xor byte [rsp + 0xd4], 0x4a
xor byte [rsp + 0xd6], 0x4b
xor byte [rsp + 0xd8], 0x4c
xor byte [rsp + 0xda], 0x4d
xor byte [rsp + 0xdc], 0x4e
xor edx, edx
jmp 0x1400a8050
mov word [rsp + rdx*2 + 0xa0], cx
jmp 0x1400a8090
cmp eax, 2
jne 0x1400a818f
mov rcx, r14
mov edx, r12d
call fcn.1400a7570
jmp 0x1400a819c
mov r8d, r12d
mov rcx, r14
xor edx, edx
call fcn.14009ca60
mov rbx, rax
test rbx, rbx
je 0x1400a81d4
mov qword [rsp + 0x30], r14
mov ebp, dword [r15 + 0x54]
cmp dword [0x1406e8284], 0xa
jl 0x1400a8441
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400a8470
jmp 0x1400a8441
movups xmm0, xmmword [0x140262da8]
movups xmmword [rsp + 0xec], xmm0
movups xmm0, xmmword [0x140262d9c]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [0x140262d8c]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [0x140262d7c]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [0x140262d6c]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [0x140262d5c]
movaps xmmword [rsp + 0xa0], xmm0
mov eax, dword [0x1406e7f04]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e7f00], 0xa
setl al
or al, cl
mov ecx, dword [0x1406e7c34]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406e7c30], 0xa
setl cl
or cl, dl
xor edx, edx
movdqa xmm8, xmmword [0x140259910]
movdqa xmm9, xmmword [0x140259920]
movdqa xmm10, xmmword [str.89:____]
movdqa xmm11, xmmword [0x140259940]
movdqa xmm12, xmmword [str._ABCDEFG12345678]
movdqa xmm13, xmmword [0x140262300]
movdqa xmm14, xmmword [str.HIJKLMNO]
movdqa xmm7, xmmword [0x140262320]
movdqa xmm0, xmmword [str.PQRSTUVW]
movdqa xmm1, xmmword [0x140262340]
nop word cs:[rax + rax]
nop dword [rax]
test al, al
je 0x1400a82d0
movzx ebp, word [rsp + rdx*2 + 0xa0]
mov ebx, 0xffffffcf
sub ebx, edx
and ebx, ebp
not ebp
lea edi, [rdx + 0x30]
and edi, ebp
or ebx, edi
mov word [rsp + rdx*2 + 0xa0], bx
add rdx, 1
cmp rdx, 0x2e
jne 0x1400a82d0
test cl, cl
jne 0x1400a83f0
movdqa xmm2, xmmword [rsp + 0xa0]
movdqa xmm3, xmmword [rsp + 0xb0]
movdqa xmm4, xmmword [rsp + 0xc0]
movdqa xmm5, xmmword [rsp + 0xd0]
movdqa xmm6, xmm2
pandn xmm6, xmm8
pand xmm2, xmm9
por xmm2, xmm6
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmm2, xmm3
pandn xmm2, xmm10
pand xmm3, xmm11
por xmm3, xmm2
movdqa xmmword [rsp + 0xb0], xmm3
movdqa xmm2, xmm4
pandn xmm2, xmm12
pand xmm4, xmm13
por xmm4, xmm2
movdqa xmmword [rsp + 0xc0], xmm4
movdqa xmm2, xmm5
pandn xmm2, xmm14
pand xmm5, xmm7
por xmm5, xmm2
movdqa xmmword [rsp + 0xd0], xmm5
movdqa xmm2, xmmword [rsp + 0xe0]
movdqa xmm3, xmm2
pandn xmm3, xmm0
pand xmm2, xmm1
por xmm2, xmm3
movdqa xmmword [rsp + 0xe0], xmm2
xor byte [rsp + 0xf0], 0x58
xor byte [rsp + 0xf2], 0x59
xor byte [rsp + 0xf4], 0x5a
xor byte [rsp + 0xf6], 0x5b
xor byte [rsp + 0xf8], 0x5c
xor byte [rsp + 0xfa], 0x5d
xor edx, edx
jmp 0x1400a82d0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0xa0]
call fcn.140090c40
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
xor ebx, ebx
cmp dword [0x1406e8284], 0xa
jge 0x1400a8cc8
jmp 0x1400a8f69
mov rcx, r13
mov rdx, rsi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
movzx edi, word [r15 + 0x14]
mov eax, dword [0x1406e8280]
mov ecx, dword [0x1406e8284]
cmp ecx, 0xa
jl 0x1400a8480
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1400a8480
mov rcx, r13
mov rdx, rsi
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400a8441
movzx edx, word [r15 + 6]
test dx, dx
mov qword [rsp + 0x38], rbx
je 0x1400a8522
mov rbx, r15
add rbx, 0x18
add rdi, rbx
mov rbx, qword [rsp + 0x38]
add rdi, 0xc
xor r14d, r14d
jmp 0x1400a84c5
movzx edx, word [r15 + 6]
add r14, 1
movzx ebp, dx
add rdi, 0x28
cmp r14, rbp
jae 0x1400a8522
cmp byte [rdi + 0x18], 0
js 0x1400a84b5
mov ebp, dword [rdi]
add rbp, r13
cmp ecx, 0xa
jl 0x1400a84e0
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400a850e
mov r8d, dword [rdi + 4]
mov edx, dword [rdi + 8]
add rdx, rsi
mov rcx, rbp
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x1406e8280]
mov ecx, dword [0x1406e8284]
cmp ecx, 0xa
jl 0x1400a84b0
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1400a84b0
mov r8d, dword [rdi + 4]
mov edx, dword [rdi + 8]
add rdx, rsi
mov rcx, rbp
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400a84e0
xor eax, eax
cmp byte [rsp + 0x228], 0
cmovne rax, qword [rsp + 0x40]
mov r14, rbx
sub r14, rax
mov rsi, r14
sub rsi, qword [r15 + 0x30]
lea rbp, [rsp + 0x70]
mov rcx, rbp
mov rdx, r13
call fcn.1400ab260
mov rcx, rbp
mov rdx, rsi
call fcn.1400a8fd0
mov rcx, r13
mov rdx, r14
call fcn.1400a91a0
test al, al
je 0x1400a8590
cmp dword [0x1406e8284], 0xa
jl 0x1400a8623
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400a864a
jmp 0x1400a8623
movups xmm0, xmmword [0x140262db8]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [0x140262dc8]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [0x140262dd8]
movaps xmmword [rsp + 0xc0], xmm0
movzx eax, word [0x140262de8]
mov word [rsp + 0xd0], ax
mov word [rsp + 0xa0], 0x5b
movups xmm0, xmmword [rsp + 0xa2]
xorps xmm0, xmmword [0x140259960]
movups xmmword [rsp + 0xa2], xmm0
movups xmm0, xmmword [rsp + 0xb2]
xorps xmm0, xmmword [str.9:_____]
movups xmmword [rsp + 0xb2], xmm0
movdqu xmm0, xmmword [rsp + 0xc2]
pxor xmm0, xmmword [str.ABCDEFGH]
movdqu xmmword [rsp + 0xc2], xmm0
jmp 0x1400a7edf
lea rcx, [rsp + 0x58]
mov rdx, r13
call fcn.1400ab550
cmp dword [0x1406e8284], 0xa
jl 0x1400a8659
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a8659
lea rcx, [rsp + 0x58]
mov rdx, r13
call fcn.1400ab550
jmp 0x1400a8623
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
call fcn.1400a9280
cmp dword [0x1406e8284], 0xa
jl 0x1400a86c0
mov ecx, dword [0x1406e8280]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400a86c0
lea rsi, [rsp + 0x58]
mov rdi, qword [rsp + 0x30]
nop dword [rax]
mov rcx, rdi
mov rdx, rsi
call fcn.1400a9280
mov rcx, rdi
mov rdx, rsi
call fcn.1400a9280
cmp dword [0x1406e8284], 0xa
jl 0x1400a86c0
mov ecx, dword [0x1406e8280]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1400a8690
test al, al
je 0x1400a8a19
mov esi, r12d
mov ebp, dword [rsp + 0x48]
add rbp, r13
mov rcx, qword [rsp + 0x30]
mov rdx, rbx
mov r8, rbp
mov r9, rsi
call fcn.1400935c0
mov edx, dword [0x1406e8280]
mov ecx, dword [0x1406e8284]
cmp ecx, 0xa
jl 0x1400a8753
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
mov rbx, qword [rsp + 0x38]
je 0x1400a8753
mov rdi, qword [rsp + 0x30]
nop dword [rax + rax]
mov rcx, rdi
mov rdx, rbx
mov r8, rbp
mov r9, rsi
call fcn.1400935c0
mov rcx, rdi
mov rdx, rbx
mov r8, rbp
mov r9, rsi
call fcn.1400935c0
mov edx, dword [0x1406e8280]
mov ecx, dword [0x1406e8284]
cmp ecx, 0xa
jl 0x1400a8753
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
mov rbx, qword [rsp + 0x38]
jne 0x1400a8710
test al, al
je 0x1400a8a82
mov rbp, qword [rsp + 0x240]
mov edi, dword [r15 + 0x28]
test rbp, rbp
je 0x1400a8839
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x98]
mov r8, rbx
mov r9, rsi
call rbp
mov edx, dword [0x1406e8280]
mov ecx, dword [0x1406e8284]
cmp ecx, 0xa
jl 0x1400a8827
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x1400a8827
lea rbx, [rsp + 0x90]
lea rbp, [rsp + 0x98]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rbp
mov rdi, qword [rsp + 0x38]
mov r8, rdi
mov r9, rsi
mov r15, qword [rsp + 0x240]
call r15
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rbp
mov r8, rdi
mov r9, rsi
call r15
mov edx, dword [0x1406e8280]
mov ecx, dword [0x1406e8284]
cmp ecx, 0xa
jl 0x1400a8827
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
jne 0x1400a87c6
test al, al
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
je 0x1400a8cb6
mov al, byte [rsp + 0x238]
lea ebp, [rdx - 1]
imul ebp, edx
test bpl, 1
sete dl
cmp ecx, 0xa
setl cl
or cl, dl
jne 0x1400a885b
test cl, cl
je 0x1400a8857
add r14, rdi
mov dword [rsp + 0x54], 0
mov rcx, qword [rsp + 0x98]
mov r9, rbx
test al, al
jne 0x1400a887d
mov r9, qword [rsp + 0x90]
mov qword [rsp + 0x20], rcx
lea rdx, [rsp + 0x54]
mov rcx, qword [rsp + 0x30]
mov r8, r14
call fcn.1400a96f0
test al, al
je 0x1400a8ce2
mov rax, qword [rsp + 0x248]
mov bl, byte [rsp + 0x220]
test rax, rax
je 0x1400a88b6
mov ecx, dword [rsp + 0x54]
mov dword [rax], ecx
movups xmm0, xmmword [0x140262ec6]
movaps xmmword [rsp + 0xa0], xmm0
movdqu xmm0, xmmword [0x140262ed4]
movdqu xmmword [rsp + 0xae], xmm0
mov word [rsp + 0xa0], 0x5b
xor byte [rsp + 0xa2], 0x31
xor byte [rsp + 0xa4], 0x32
xor byte [rsp + 0xa6], 0x33
xor byte [rsp + 0xa8], 0x34
xor byte [rsp + 0xaa], 0x35
xor byte [rsp + 0xac], 0x36
xor byte [rsp + 0xae], 0x37
xor byte [rsp + 0xb0], 0x38
xor byte [rsp + 0xb2], 0x39
xor byte [rsp + 0xb4], 0x3a
xor byte [rsp + 0xb6], 0x3b
xor byte [rsp + 0xb8], 0x3c
xor byte [rsp + 0xba], 0x3d
xor byte [rsp + 0xbc], 0x3e
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0xa0]
call fcn.140090c40
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rcx + rax + 0x18]
or edx, 0x800
mov dword [rcx + rax + 0x18], edx
mov edx, dword [rsp + 0x54]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___long_int____ptr64]
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
test bl, bl
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
je 0x1400a8f53
mov eax, dword [rsp + 0x230]
cmp eax, 1
jne 0x1400a8f39
mov r8, qword [rsp + 0x88]
mov rcx, rsi
mov rdx, rdi
call fcn.14009ac80
test al, al
je 0x1400a8f53
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
call fcn.14009bbc0
test al, al
je 0x1400a8f53
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
jmp 0x1400a8f4e
cmp dword [0x1406e82ac], 0xa
jl 0x1400a8b99
mov eax, dword [0x1406e82a8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a8b99
movups xmm0, xmmword [0x140262e16]
movups xmm1, xmmword [0x140262e0a]
movups xmm2, xmmword [0x140262dfa]
movups xmm3, xmmword [0x140262dea]
nop word [rax + rax]
movups xmmword [rsp + 0xcc], xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm3
jmp 0x1400a8a60
movups xmm0, xmmword [0x140262e26]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [0x140262e36]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [0x140262e46]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [0x140262e56]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [0x140262e66]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [0x140262e76]
movaps xmmword [rsp + 0xf0], xmm0
mov word [rsp + 0xa0], 0x5b
movups xmm0, xmmword [rsp + 0xa2]
xorps xmm0, xmmword [0x140259960]
movups xmmword [rsp + 0xa2], xmm0
movups xmm0, xmmword [rsp + 0xb2]
xorps xmm0, xmmword [str.9:_____]
movups xmmword [rsp + 0xb2], xmm0
movups xmm0, xmmword [rsp + 0xc2]
xorps xmm0, xmmword [str.ABCDEFGH]
movups xmmword [rsp + 0xc2], xmm0
movups xmm0, xmmword [rsp + 0xd2]
xorps xmm0, xmmword [str.IJKLMNOPQRSTUVWXYZ____abcdefgh]
movups xmmword [rsp + 0xd2], xmm0
movdqu xmm0, xmmword [rsp + 0xe2]
pxor xmm0, xmmword [0x1402622d0]
movdqu xmmword [rsp + 0xe2], xmm0
xor byte [rsp + 0xf2], 0x59
xor byte [rsp + 0xf4], 0x5a
xor byte [rsp + 0xf6], 0x5b
xor byte [rsp + 0xf8], 0x5c
xor byte [rsp + 0xfa], 0x5d
xor byte [rsp + 0xfc], 0x5e
xor byte [rsp + 0xfe], 0x5f
jmp 0x1400a8c79
movups xmm0, xmmword [0x140262dea]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [0x140262dfa]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [0x140262e0a]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [0x140262e16]
movups xmmword [rsp + 0xcc], xmm0
mov word [rsp + 0xa0], 0x5b
movups xmm0, xmmword [rsp + 0xa2]
movaps xmm1, xmm0
andnps xmm1, xmmword [0x140259960]
andps xmm0, xmmword [0x140259970]
orps xmm0, xmm1
movups xmmword [rsp + 0xa2], xmm0
movups xmm0, xmmword [rsp + 0xb2]
movaps xmm1, xmm0
andnps xmm1, xmmword [str.9:_____]
andps xmm0, xmmword [0x140259990]
orps xmm0, xmm1
movups xmmword [rsp + 0xb2], xmm0
movdqu xmm0, xmmword [rsp + 0xc2]
movdqa xmm1, xmm0
pandn xmm1, xmmword [str.ABCDEFGH]
pand xmm0, xmmword [0x1402599b0]
por xmm0, xmm1
movdqu xmmword [rsp + 0xc2], xmm0
xor byte [rsp + 0xd2], 0x49
xor byte [rsp + 0xd4], 0x4a
xor byte [rsp + 0xd6], 0x4b
xor byte [rsp + 0xd8], 0x4c
xor byte [rsp + 0xda], 0x4d
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0xa0]
call fcn.140090c40
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
mov r14, qword [rsp + 0x30]
cmp dword [0x1406e8284], 0xa
jl 0x1400a8f69
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400a8fa9
jmp 0x1400a8f69
cmp dword [0x1406e7c60], 0xa
jl 0x1400a8d42
mov eax, dword [0x1406e7c64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a8d42
movups xmm0, xmmword [0x140262eb6]
movups xmm1, xmmword [0x140262ea6]
movups xmm2, xmmword [0x140262e96]
movups xmm3, xmmword [0x140262e86]
nop dword [rax + rax]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm3
jmp 0x1400a8d20
movups xmm0, xmmword [0x140262eb6]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [0x140262ea6]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [0x140262e96]
movaps xmmword [rsp + 0xb0], xmm0
movdqu xmm0, xmmword [0x140262e86]
mov eax, dword [0x1406e7c6c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e7c68], 0xa
movdqa xmmword [rsp + 0xa0], xmm0
setl al
or al, cl
movdqa xmm4, xmmword [0x1402598d0]
xor ecx, ecx
movdqa xmm1, xmmword [0x1402598e0]
movdqa xmm5, xmmword [0x1402598f0]
movdqa xmm3, xmmword [str._b_b_b_b_b_b_b_b01234567]
movdqa xmm10, xmmword [0x140259920]
movdqa xmm11, xmmword [str.89:____]
movdqa xmm12, xmmword [0x140259940]
movdqa xmm13, xmmword [str._ABCDEFG12345678]
movdqa xmm14, xmmword [0x140262300]
movdqa xmm15, xmmword [str.HIJKLMNO]
movdqa xmm6, xmmword [0x140262320]
movdqa xmm9, xmm4
mov r14, qword [rsp + 0x30]
movdqu xmm0, xmmword [rsp + rcx*2 + 0xa0]
movdqa xmm7, xmm4
paddw xmm7, xmm1
movdqa xmm2, xmm5
psubw xmm2, xmm4
pand xmm2, xmm0
pandn xmm0, xmm7
por xmm0, xmm2
movdqu xmmword [rsp + rcx*2 + 0xa0], xmm0
add rcx, 8
paddw xmm4, xmm3
cmp rcx, 0x20
jne 0x1400a8e08
test al, al
jne 0x1400a8eed
movdqa xmm0, xmmword [rsp + 0xa0]
movdqa xmm2, xmmword [rsp + 0xb0]
movdqa xmm4, xmmword [rsp + 0xc0]
movdqa xmm7, xmmword [rsp + 0xd0]
movdqa xmm8, xmm0
pandn xmm8, xmmword [0x140259910]
pand xmm0, xmm10
por xmm0, xmm8
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmm2
pandn xmm0, xmm11
pand xmm2, xmm12
por xmm2, xmm0
movdqa xmmword [rsp + 0xb0], xmm2
movdqa xmm0, xmm4
pandn xmm0, xmm13
pand xmm4, xmm14
por xmm4, xmm0
movdqa xmmword [rsp + 0xc0], xmm4
movdqa xmm0, xmm7
pandn xmm0, xmm15
pand xmm7, xmm6
por xmm7, xmm0
movdqa xmmword [rsp + 0xd0], xmm7
xor ecx, ecx
movdqa xmm4, xmm9
jmp 0x1400a8e08
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0xa0]
call fcn.140090c40
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
cmp dword [0x1406e8284], 0xa
jge 0x1400a8cc8
jmp 0x1400a8f69
mov rcx, rsi
mov rdx, rdi
cmp eax, 2
jne 0x1400a8f4e
mov r8d, r12d
call fcn.140095b40
jmp 0x1400a8f53
call fcn.14009d930
mov rcx, r13
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x1400a7f1e
xor edi, edi
mov rcx, r13
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, r14
mov rdx, rbx
call fcn.14009d930
cmp dword [0x1406e8284], 0xa
jl 0x1400a7f1e
mov eax, dword [0x1406e8280]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400a7f1e
mov rcx, r13
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, r14
mov rdx, rbx
call fcn.14009d930
jmp 0x1400a8f69