Function at 0x1401251f0
Capabilities:
Encode data using xor
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 - 0x13c0]
mov eax, 0x14c0
call fcn.14015d1c0
sub rsp, rax
mov rax, qword [0x14026f4b8]
xor rax, rsp
mov qword [rbp + 0x13b0], rax
mov r15, rcx
mov qword [rbp + 0x10], rcx
mov dword [rsp + 0x20], 0
mov rax, qword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov qword [rcx], rax
mov dword [rsp + 0x20], 1
mov edx, 0x20
lea rcx, str.efaidnbmnnnibpcajpcglclefindmkaj
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.nkbihfbeogaeaoehlefnkodbefgpgknn
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.pioclpoplcdbaefihamjohnefbikjilc
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.bmnlcjabgnpnenekpadlanbbkooimhnj
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.lifbcibllhkdhoafpjfnlhfpfgnpldfl
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.kfimngopjnjocoeelbpbdakldjdnadfp
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.oiekdmlabennjdpgimlcpmphdjphlcha
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.kgjfgplpablkjnlkjmjdecgdpfankdle
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.aapbdbdomjkkjkaonfhkkikfgjllcleb
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x80]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.ajopnjidmegmdimjlfnijceegpefgped
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.gebbhagfogifgggkldgodflihgfeippi
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.ghbmnnjooekpmoecnnnilnnbdlolhkhi
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x68]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x68]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.ailcmbgekjpnablpdkmaaccecekgdhlh
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x60]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.adbacgifemdbhdkfppmeilbgppmhaobf
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x58]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x58]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.laookkfknpbbblfpciffpaejjkokdgca
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.mgijmajocgfcbeboacabfgobmjgjcoja
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x48], rax
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.hgmhmanijnjhaffoampdlllchpolkdnj
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.mmioliijnhnoblpgimnlajmefafdfilb
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.chhjbpecpncaggjpdakmflnfcopglcmi
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.lphicbbhfmllgmomkkhjfkpbdlncafbn
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.gpdjojdkbbmdfjfahjcgigfpmkopogic
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov edx, 0x20
lea rcx, str.fdpohaocaechififmbbbbbknoalclacl
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x18]
mov rcx, r15
call fcn.140009c40
nop
lea rcx, [rbp - 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov edx, eax
mov ebx, 0xffffffff
mov dword [rbp + 0x13a4], ebx
mov dword [rbp + 0x24], eax
mov eax, 1
nop
mov ecx, edx
shr ecx, 0x1e
xor ecx, edx
imul edx, ecx, 0x6c078965
add edx, eax
mov dword [rbp + rax*4 + 0x24], edx
inc rax
cmp rax, 0x270
jb 0x140125660
mov dword [rbp + 0x20], 0x270
mov rax, qword [r15]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x14012569d
mov rax, qword [r15]
mov edx, dword [rax + 4]
mov rcx, r15
call fcn.140011c80
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void____ptr64____ptr64___cdecl_QListData::end_void_const___ptr64]
mov rdi, rax
mov rax, qword [r15]
mov ecx, dword [rax]
cmp ecx, 1
jbe 0x1401256c1
mov rax, qword [r15]
mov edx, dword [rax + 4]
mov rcx, r15
call fcn.140011c80
mov rcx, r15
call qword [sym.imp.Qt5Core.dll_public:_void____ptr64____ptr64___cdecl_QListData::begin_void_const___ptr64]
mov rsi, rax
lea rax, [rbp + 0x20]
mov qword [rbp - 8], rax
mov ecx, 0x40
mov r13, 0xffffffffffffffff
mov rax, r13
dec rcx
shr rax, 1
cmp rax, rbx
ja 0x1401256e4
mov qword [rbp + 8], rax
mov qword [rbp], rcx
cmp rsi, rdi
je 0x14012573b
mov r14d, 1
lea rbx, [rsi + 8]
cmp rbx, rdi
je 0x14012573b
nop dword [rax + rax]
lea rdx, [r14 + 1]
lea rcx, [rbp - 8]
call fcn.140120070
cmp rax, r14
je 0x14012572f
lea rdx, [rsi + rax*8]
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::swap_class_QString____ptr64____ptr64]
inc r14
add rbx, 8
cmp rbx, rdi
jne 0x140125710
mov edx, 0x20
lea rcx, str.gighmmpiobklfepjocnamgkkbiglidom
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140009c40
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x28]
call fcn.140009370
mov dword [rsp + 0x20], 3
mov rdx, r15
lea rcx, [rsp + 0x28]
call fcn.140009780
mov rcx, qword [rsp + 0x28]
mov rax, qword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov qword [rsp + 0x28], rax
mov rdi, qword [r15]
mov qword [r15], rcx
mov eax, dword [rdi]
test eax, eax
je 0x1401257be
cmp eax, 0xffffffff
je 0x1401257fc
mov eax, r13d
lock xadd dword [rdi], eax
cmp eax, 1
jne 0x1401257fc
movsxd rsi, dword [rdi + 8]
add rsi, 2
lea rsi, [rdi + rsi*8]
movsxd rbx, dword [rdi + 0xc]
add rbx, 2
lea rbx, [rdi + rbx*8]
cmp rbx, rsi
je 0x1401257f2
nop dword [rax + rax]
sub rbx, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
cmp rbx, rsi
jne 0x1401257e0
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data____ptr64_]
nop
mov dword [rsp + 0x20], 1
mov rax, qword [rsp + 0x28]
mov ecx, dword [rax]
test ecx, ecx
je 0x140125825
cmp ecx, 0xffffffff
je 0x14012586c
mov rax, qword [rsp + 0x28]
mov ecx, r13d
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x14012586c
mov rsi, qword [rsp + 0x28]
movsxd rdi, dword [rsi + 8]
add rdi, 2
lea rdi, [rsi + rdi*8]
movsxd rbx, dword [rsi + 0xc]
add rbx, 2
lea rbx, [rsi + rbx*8]
cmp rbx, rdi
je 0x140125862
nop word [rax + rax]
sub rbx, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
cmp rbx, rdi
jne 0x140125850
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data____ptr64_]
nop
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax]
test ecx, ecx
je 0x14012588c
cmp ecx, 0xffffffff
je 0x1401258cc
mov rax, qword [rsp + 0x38]
lock xadd dword [rax], r13d
cmp r13d, 1
jne 0x1401258cc
mov rsi, qword [rsp + 0x38]
movsxd rdi, dword [rsi + 8]
add rdi, 2
lea rdi, [rsi + rdi*8]
movsxd rbx, dword [rsi + 0xc]
add rbx, 2
lea rbx, [rsi + rbx*8]
cmp rbx, rdi
je 0x1401258c2
nop
sub rbx, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
cmp rbx, rdi
jne 0x1401258b0
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data____ptr64_]
nop
lea rcx, [rbp - 0x10]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, r15
mov rcx, qword [rbp + 0x13b0]
xor rcx, rsp
call fcn.14015d220
lea r11, [rsp + 0x14c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret