Function at 0x14004aa2c
Capabilities:
Encode data using xor
Execute command

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1208]
mov eax, 0x12e0
call fcn.1402148b0
sub rsp, rax
mov rax, qword [0x14069f448]
xor rax, rsp
mov qword [rbp + 0x11d8], rax
xor ebx, ebx
mov dword [rsp + 0x48], ebx
lea rcx, [rbp + 0x1098]
call fcn.140030940
nop
mov byte [rsp + 0x50], bl
lea rax, [rbp + 0xb30]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xb30], xmm0
mov qword [rbp + 0xb40], rbx
lea r15d, [rbx + 0xf]
mov qword [rbp + 0xb48], r15
mov byte [rbp + 0xb30], bl
xor eax, eax
mov qword [rbp + 0xb50], rax
lea r14, [0x14006b26c]
lea r12d, [rbx + 1]
cmp byte [0x1406a3910], bl
jne 0x14004aad8
mov qword [0x1406a3908], r14
mov byte [0x1406a3910], r12b
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], r15
mov byte [rbp - 0x58], bl
lea rax, [rbp - 0x58]
mov qword [rsp + 0x58], rax
movabs rdi, 0xfeeddccbbaa99887
lea rax, [0x1406a3110]
lea r8, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r10d, 0xffffffff
cmp byte [0x1406a2d01], bl
jne 0x14004ab42
mov rdx, rdi
mov rcx, rax
mov rax, rdx
xor rax, r9
mov qword [rcx], rax
sub rdx, r10
add rcx, 8
cmp rcx, r8
jl 0x14004ab26
mov byte [0x1406a2d01], r12b
movabs r13, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x40], r13
movabs r11, 0xaebdccdb0a192837
mov qword [rsp + 0x30], rbx
mov eax, ebx
mov sil, 0xae
mov cl, bl
xor cl, sil
add eax, r12d
cmp eax, 8
jb 0x14004ab67
mov byte [rsp + 0x30], cl
mov r10b, bl
mov r9d, ebx
mov r8, rbx
mov r14, r11
xor r11, r14
mov qword [rsp + 0x38], r11
mov al, byte [rsp + r8 + 0x38]
xor byte [rsp + r8 + 0x40], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rax, rbx
xor r10b, r12b
cmovne rax, qword [rsp + 0x30]
shl rax, cl
xor rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
add r9d, r12d
add r8, r12
cmp r9d, 8
jb 0x14004ab82
and rax, r13
xor rax, 0xffffffffffff52ad
mov qword [rbp + 0xb50], rax
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0xb30]
call fcn.14000a2a0
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
lea r14, [0x14006b26c]
jb 0x14004ac38
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ac33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004ac33
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], r15
mov byte [rbp - 0x58], bl
cmp byte [0x1406a3911], bl
jne 0x14004ac59
mov qword [0x1406a3908], r14
mov byte [0x1406a3911], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0xc28], xmm0
mov eax, 4
mov qword [rbp + 0xc38], rax
mov qword [rbp + 0xc40], r15
mov dword [rbp + 0xc28], 0x68747561
mov byte [rbp + 0xc2c], bl
movups xmmword [rbp + 0xb58], xmm0
mov qword [rbp + 0xb68], rbx
mov qword [rbp + 0xb70], rbx
lea rdx, [rbp + 0xc28]
mov r8d, eax
lea rcx, [rbp + 0xb58]
call fcn.140004c7c
mov r15, qword [rbp + 0xb68]
lea r14, [rbp + 0xb58]
cmp qword [rbp + 0xb70], 0x10
cmovae r14, qword [rbp + 0xb58]
mov qword [rsp + 0x38], r14
cmp byte [0x1406a2b50], bl
jne 0x14004afc8
mov rdi, rbx
mov esi, 0x989680
lea r13, [0x140000000]
movabs r14, 0x101010101010101
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x14004ad11
imul rbx, rax, 0x64
jmp 0x14004ad2d
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r14
mov qword [rdi + r13 + 0x6a2b60], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x14004ad7d
imul rbx, rax, 0x64
jmp 0x14004ad99
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r14
mov qword [rdi + r13 + 0x6a2be0], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x14004ade9
imul rbx, rax, 0x64
jmp 0x14004ae05
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r14
mov qword [rdi + r13 + 0x6a2c60], rax
add rdi, 8
cmp rdi, 0x80
jl 0x14004acf9
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x14004ae66
imul rbx, rax, 0x64
jmp 0x14004ae82
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor edi, edi
lea rsi, [0x1406a2ce0]
mov r14, qword [rsp + 0x38]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004aeb0
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
add edi, r12d
add rsi, r12
cmp edi, 4
jb 0x14004ae9a
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14004aee8
imul rbx, rax, 0x64
jmp 0x14004af04
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor edi, edi
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004af23
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
add edi, r12d
add rsi, r12
cmp edi, 8
jb 0x14004af0d
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x14004af5b
imul rbx, rax, 0x64
jmp 0x14004af77
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
xor edi, edi
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004af96
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
add edi, r12d
add rsi, r12
cmp edi, 0xc
jb 0x14004af80
mov byte [0x1406a2b50], r12b
movabs rdi, 0xfeeddccbbaa99887
mov sil, 0xae
xor ebx, ebx
test r15, r15
je 0x14004b0aa
lea r13, [0x140000000]
xor r8d, r8d
mov dl, byte [r14]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [r14], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004afeb
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004afe5
xor r8d, r8d
lea r11, [0x1406a2ce8]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2be0]
mov byte [r14], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004b026
add r8d, r12d
add r11, r12
cmp r8d, 8
jb 0x14004b020
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [r14], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004b061
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004b05b
add ebx, r12d
add r14, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004afd8
movabs r13, 0xfae9e8d7c6b5a493
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
lea rdx, [rbp + 0xb58]
cmp qword [rbp + 0xb70], 0x10
cmovae rdx, qword [rbp + 0xb58]
mov r8, qword [rbp + 0xb68]
lea rcx, [rbp - 0x78]
call fcn.140004c7c
lea rax, [rbp - 0x78]
mov qword [rsp + 0x60], rax
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rdx, qword [rbp - 0x78]
cmp byte [0x1406a2d01], bl
jne 0x14004b141
mov r8, rdi
lea rdi, [0x1406a3110]
mov rcx, rdi
lea r9, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r11d, 0xffffffff
mov rax, r8
xor rax, r10
mov qword [rcx], rax
sub r8, r11
add rcx, 8
cmp rcx, r9
jl 0x14004b123
mov byte [0x1406a2d01], r12b
jmp 0x14004b148
lea rdi, [0x1406a3110]
mov qword [rsp + 0x48], r13
mov r11d, ebx
mov r9, r13
mov r8, qword [rbp - 0x68]
test r8, r8
je 0x14004b199
mov r10, rdx
mov r9d, ebx
mov cl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004b16a
not cl
movzx eax, cl
mov r9, qword [rsp + 0x48]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x48], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004b15f
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, r12
jbe 0x14004b1b3
mov bl, byte [rdx + r8 - 1]
jmp 0x14004b1b6
mov bl, sil
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r12d
cmp eax, 8
jb 0x14004b1c8
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
mov r13, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x38], rdi
mov al, byte [rsp + r11 + 0x38]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor sil, r12b
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004b1f1
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xb50], rcx
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0xb30]
call fcn.14000a2a0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
movabs r13, 0xfae9e8d7c6b5a493
mov ebx, 0x1000
jb 0x14004b2e5
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b2e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b2e0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
and qword [rbp - 0x68], 0
mov edi, recv
mov qword [rbp - 0x60], rdi
mov byte [rbp - 0x78], 0
mov rdx, qword [rbp + 0xb70]
cmp rdx, 0x10
jb 0x14004b337
inc rdx
mov rcx, qword [rbp + 0xb58]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b332
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b332
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
and qword [rbp + 0xb68], 0
mov qword [rbp + 0xb70], rdi
mov byte [rbp + 0xb58], 0
mov rdx, qword [rbp + 0xc40]
cmp rdx, 0x10
jb 0x14004b38d
inc rdx
mov rcx, qword [rbp + 0xc28]
mov rax, rcx
cmp rdx, rbx
jb 0x14004b388
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b388
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
and qword [rbp + 0xc38], 0
mov qword [rbp + 0xc40], rdi
mov byte [rbp + 0xc28], 0
lea rcx, [rbp + 0xb30]
cmp qword [rbp + 0xb48], 0x10
cmovae rcx, qword [rbp + 0xb30]
cmp byte [0x1406a2d01], 0
jne 0x14004b40e
movabs r8, 0xfeeddccbbaa99887
lea rdx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rdx], rax
sub r8, r12
add rdx, 8
cmp rdx, rbx
jl 0x14004b3eb
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x14004b413
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x48], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0xb40]
test r8, r8
je 0x14004b46e
mov r10, rcx
xor r9d, r9d
mov dl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], dl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x14004b43f
not dl
movzx eax, dl
mov r9, qword [rsp + 0x48]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x48], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x14004b434
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rcx]
cmp r8, rsi
jbe 0x14004b488
mov bl, byte [r8 + rcx - 1]
jmp 0x14004b48a
mov bl, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x14004b49c
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor sil, sil
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov r15, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r15
mov qword [rsp + 0x38], rdi
mov al, byte [rsp + r11 + 0x38]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor sil, r12b
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004b4c8
movzx eax, bl
imul rdi, rax, 0xff
not rdi
mov rax, r14
shl rax, 7
sub rdi, rax
and r9, rdx
xor rdi, r9
mov rsi, qword [rbp + 0xb50]
cmp rdi, rsi
mov r15, qword [rbp + 0xb30]
mov r12, qword [rbp + 0xb48]
je 0x14004b5c0
mov rbx, qword [0x1406a3908]
mov edx, 3
lea rcx, [rbp + 0x460]
call fcn.14002d52c
mov qword [rbp + 0x488], rsi
mov qword [rbp + 0x490], rdi
lea rdx, [rbp + 0xb30]
lea rcx, [rbp + 0x460]
call rbx
mov r12, qword [rbp + 0xb48]
mov r8, qword [rbp + 0xb40]
mov r15, qword [rbp + 0xb30]
xorps xmm0, xmm0
movups xmmword [rbp + 0xd38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xd48], xmm1
lea rdx, [rbp + 0xb30]
cmp r12, 0x10
cmovae rdx, r15
lea rcx, [rbp + 0xd38]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xbc8], xmm0
xor r14d, r14d
mov qword [rbp + 0xbd8], r14
mov qword [rbp + 0xbe0], r14
lea rdx, [rbp + 0xd38]
cmp qword [rbp + 0xd50], 0x10
cmovae rdx, qword [rbp + 0xd38]
mov r8, qword [rbp + 0xd48]
lea rcx, [rbp + 0xbc8]
call fcn.140004c7c
mov r15, qword [rbp + 0xbd8]
lea rdi, [rbp + 0xbc8]
cmp qword [rbp + 0xbe0], 0x10
cmovae rdi, qword [rbp + 0xbc8]
mov qword [rsp + 0x40], rdi
lea r12d, [r14 + 1]
lea r13, [0x140000000]
cmp byte [0x1406a2b50], r14b
jne 0x14004b84c
mov esi, r14d
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r13 + 0x6a2b60], rax
lea rcx, [rbp + 0x58]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rbp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004b67e
lea rcx, [rsp + 0x38]
call fcn.140063754
mov esi, r14d
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004b794
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x14004b77e
lea rcx, [rbp + 0x78]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004b7dc
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004b7c6
lea rcx, [rbp + 0x80]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004b826
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14004b810
mov byte [0x1406a2b50], r12b
xor r14d, r14d
test r15, r15
je 0x14004b91a
mov ebx, r14d
mov r8d, r14d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004b86a
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004b864
mov r8d, r14d
lea r11, [0x1406a2ce8]
mov r9d, r14d
mov r10, r14
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2be0]
mov byte [rdi], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004b8a4
add r8d, r12d
add r11, r12
cmp r8d, 8
jb 0x14004b89e
mov r8d, r14d
lea r9, [0x1406a2cf0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004b8de
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004b8d8
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004b858
mov rdx, qword [rbp + 0xd50]
cmp rdx, 0x10
jb 0x14004b95e
inc rdx
mov rcx, qword [rbp + 0xd38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b959
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b959
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
movdqa xmm0, xmmword [0x140220b70]
movdqu xmmword [rbp + 0xd48], xmm0
mov byte [rbp + 0xd38], r14b
mov dword [rsp + 0x20], r12d
mov r9d, 0x40
mov r8d, r12d
lea rdx, [rbp + 0xbc8]
lea rcx, [rbp + 0x800]
call fcn.14002b39c
nop
mov rdx, qword [rbp + 0xbe0]
cmp rdx, 0x10
jb 0x14004b9db
inc rdx
mov rcx, qword [rbp + 0xbc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b9d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b9d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp + 0xbd8], r14
mov qword [rbp + 0xbe0], recv
mov byte [rbp + 0xbc8], r14b
lea rcx, [rbp + 0xb30]
call fcn.14002f208
call fcn.140030a64
mov rdx, rax
lea rcx, [rbp + 0xf78]
call fcn.14001f304
mov r15d, 0x7c
lea rbx, [0x14021dd9e]
cmp qword [rbp + 0xf88], r14
je 0x14004d535
mov rax, qword [rbp + 0x800]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x800]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::good_void_const___ptr64]
test al, al
jne 0x14004c75d
lea rax, [rbp + 0xc48]
mov qword [rsp + 0x60], rax
mov rdx, rbx
lea rcx, [rbp + 0xc48]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0xc68], rax
cmp byte [0x1406a3910], r14b
jne 0x14004ba94
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r12b
mov rdx, rbx
lea rcx, [rbp + 0x538]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004bab9
mov rdx, qword [rax]
cmp byte [0x1406a2d01], r14b
jne 0x14004bb0c
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x14004baea
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
movabs r13, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x48], r13
mov r11d, r14d
mov r9, r13
test r8, r8
je 0x14004bb6a
mov r10, rdx
mov r9d, r14d
mov cl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004bb3b
not cl
movzx eax, cl
mov r9, qword [rsp + 0x48]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x48], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004bb30
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x14004bb84
mov dil, byte [r8 + rdx - 1]
jmp 0x14004bb87
mov dil, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
mov eax, r14d
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14004bb9a
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x38], rsi
mov al, byte [rsp + r11 + 0x38]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004bbc5
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xc68], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xc48]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
mov r12d, 1
jne 0x14004bcab
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.auth
lea rcx, [rbp + 0x1138]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0xf18]
call fcn.14002b864
mov r15, qword [rbp + 0xf28]
lea rdi, [rbp + 0xf18]
cmp qword [rbp + 0xf30], 0x10
cmovae rdi, qword [rbp + 0xf18]
cmp byte [0x1406a2b50], 0
jne 0x14004bee4
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x90]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0xa0]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004bd0c
lea rcx, [rsp + 0x58]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004be2c
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x14004be16
lea rcx, [rbp + 0xb0]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004be77
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004be61
lea rcx, [rbp + 0xb8]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004bec1
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14004beab
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x14004bfbe
xor ebx, ebx
test r15, r15
je 0x14004bfbe
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004bf11
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004bf0b
xor r8d, r8d
lea r11, [0x1406a2ce8]
xor r9d, r9d
xor r10d, r10d
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004bf4a
add r8d, r12d
add r11, r12
cmp r8d, 8
jb 0x14004bf44
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004bf83
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004bf7d
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004beff
lea rdx, [rbp + 0xf18]
lea rcx, [rbp + 0x558]
call fcn.14002b864
mov qword [rsp + 0x38], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004bfe7
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004c03a
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x14004c018
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x48], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x14004c08e
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004c05f
not cl
movzx eax, cl
mov r9, qword [rsp + 0x48]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x48], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004c054
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x14004c0a8
mov dil, byte [rdx + r8 - 1]
jmp 0x14004c0ab
mov dil, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14004c0bd
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x58], rsi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004c0eb
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xc68], rcx
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0xc48]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x38]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xf18]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1138]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xc48]
cmp qword [rbp + 0xc60], 0x10
cmovae rdx, qword [rbp + 0xc48]
mov qword [rsp + 0x58], rdx
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x14004c23c
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
mov edx, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rdx
add rcx, 8
cmp rcx, rbx
jl 0x14004c213
mov r12d, 1
mov byte [0x1406a2d01], r12b
mov rdx, qword [rsp + 0x58]
jmp 0x14004c242
mov r12d, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x48], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0xc58]
test r8, r8
je 0x14004c29d
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004c26e
not cl
movzx eax, cl
mov r9, qword [rsp + 0x48]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x48], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004c263
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, r12
jbe 0x14004c2b7
mov bl, byte [rdx + r8 - 1]
jmp 0x14004c2b9
mov bl, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r12d
cmp eax, 8
jb 0x14004c2cb
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
mov r13, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor sil, r12b
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004c2f4
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and r9, rdx
xor r8, r9
mov rdx, qword [rbp + 0xc68]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
je 0x14004c3bc
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x6e0]
call fcn.14002d4ec
lea rdx, [rbp + 0xc48]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xc48]
lea rcx, [rbp + 0x1058]
call fcn.14002b864
nop
lea rdx, [rbp + 0x1058]
lea rcx, [rbp + 0xef8]
call fcn.14002b864
mov r15, qword [rbp + 0xf08]
lea rdi, [rbp + 0xef8]
cmp qword [rbp + 0xf10], 0x10
cmovae rdi, qword [rbp + 0xef8]
mov qword [rsp + 0x40], rdi
xor r14d, r14d
cmp byte [0x1406a2b50], r14b
jne 0x14004c60b
mov esi, r14d
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r13 + 0x6a2b60], rax
lea rcx, [rbp + 0xc8]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rbp + 0xd8]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004c42a
lea rcx, [rsp + 0x58]
call fcn.140063754
mov esi, r14d
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x40]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004c550
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x14004c53a
lea rcx, [rbp + 0xe8]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004c59b
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004c585
lea rcx, [rbp + 0xf0]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004c5e5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14004c5cf
mov byte [0x1406a2b50], r12b
xor r14d, r14d
test r15, r15
je 0x14004c6dd
mov ebx, r14d
lea rsi, [0x140000000]
mov r8d, r14d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004c630
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004c62a
mov r8d, r14d
lea r11, [0x1406a2ce8]
mov r9d, r14d
mov r10, r14
movzx eax, byte [r11]
lea rcx, [r10 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004c669
add r8d, r12d
add r11, r12
cmp r8d, 8
jb 0x14004c663
mov r8d, r14d
lea r9, [0x1406a2cf0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004c6a2
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004c69c
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004c61e
mov r15d, 0x1e00007c
lea rcx, [rbp + 0x1058]
call fcn.1400099b4
nop
mov dword [rsp + 0x20], r12d
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, [rbp + 0xef8]
lea rcx, [rbp + 0xa20]
call fcn.14002b708
nop
lea rcx, [rbp + 0xef8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xc48]
call fcn.14002f208
lea rbx, [0x14021dd9e]
mov rdx, rbx
lea rcx, [rbp + 0xa20]
call fcn.14001b210
lea rcx, [rbp + 0xa20]
call fcn.14005cc94
nop
lea rcx, [rbp + 0xa20]
call fcn.140030274
jmp 0x14004c767
movabs r13, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x70], r14
mov word [rsp + 0x78], 1
mov rax, qword [rbp + 0x800]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x800]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ios_char__struct_std::char_traits_char__::rdbuf_void_const___ptr64]
mov qword [rsp + 0x60], rax
test rax, rax
sete byte [rsp + 0x68]
mov byte [rsp + 0x69], r14b
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea r9, [rbp - 0x80]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xf98]
call fcn.14001ae00
nop
cmp qword [rbp + 0xfa8], r14
je 0x14004d4f2
lea rax, [rbp + 0xd10]
mov qword [rsp + 0x60], rax
mov rdx, rbx
lea rcx, [rbp + 0xd10]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0xd30], rax
cmp byte [0x1406a3910], r14b
jne 0x14004c821
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r12b
mov rdx, rbx
lea rcx, [rbp + 0x518]
call fcn.14002b89c
mov qword [rsp + 0x38], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004c846
mov rdx, qword [rax]
cmp byte [0x1406a2d01], r14b
jne 0x14004c899
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x14004c877
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x48], r13
mov r11d, r14d
mov r9, r13
test r8, r8
je 0x14004c8ed
mov r10, rdx
mov r9d, r14d
mov cl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004c8be
not cl
movzx eax, cl
mov r9, qword [rsp + 0x48]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x48], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004c8b3
movabs rsi, 0xaebdccdb0a192837
mov r12b, byte [rdx]
mov byte [rsp + 0x50], r12b
mov r10d, 1
cmp r8, r10
jbe 0x14004c911
mov dil, byte [r8 + rdx - 1]
jmp 0x14004c914
mov dil, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
mov eax, r14d
mov cl, r8b
mov dl, r8b
xor cl, r12b
xor dl, dil
add eax, r10d
cmp eax, 8
jb 0x14004c927
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
lea ebx, [r10 + 1]
mov r12, rsi
mov eax, r10d
test r10d, r10d
cmove eax, ebx
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, r12
mov qword [rsp + 0x58], rsi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor r14b, bl
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, ebx
add r11, rbx
cmp r10d, 8
jb 0x14004c952
movzx eax, dil
imul rcx, rax, 0xff
not rcx
movzx eax, byte [rsp + 0x50]
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xd30], rcx
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0xd10]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x38]
call fcn.1400099b4
nop
mov r13d, 1
cmp byte [0x1406a3911], 0
jne 0x14004ca2f
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r13b
lea rdx, str.SHIT
lea rcx, [rbp + 0x11b8]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0xed8]
call fcn.14002b864
bts r15d, 0x10
mov r12, qword [rbp + 0xee8]
lea rdi, [rbp + 0xed8]
cmp qword [rbp + 0xef0], 0x10
cmovae rdi, qword [rbp + 0xed8]
mov qword [rsp + 0x40], rdi
cmp byte [0x1406a2b50], 0
jne 0x14004cc6d
xor esi, esi
lea r14, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r13
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x100]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r13
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x110]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r13
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004ca9a
lea rcx, [rsp + 0x58]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004cbb5
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 4
jb 0x14004cb9f
lea rcx, [rbp + 0x120]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004cc00
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 8
jb 0x14004cbea
lea rcx, [rbp + 0x128]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004cc4a
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 0xc
jb 0x14004cc34
mov byte [0x1406a2b50], r13b
test r12, r12
je 0x14004cd47
xor ebx, ebx
test r12, r12
je 0x14004cd47
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004cc9a
add r8d, r13d
add r9, r13
cmp r8d, 4
jb 0x14004cc94
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r13d
add r9, r13
cmp r8d, 8
jb 0x14004ccd3
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004cccd
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004cd0c
add r8d, r13d
add r9, r13
cmp r8d, 0xc
jb 0x14004cd06
add ebx, r13d
add rdi, r13
movsxd rax, ebx
cmp rax, r12
jb 0x14004cc88
lea rdx, [rbp + 0xed8]
lea rcx, [rbp + 0x618]
call fcn.14002b864
mov qword [rsp + 0x38], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004cd70
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004cdc3
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r13d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r13
add rcx, 8
cmp rcx, rdi
jl 0x14004cda1
mov r13d, 1
mov byte [0x1406a2d01], r13b
lea rdi, [0x1406a3110]
movabs r14, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x48], r14
xor r11d, r11d
mov r9, r14
test r8, r8
je 0x14004ce21
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x48]
xor byte [rax], cl
add r9d, r13d
add rax, r13
cmp r9d, 8
jb 0x14004cdf2
not cl
movzx eax, cl
mov r9, qword [rsp + 0x48]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x48], r9
add r11d, r13d
add r10, r13
movsxd rax, r11d
cmp rax, r8
jb 0x14004cde7
movabs rsi, 0xaebdccdb0a192837
mov r12b, byte [rdx]
mov byte [rsp + 0x50], r12b
cmp r8, r13
jbe 0x14004ce3f
mov dil, byte [r8 + rdx - 1]
jmp 0x14004ce42
mov dil, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r12b
xor dl, dil
add eax, r13d
cmp eax, 8
jb 0x14004ce54
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x30], dl
xor r14b, r14b
xor r10d, r10d
lea r13, [r8*8]
xor r11d, r11d
lea ebx, [r10 + 1]
mov r12, rsi
mov eax, r10d
test r10d, r10d
cmove eax, ebx
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r13
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, r12
mov qword [rsp + 0x58], rsi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x48], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor r14b, bl
cmovne rdx, qword [rsp + 0x30]
shl rdx, cl
xor rdx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdx
add r10d, ebx
add r11, rbx
cmp r10d, 8
jb 0x14004ce82
movzx eax, dil
imul rcx, rax, 0xff
not rcx
movzx eax, byte [rsp + 0x50]
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xd30], rcx
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0xd10]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x38]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xed8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x11b8]
call fcn.1400099b4
nop
mov esi, 1
or r15d, esi
mov dword [rsp + 0x48], r15d
lea rdx, [rbp + 0xd10]
cmp qword [rbp + 0xd28], 0x10
cmovae rdx, qword [rbp + 0xd10]
cmp byte [0x1406a2d01], 0
jne 0x14004cfca
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
mov esi, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rsi
add rcx, 8
cmp rcx, rbx
jl 0x14004cfa9
mov esi, 1
mov byte [0x1406a2d01], sil
lea rbx, [0x1406a3110]
movabs r13, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0xd20]
test r8, r8
je 0x14004d02f
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x14004d000
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x14004cff5
movabs rdi, 0xaebdccdb0a192837
mov r14b, byte [rdx]
mov byte [rsp + 0x50], r14b
cmp r8, rsi
jbe 0x14004d04d
mov bl, byte [r8 + rdx - 1]
jmp 0x14004d04f
mov bl, 0xae
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x14004d061
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x38], dl
xor sil, sil
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
lea r13d, [r10 + 1]
mov r14, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r14
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x40]
xor sil, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004d08d
movzx eax, bl
imul r8, rax, 0xff
not r8
movzx eax, byte [rsp + 0x50]
shl rax, 7
sub r8, rax
and r9, rdx
xor r8, r9
mov rdx, qword [rbp + 0xd30]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
je 0x14004d157
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x718]
call fcn.14002d4ec
lea rdx, [rbp + 0xd10]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xd10]
lea rcx, [rbp + 0x1038]
call fcn.14002b864
bts r15d, 0x12
mov dword [rsp + 0x48], r15d
lea rdx, [rbp + 0x1038]
lea rcx, [rbp + 0xeb8]
call fcn.14002b864
bts r15d, 0x13
mov r12, qword [rbp + 0xec8]
mov qword [rsp + 0x30], r12
lea rdi, [rbp + 0xeb8]
cmp qword [rbp + 0xed0], 0x10
cmovae rdi, qword [rbp + 0xeb8]
mov qword [rsp + 0x40], rdi
xor r14d, r14d
cmp byte [0x1406a2b50], r14b
jne 0x14004d3ce
mov esi, r14d
lea r14d, [rsi + 1]
lea rdi, [0x140000000]
movabs r12, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, r12
mov qword [rsi + rdi + 0x6a2b60], rax
lea rcx, [rbp + 0x138]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, r12
mov qword [rsi + rdi + 0x6a2be0], rax
lea rcx, [rbp + 0x148]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, r12
mov qword [rsi + rdi + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004d1dc
lea rcx, [rsp + 0x58]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004d2fb
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 4
jb 0x14004d2e5
lea rcx, [rbp + 0x158]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
mov rdi, r13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004d347
sub eax, edi
or eax, 0xfffffff0
add eax, edi
add al, dil
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, edi
add rsi, rdi
cmp ebx, 8
jb 0x14004d333
lea rcx, [rbp + 0x160]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
mov rdi, qword [rsp + 0x40]
lea r13d, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004d399
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 0xc
jb 0x14004d383
mov rsi, r13
mov byte [0x1406a2b50], sil
movabs r13, 0xfae9e8d7c6b5a493
xor r14d, r14d
jmp 0x14004d3d3
mov esi, 1
test r12, r12
je 0x14004d4b1
mov ebx, r14d
lea r13, [0x140000000]
mov r8d, r14d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x14004d3f8
add r8d, esi
add r9, rsi
cmp r8d, 4
jb 0x14004d3f2
mov r10d, r14d
lea r11, [0x1406a2ce8]
mov r8d, r14d
mov r9, r14
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2be0]
mov byte [rdi], dl
add r8d, esi
add r9, rsi
cmp r8d, 8
jb 0x14004d432
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x14004d42c
mov r8d, r14d
lea r9, [0x1406a2cf0]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x14004d46c
add r8d, esi
add r9, rsi
cmp r8d, 0xc
jb 0x14004d466
add ebx, esi
add rdi, rsi
movsxd rax, ebx
cmp rax, r12
jb 0x14004d3e6
movabs r13, 0xfae9e8d7c6b5a493
bts r15d, 0x11
lea rcx, [rbp + 0x1038]
call fcn.1400099b4
or r15d, 2
lea r9, [rbp + 0xeb8]
mov r12d, 1
mov r8d, r12d
lea rdx, [rbp + 0xf78]
lea rcx, [rbp + 0xf98]
call fcn.140030c9c
test al, al
mov byte [rsp + 0x50], r12b
jne 0x14004d4f7
mov byte [rsp + 0x50], r14b
test r15b, 2
je 0x14004d50e
and r15d, 0xfffffffd
lea rcx, [rbp + 0xeb8]
call fcn.1400099b4
nop
test r12b, r15b
je 0x14004d520
lea rcx, [rbp + 0xd10]
call fcn.14002f208
nop
lea rcx, [rbp + 0xf98]
call fcn.1400099b4
lea rbx, [0x14021dd9e]
jmp 0x14004d53f
movabs r13, 0xfae9e8d7c6b5a493
lea rcx, [rbp + 0xf78]
call fcn.1400099b4
xorps xmm0, xmm0
xor r8d, r8d
mov rdx, rbx
cmp byte [rsp + 0x50], r14b
jne 0x1400516eb
mov r13, qword [0x14021d330]
mov qword [rsp + 0x48], r13
lea rax, [rbp + 0xba0]
mov qword [rsp + 0x60], rax
movups xmmword [rbp + 0xba0], xmm0
mov qword [rbp + 0xbb0], r14
mov qword [rbp + 0xbb8], r14
lea rcx, [rbp + 0xba0]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rbp + 0xbc0], rax
cmp byte [0x1406a3910], r14b
jne 0x14004d5c0
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r14
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.140004b9c
lea rax, [rbp - 0x38]
mov qword [rsp + 0x70], rax
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rdx, qword [rbp - 0x38]
cmp byte [0x1406a2d01], r14b
jne 0x14004d648
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r12
add rcx, 8
cmp rcx, rbx
jl 0x14004d626
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rbx, [0x1406a3110]
movabs r12, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r12
mov r11d, r14d
mov r9, r12
mov r8, qword [rbp - 0x28]
mov esi, 1
test r8, r8
je 0x14004d6af
mov r10, rdx
mov r9d, r14d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x14004d680
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x14004d675
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x14004d6c9
mov bl, byte [rdx + r8 - 1]
jmp 0x14004d6cb
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x14004d6dd
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r13d, [r10 + 1]
mov r12, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r12
mov qword [rsp + 0x58], rdi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor sil, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004d709
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xbc0], rcx
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0xba0]
call fcn.14000a2a0
nop
lea rcx, [rbp - 0x38]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r12, 0xfae9e8d7c6b5a493
mov r14d, 1
jne 0x14004d7ec
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0xf58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf68], xmm1
mov r8d, 5
lea rdx, str.Key:
lea rcx, [rbp + 0xf58]
call fcn.140004b9c
nop
lea rdx, [rbp + 0xf58]
lea rcx, [rbp + 0xe98]
call fcn.14002b864
mov r15, qword [rbp + 0xea8]
lea rdi, [rbp + 0xe98]
cmp qword [rbp + 0xeb0], 0x10
cmovae rdi, qword [rbp + 0xe98]
mov qword [rsp + 0x40], rdi
cmp byte [0x1406a2b50], 0
jne 0x14004da58
xor esi, esi
lea r12, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r12 + 0x6a2b60], rax
lea rcx, [rbp + 0x170]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r12 + 0x6a2be0], rax
lea rcx, [rbp + 0x180]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r12 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004d871
lea rcx, [rsp + 0x58]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x40]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004d990
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 4
jb 0x14004d97a
lea rcx, [rbp + 0x190]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
mov r12, r13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004d9de
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004d9c8
lea rcx, [rbp + 0x198]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
movabs r12, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004da32
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 0xc
jb 0x14004da1c
mov r14, r13
mov byte [0x1406a2b50], r14b
test r15, r15
je 0x14004db32
xor ebx, ebx
test r15, r15
je 0x14004db32
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004da85
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x14004da7f
xor r10d, r10d
lea r11, [0x1406a2ce8]
xor r8d, r8d
xor r9d, r9d
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x14004dabe
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004dab8
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004daf7
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x14004daf1
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x14004da73
lea rdx, [rbp + 0xe98]
lea rcx, [rbp + 0x5f8]
call fcn.14002b864
mov qword [rsp + 0x60], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004db5b
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004dbae
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r14d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r14
add rcx, 8
cmp rcx, rdi
jl 0x14004db8c
mov r14d, 1
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x30], r12
xor r11d, r11d
mov r9, r12
test r8, r8
je 0x14004dc02
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x14004dbd3
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x14004dbc8
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x14004dc1c
mov dil, byte [r8 + rdx - 1]
jmp 0x14004dc1f
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x14004dc31
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x58], rsi
mov al, byte [rsp + r11 + 0x58]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004dc5f
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xbc0], rcx
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp + 0xba0]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x60]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xe98]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xf58]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xba0]
cmp qword [rbp + 0xbb8], 0x10
cmovae rdx, qword [rbp + 0xba0]
cmp byte [0x1406a2d01], 0
jne 0x14004dd9c
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r13d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r13
add rcx, 8
cmp rcx, rbx
jl 0x14004dd79
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x14004dda1
mov esi, 1
lea rbx, [0x1406a3110]
movabs r12, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r12
xor r11d, r11d
mov r9, r12
mov r8, qword [rbp + 0xbb0]
test r8, r8
je 0x14004de06
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x14004ddd7
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x14004ddcc
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x14004de20
mov bl, byte [rdx + r8 - 1]
jmp 0x14004de22
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x14004de34
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r13d, [r10 + 1]
mov r12, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r12
mov qword [rsp + 0x60], rdi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor sil, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004de60
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and rdx, r9
xor r8, rdx
mov rdx, qword [rbp + 0xbc0]
cmp r8, rdx
mov r13, qword [rsp + 0x48]
movabs r12, 0xfae9e8d7c6b5a493
je 0x14004df2d
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x6a8]
call fcn.14002d4ec
lea rdx, [rbp + 0xba0]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xba0]
lea rcx, [rbp + 0x1018]
call fcn.14002b864
nop
lea rdx, [rbp + 0x1018]
lea rcx, [rbp + 0xdb8]
call fcn.14002b864
mov r15, qword [rbp + 0xdc8]
lea rdi, [rbp + 0xdb8]
cmp qword [rbp + 0xdd0], 0x10
cmovae rdi, qword [rbp + 0xdb8]
mov qword [rsp + 0x58], rdi
xor esi, esi
lea r14d, [rsi + 1]
cmp byte [0x1406a2b50], sil
jne 0x14004e189
lea r12, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r12 + 0x6a2b60], rax
lea rcx, [rbp + 0x1a8]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r12 + 0x6a2be0], rax
lea rcx, [rbp + 0x1b8]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r12 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004df9b
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004e0ba
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 4
jb 0x14004e0a4
lea rcx, [rbp + 0x1c8]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
mov r12, r13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004e108
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004e0f2
lea rcx, [rbp + 0x1d0]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
movabs r12, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004e15c
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 0xc
jb 0x14004e146
mov r14, r13
mov byte [0x1406a2b50], r14b
mov r13, qword [rsp + 0x48]
xor esi, esi
test r15, r15
je 0x14004e262
mov ebx, esi
lea r13, [0x140000000]
mov r8d, esi
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, esi
mov r11, rsi
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004e1ad
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x14004e1a7
mov r10d, esi
lea r11, [0x1406a2ce8]
mov r8d, esi
mov r9, rsi
movzx eax, byte [r11]
lea rcx, [r9 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2be0]
mov byte [rdi], dl
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x14004e1e7
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004e1e1
mov r8d, esi
lea r9, [0x1406a2cf0]
mov r10d, esi
mov r11, rsi
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x14004e221
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x14004e21b
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x14004e19b
mov r13, qword [rsp + 0x48]
lea rcx, [rbp + 0x1018]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xdb8]
cmp qword [rbp + 0xdd0], 0x10
cmovae rdx, qword [rbp + 0xdb8]
mov r8, qword [rbp + 0xdc8]
mov rcx, r13
call fcn.14001e568
nop
lea rcx, [rbp + 0xdb8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xba0]
call fcn.14002f208
xorps xmm0, xmm0
movups xmmword [rbp + 0xc08], xmm0
mov qword [rbp + 0xc18], rsi
mov qword [rbp + 0xc20], recv
mov byte [rbp + 0xc08], sil
lea rdx, [rbp + 0xc08]
mov rcx, qword [0x14021d370]
call fcn.14001afc8
cmp qword [rbp + 0xc18], rsi
jne 0x14004efe6
mov r13, qword [0x14021d330]
mov qword [rsp + 0x48], r13
lea rax, [rbp + 0xc70]
mov qword [rsp + 0x70], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0xc70]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0xc90], rax
cmp byte [0x1406a3910], sil
jne 0x14004e345
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x498]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004e36e
mov rdx, qword [rax]
cmp byte [0x1406a2d01], sil
jne 0x14004e3c1
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r14d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r14
add rcx, 8
cmp rcx, rdi
jl 0x14004e39f
mov r14d, 1
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x30], r12
mov r11d, esi
mov r9, r12
test r8, r8
je 0x14004e415
mov r10, rdx
mov r9d, esi
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x14004e3e6
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x14004e3db
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x14004e42f
mov dil, byte [r8 + rdx - 1]
jmp 0x14004e432
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x14004e444
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004e472
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xc90], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xc70]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
mov r12d, 1
cmp byte [0x1406a3911], 0
jne 0x14004e54e
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.Invalid_key
lea rcx, [rbp + 0x1118]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0xe78]
call fcn.14002b864
mov r15, qword [rbp + 0xe88]
lea rdi, [rbp + 0xe78]
cmp qword [rbp + 0xe90], 0x10
cmovae rdi, qword [rbp + 0xe78]
cmp byte [0x1406a2b50], 0
jne 0x14004e77d
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x1e0]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x1f0]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004e5af
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004e6c5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x14004e6af
lea rcx, [rbp + 0x200]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004e710
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004e6fa
lea rcx, [rbp + 0x208]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004e75a
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14004e744
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x14004e857
xor ebx, ebx
test r15, r15
je 0x14004e857
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004e7aa
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004e7a4
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004e7e3
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x14004e7dd
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004e81c
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004e816
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004e798
lea rdx, [rbp + 0xe78]
lea rcx, [rbp + 0x4b8]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004e880
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004e8d3
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x14004e8b1
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14004e931
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004e902
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004e8f7
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x14004e94b
mov dil, byte [r8 + rdx - 1]
jmp 0x14004e94e
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14004e960
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004e98e
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xc90], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xc70]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xe78]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1118]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xc70]
cmp qword [rbp + 0xc88], 0x10
cmovae rdx, qword [rbp + 0xc70]
cmp byte [0x1406a2d01], 0
jne 0x14004eacc
lea rcx, [0x1406a3110]
movabs r8, 0xfeeddccbbaa99887
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r13d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r13
add rcx, 8
cmp rcx, rbx
jl 0x14004eaa8
mov r12d, 1
mov byte [0x1406a2d01], r12b
jmp 0x14004ead2
mov r12d, 1
lea rbx, [0x1406a3110]
movabs r14, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r14
xor r11d, r11d
mov r8, qword [rbp + 0xc80]
test r8, r8
je 0x14004eb37
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004eb05
not cl
movzx eax, cl
mov r13, qword [rsp + 0x30]
xor r13, qword [rbx + rax*8]
mov qword [rsp + 0x30], r13
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004eafa
mov r14, r13
movabs r11, 0xaebdccdb0a192837
movzx edi, byte [rdx]
cmp r8, r12
jbe 0x14004eb50
mov r15b, byte [rdx + r8 - 1]
jmp 0x14004eb53
mov r15b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, dil
xor dl, r15b
add eax, r12d
cmp eax, 8
jb 0x14004eb65
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor bl, bl
xor r9d, r9d
lea rsi, [r8*8]
xor r10d, r10d
mov r13, r11
mov eax, r9d
test r9d, r9d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r11, rax
xor r11, r13
mov qword [rsp + 0x60], r11
mov al, byte [rsp + r10 + 0x60]
xor byte [rsp + r10 + 0x30], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor bl, r12b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14004eb8e
movzx eax, r15b
imul r8, rax, 0xff
not r8
mov rax, rdi
shl rax, 7
sub r8, rax
and rdx, r14
xor r8, rdx
mov rdx, qword [rbp + 0xc90]
cmp r8, rdx
mov r13, qword [rsp + 0x48]
je 0x14004ec52
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x670]
call fcn.14002d4ec
lea rdx, [rbp + 0xc70]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xc70]
lea rcx, [rbp + 0xff8]
call fcn.14002b864
nop
lea rdx, [rbp + 0xff8]
lea rcx, [rbp + 0xd58]
call fcn.14002b864
mov r15, qword [rbp + 0xd68]
lea rdi, [rbp + 0xd58]
cmp qword [rbp + 0xd70], 0x10
cmovae rdi, qword [rbp + 0xd58]
cmp byte [0x1406a2b50], 0
jne 0x14004ee8a
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x218]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x228]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004ecb7
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004edd2
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x14004edbc
lea rcx, [rbp + 0x238]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004ee1d
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004ee07
lea rcx, [rbp + 0x240]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004ee67
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14004ee51
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x14004ef64
xor ebx, ebx
test r15, r15
je 0x14004ef64
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004eeb7
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004eeb1
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004eef0
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x14004eeea
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004ef29
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004ef23
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004eea5
lea rcx, [rbp + 0xff8]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xd58]
cmp qword [rbp + 0xd70], 0x10
cmovae rdx, qword [rbp + 0xd58]
mov r8, qword [rbp + 0xd68]
mov rcx, r13
call fcn.14001e568
lea rdx, [0x140021e2c]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0xd58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xc70]
call fcn.14002f208
mov qword [rbp + 0x28], 5
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x248]
call fcn.14001eb38
mov rcx, rax
call fcn.14002aed0
jmp 0x140050a0d
call fcn.140030a64
mov rdx, rax
lea rcx, [rbp + 0x1078]
call fcn.14001f304
mov r8d, r14d
lea rdx, [rbp + 0x1078]
lea rcx, [rbp + 0xc08]
call fcn.14003be78
mov bl, al
lea rcx, [rbp + 0x1078]
call fcn.1400099b4
lea rdx, [0x14021dd9e]
test bl, bl
je 0x140050a19
lea rax, [rbp + 0xc98]
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0xc98]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0xcb8], rax
cmp byte [0x1406a3910], sil
jne 0x14004f06d
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x4d8]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004f096
mov rdx, qword [rax]
cmp byte [0x1406a2d01], sil
jne 0x14004f0e9
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r14d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r14
add rcx, 8
cmp rcx, rdi
jl 0x14004f0c7
mov r14d, 1
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x30], r12
mov r11d, esi
mov r9, r12
test r8, r8
je 0x14004f13d
mov r10, rdx
mov r9d, esi
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x14004f10e
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x14004f103
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x14004f157
mov dil, byte [rdx + r8 - 1]
jmp 0x14004f15a
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x14004f16c
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004f19a
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xcb8], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xc98]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfeeddccbbaa99887
mov r12d, 1
jne 0x14004f280
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.auth
lea rcx, [rbp + 0x1158]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0xe58]
call fcn.14002b864
mov r15, qword [rbp + 0xe68]
lea rdi, [rbp + 0xe58]
cmp qword [rbp + 0xe70], 0x10
cmovae rdi, qword [rbp + 0xe58]
cmp byte [0x1406a2b50], 0
jne 0x14004f4b9
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x258]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x268]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004f2e1
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
movabs r13, 0xfeeddccbbaa99887
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004f401
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x14004f3eb
lea rcx, [rbp + 0x278]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004f44c
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x14004f436
lea rcx, [rbp + 0x280]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004f496
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14004f480
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x14004f593
xor ebx, ebx
test r15, r15
je 0x14004f593
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004f4e6
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x14004f4e0
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004f51f
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x14004f519
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14004f558
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x14004f552
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x14004f4d4
lea rdx, [rbp + 0xe58]
lea rcx, [rbp + 0x5d8]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004f5bc
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004f608
mov r9, r13
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x14004f5e6
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14004f666
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x14004f637
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14004f62c
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x14004f680
mov dil, byte [rdx + r8 - 1]
jmp 0x14004f683
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14004f695
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004f6c3
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xcb8], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xc98]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xe58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1158]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xc98]
cmp qword [rbp + 0xcb0], 0x10
cmovae rdx, qword [rbp + 0xc98]
mov qword [rsp + 0x60], rdx
cmp byte [0x1406a2d01], 0
movabs r13, 0xfeeddccbbaa99887
jne 0x14004f80d
mov r8, r13
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
mov edx, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rdx
add rcx, 8
cmp rcx, rbx
jl 0x14004f7e4
mov r13d, 1
mov byte [0x1406a2d01], r13b
mov rdx, qword [rsp + 0x60]
jmp 0x14004f813
mov r13d, 1
lea rbx, [0x1406a3110]
movabs r12, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r12
xor r11d, r11d
mov r9, r12
mov r8, qword [rbp + 0xca8]
test r8, r8
je 0x14004f878
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r13d
add rax, r13
cmp r9d, 8
jb 0x14004f849
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r13d
add r10, r13
movsxd rax, r11d
cmp rax, r8
jb 0x14004f83e
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, r13
jbe 0x14004f892
mov bl, byte [r8 + rdx - 1]
jmp 0x14004f894
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r13d
cmp eax, 8
jb 0x14004f8a6
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
mov r12, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r12
mov qword [rsp + 0x60], rdi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor sil, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004f8cf
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and r9, rdx
xor r8, r9
mov rdx, qword [rbp + 0xcb8]
cmp r8, rdx
movabs r12, 0xfae9e8d7c6b5a493
je 0x14004f997
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x638]
call fcn.14002d4ec
lea rdx, [rbp + 0xc98]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xc98]
lea rcx, [rbp + 0xfd8]
call fcn.14002b864
nop
lea rdx, [rbp + 0xfd8]
lea rcx, [rbp + 0xf38]
call fcn.14002b864
mov r15, qword [rbp + 0xf48]
lea rdi, [rbp + 0xf38]
cmp qword [rbp + 0xf50], 0x10
cmovae rdi, qword [rbp + 0xf38]
cmp byte [0x1406a2b50], 0
jne 0x14004fbd4
xor esi, esi
lea r14, [0x140000000]
movabs r12, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r13
xor rax, 0x10
shl rax, 0xa
or rax, r12
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x290]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r13
xor rax, 0x20
shl rax, 0xb
or rax, r12
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x2a0]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r13
xor rax, 0x40
shl rax, 0xc
or rax, r12
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004f9fc
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
movabs r12, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004fb1c
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r13d
add r14, r13
cmp esi, 4
jb 0x14004fb06
lea rcx, [rbp + 0x2b0]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004fb67
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 8
jb 0x14004fb51
lea rcx, [rbp + 0x2b8]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14004fbb1
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 0xc
jb 0x14004fb9b
mov byte [0x1406a2b50], r13b
test r15, r15
je 0x14004fcae
xor ebx, ebx
test r15, r15
je 0x14004fcae
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004fc01
add r8d, r13d
add r9, r13
cmp r8d, 4
jb 0x14004fbfb
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004fc3a
add r8d, r13d
add r9, r13
cmp r8d, 8
jb 0x14004fc34
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004fc73
add r8d, r13d
add r9, r13
cmp r8d, 0xc
jb 0x14004fc6d
add ebx, r13d
add rdi, r13
movsxd rax, ebx
cmp rax, r15
jb 0x14004fbef
lea rcx, [rbp + 0xfd8]
call fcn.1400099b4
nop
mov dword [rsp + 0x20], r13d
mov r9d, 0x40
lea r8d, [r9 - 0x30]
lea rdx, [rbp + 0xf38]
lea rcx, [rbp + 0x910]
call fcn.14002b708
nop
lea rcx, [rbp + 0xf38]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xc98]
call fcn.14002f208
lea rdx, [rbp + 0xc08]
cmp qword [rbp + 0xc20], 0x10
cmovae rdx, qword [rbp + 0xc08]
mov r8, qword [rbp + 0xc18]
lea rcx, [rbp + 0x910]
call fcn.14001e568
lea rcx, [rbp + 0x910]
call fcn.14005cc94
mov r13, qword [0x14021d330]
mov qword [rsp + 0x48], r13
lea rax, [rbp + 0xcc0]
mov qword [rsp + 0x70], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0xcc0]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0xce0], rax
lea r14d, [rax + 1]
cmp byte [0x1406a3910], al
jne 0x14004fd83
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x4f8]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14004fdac
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x14004fdff
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r14d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r14
add rcx, 8
cmp rcx, rdi
jl 0x14004fddd
mov r14d, 1
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x30], r12
xor r11d, r11d
mov r9, r12
test r8, r8
je 0x14004fe53
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x14004fe24
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x14004fe19
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x14004fe6d
mov dil, byte [r8 + rdx - 1]
jmp 0x14004fe70
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x14004fe82
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x14004feb0
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xce0], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xcc0]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
mov r12d, 1
cmp byte [0x1406a3911], 0
jne 0x14004ff8c
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.Key_redeemed__restart_loader.
lea rcx, [rbp + 0x1178]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0xe38]
call fcn.14002b864
mov r15, qword [rbp + 0xe48]
lea rdi, [rbp + 0xe38]
cmp qword [rbp + 0xe50], 0x10
cmovae rdi, qword [rbp + 0xe38]
cmp byte [0x1406a2b50], 0
jne 0x1400501bb
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x2c8]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x2d8]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14004ffed
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140050103
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x1400500ed
lea rcx, [rbp + 0x2e8]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14005014e
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x140050138
lea rcx, [rbp + 0x2f0]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140050198
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x140050182
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x140050295
xor ebx, ebx
test r15, r15
je 0x140050295
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400501e8
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x1400501e2
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140050221
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x14005021b
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14005025a
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x140050254
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400501d6
lea rdx, [rbp + 0xe38]
lea rcx, [rbp + 0x578]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400502be
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x140050311
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x1400502ef
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x14005036f
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x140050340
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x140050335
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x140050389
mov dil, byte [r8 + rdx - 1]
jmp 0x14005038c
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x14005039e
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400503cc
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xce0], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xcc0]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xe38]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1178]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xcc0]
cmp qword [rbp + 0xcd8], 0x10
cmovae rdx, qword [rbp + 0xcc0]
cmp byte [0x1406a2d01], 0
jne 0x14005050a
lea rcx, [0x1406a3110]
movabs r8, 0xfeeddccbbaa99887
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r13d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r13
add rcx, 8
cmp rcx, rbx
jl 0x1400504e6
mov r12d, 1
mov byte [0x1406a2d01], r12b
jmp 0x140050510
mov r12d, 1
lea rbx, [0x1406a3110]
movabs r14, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r14
xor r11d, r11d
mov r8, qword [rbp + 0xcd0]
test r8, r8
je 0x140050575
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x140050543
not cl
movzx eax, cl
mov r13, qword [rsp + 0x30]
xor r13, qword [rbx + rax*8]
mov qword [rsp + 0x30], r13
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x140050538
mov r14, r13
movabs r11, 0xaebdccdb0a192837
movzx edi, byte [rdx]
cmp r8, r12
jbe 0x14005058e
mov r15b, byte [rdx + r8 - 1]
jmp 0x140050591
mov r15b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, dil
xor dl, r15b
add eax, r12d
cmp eax, 8
jb 0x1400505a3
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor bl, bl
xor r9d, r9d
lea rsi, [r8*8]
xor r10d, r10d
mov r13, r11
mov eax, r9d
test r9d, r9d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r11, rax
xor r11, r13
mov qword [rsp + 0x60], r11
mov al, byte [rsp + r10 + 0x60]
xor byte [rsp + r10 + 0x30], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor bl, r12b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x1400505cc
movzx eax, r15b
imul r8, rax, 0xff
not r8
mov rax, rdi
shl rax, 7
sub r8, rax
and r14, rdx
xor r8, r14
mov rdx, qword [rbp + 0xce0]
cmp r8, rdx
mov r13, qword [rsp + 0x48]
je 0x140050690
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x750]
call fcn.14002d4ec
lea rdx, [rbp + 0xcc0]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xcc0]
lea rcx, [rbp + 0xfb8]
call fcn.14002b864
nop
lea rdx, [rbp + 0xfb8]
lea rcx, [rbp + 0xd78]
call fcn.14002b864
mov r15, qword [rbp + 0xd88]
lea rdi, [rbp + 0xd78]
cmp qword [rbp + 0xd90], 0x10
cmovae rdi, qword [rbp + 0xd78]
cmp byte [0x1406a2b50], 0
jne 0x1400508c8
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x300]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x310]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400506f5
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140050810
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x1400507fa
lea rcx, [rbp + 0x320]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14005085b
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x140050845
lea rcx, [rbp + 0x328]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400508a5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x14005088f
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x1400509a2
xor ebx, ebx
test r15, r15
je 0x1400509a2
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400508f5
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x1400508ef
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x14005092e
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x140050928
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140050967
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x140050961
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400508e3
lea rcx, [rbp + 0xfb8]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xd78]
cmp qword [rbp + 0xd90], 0x10
cmovae rdx, qword [rbp + 0xd78]
mov r8, qword [rbp + 0xd88]
mov rcx, r13
call fcn.14001e568
lea rdx, [0x140021e2c]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0xd78]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xcc0]
call fcn.14002f208
nop
lea rcx, [rbp + 0x910]
call fcn.140030274
nop
lea rcx, [rbp + 0xc08]
jmp 0x140052571
mov r13, qword [0x14021d330]
mov qword [rsp + 0x48], r13
lea rax, [rbp + 0xce8]
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0xce8]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0xd08], rax
cmp byte [0x1406a3910], sil
jne 0x140050a65
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x598]
call fcn.14002b89c
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140050a8e
mov rdx, qword [rax]
cmp byte [0x1406a2d01], sil
jne 0x140050ae1
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r14d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r14
add rcx, 8
cmp rcx, rdi
jl 0x140050abf
mov r14d, 1
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x30], r12
mov r11d, esi
mov r9, r12
test r8, r8
je 0x140050b35
mov r10, rdx
mov r9d, esi
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x140050b06
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x140050afb
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x140050b4f
mov dil, byte [r8 + rdx - 1]
jmp 0x140050b52
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x140050b64
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x140050b92
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xd08], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xce8]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
mov r12d, 1
cmp byte [0x1406a3911], 0
jne 0x140050c6e
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.Invalid_key
lea rcx, [rbp + 0x1198]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp + 0xe18]
call fcn.14002b864
mov r15, qword [rbp + 0xe28]
lea rdi, [rbp + 0xe18]
cmp qword [rbp + 0xe30], 0x10
cmovae rdi, qword [rbp + 0xe18]
cmp byte [0x1406a2b50], 0
jne 0x140050e9d
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x338]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x348]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x140050ccf
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140050de5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x140050dcf
lea rcx, [rbp + 0x358]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140050e30
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x140050e1a
lea rcx, [rbp + 0x360]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140050e7a
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x140050e64
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x140050f77
xor ebx, ebx
test r15, r15
je 0x140050f77
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140050eca
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x140050ec4
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140050f03
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x140050efd
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140050f3c
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x140050f36
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x140050eb8
lea rdx, [rbp + 0xe18]
lea rcx, [rbp + 0x5b8]
call fcn.14002b864
mov qword [rsp + 0x58], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140050fa0
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x140050ff3
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rdi, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, r12
add rcx, 8
cmp rcx, rdi
jl 0x140050fd1
mov r12d, 1
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], rax
xor r11d, r11d
mov r9, rax
test r8, r8
je 0x140051051
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x140051022
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x140051017
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x14005106b
mov dil, byte [r8 + rdx - 1]
jmp 0x14005106e
mov dil, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x140051080
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r14b, r14b
xor r10d, r10d
lea r12, [r8*8]
xor r11d, r11d
mov rbx, rsi
lea r13d, [r10 + 1]
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r12
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rsi, rax
xor rsi, rbx
mov qword [rsp + 0x60], rsi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400510ae
movzx eax, dil
imul rcx, rax, 0xff
not rcx
mov rax, r15
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xd08], rcx
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0xce8]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xe18]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x1198]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xce8]
cmp qword [rbp + 0xd00], 0x10
cmovae rdx, qword [rbp + 0xce8]
cmp byte [0x1406a2d01], 0
jne 0x1400511ec
lea rcx, [0x1406a3110]
movabs r8, 0xfeeddccbbaa99887
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r13d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r13
add rcx, 8
cmp rcx, rbx
jl 0x1400511c8
mov r12d, 1
mov byte [0x1406a2d01], r12b
jmp 0x1400511f2
mov r12d, 1
lea rbx, [0x1406a3110]
movabs r14, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x30], r14
xor r11d, r11d
mov r8, qword [rbp + 0xcf8]
test r8, r8
je 0x140051257
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x140051225
not cl
movzx eax, cl
mov r13, qword [rsp + 0x30]
xor r13, qword [rbx + rax*8]
mov qword [rsp + 0x30], r13
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x14005121a
mov r14, r13
movabs r11, 0xaebdccdb0a192837
movzx edi, byte [rdx]
cmp r8, r12
jbe 0x140051270
mov r15b, byte [rdx + r8 - 1]
jmp 0x140051273
mov r15b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, dil
xor dl, r15b
add eax, r12d
cmp eax, 8
jb 0x140051285
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor bl, bl
xor r9d, r9d
lea rsi, [r8*8]
xor r10d, r10d
mov r13, r11
mov eax, r9d
test r9d, r9d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r11, rax
xor r11, r13
mov qword [rsp + 0x60], r11
mov al, byte [rsp + r10 + 0x60]
xor byte [rsp + r10 + 0x30], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor bl, r12b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x1400512ae
movzx eax, r15b
imul r8, rax, 0xff
not r8
mov rax, rdi
shl rax, 7
sub r8, rax
and r14, rdx
xor r8, r14
mov rdx, qword [rbp + 0xd08]
cmp r8, rdx
mov r13, qword [rsp + 0x48]
je 0x140051372
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x788]
call fcn.14002d4ec
lea rdx, [rbp + 0xce8]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xce8]
lea rcx, [rbp + 0x10f8]
call fcn.14002b864
nop
lea rdx, [rbp + 0x10f8]
lea rcx, [rbp + 0xd98]
call fcn.14002b864
mov r15, qword [rbp + 0xda8]
lea rdi, [rbp + 0xd98]
cmp qword [rbp + 0xdb0], 0x10
cmovae rdi, qword [rbp + 0xd98]
cmp byte [0x1406a2b50], 0
jne 0x1400515aa
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, r13
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x370]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, r13
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x380]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, r13
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400513d7
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400514f2
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x1400514dc
lea rcx, [rbp + 0x390]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14005153d
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x140051527
lea rcx, [rbp + 0x398]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140051587
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x140051571
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x140051684
xor ebx, ebx
test r15, r15
je 0x140051684
lea rsi, [0x140000000]
xor r8d, r8d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400515d7
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x1400515d1
xor r8d, r8d
lea r9, [0x1406a2ce8]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140051610
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x14005160a
xor r8d, r8d
lea r9, [0x1406a2cf0]
xor r10d, r10d
xor r11d, r11d
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140051649
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x140051643
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400515c5
lea rcx, [rbp + 0x10f8]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xd98]
cmp qword [rbp + 0xdb0], 0x10
cmovae rdx, qword [rbp + 0xd98]
mov r8, qword [rbp + 0xda8]
mov rcx, r13
call fcn.14001e568
lea rdx, [0x140021e2c]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp + 0xd98]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xce8]
call fcn.14002f208
call fcn.14004aa2c
jmp 0x140050a0d
lea rax, [rbp + 0xb78]
mov qword [rsp + 0x70], rax
movups xmmword [rbp + 0xb78], xmm0
mov qword [rbp + 0xb88], r14
mov qword [rbp + 0xb90], r14
lea rcx, [rbp + 0xb78]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rbp + 0xb98], rax
cmp byte [0x1406a3910], r14b
jne 0x140051740
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r14
mov qword [rbp], r14
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.140004b9c
lea rax, [rbp - 0x18]
mov qword [rsp + 0x58], rax
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdx, qword [rbp - 0x18]
cmp byte [0x1406a2d01], r14b
jne 0x1400517c9
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov r12d, 0xffffffff
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, r12
add rcx, 8
cmp rcx, rbx
jl 0x1400517a6
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x1400517ce
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x30], r13
mov r11d, r14d
mov r9, r13
mov r8, qword [rbp - 8]
test r8, r8
je 0x140051826
mov r10, rdx
mov r9d, r14d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400517f7
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400517ec
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x140051840
mov bl, byte [r8 + rdx - 1]
jmp 0x140051842
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x140051854
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r13d, [r10 + 1]
mov r12, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r12
mov qword [rsp + 0x60], rdi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor sil, r13b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x140051880
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xb98], rcx
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0xb78]
call fcn.14000a2a0
nop
lea rcx, [rbp - 0x18]
call fcn.1400099b4
nop
xor esi, esi
cmp byte [0x1406a3911], sil
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
lea r14d, [rsi + 1]
jne 0x14005196d
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0xdf8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe08], xmm1
mov r8d, send
lea rdx, str.explorer_fivem:__
lea rcx, [rbp + 0xdf8]
call fcn.140004b9c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xbe8], xmm0
mov qword [rbp + 0xbf8], rsi
mov qword [rbp + 0xc00], rsi
lea rdx, [rbp + 0xdf8]
cmp qword [rbp + 0xe10], 0x10
cmovae rdx, qword [rbp + 0xdf8]
mov r8, qword [rbp + 0xe08]
lea rcx, [rbp + 0xbe8]
call fcn.140004c7c
mov r15, qword [rbp + 0xbf8]
mov qword [rsp + 0x40], r15
lea rdi, [rbp + 0xbe8]
cmp qword [rbp + 0xc00], 0x10
cmovae rdi, qword [rbp + 0xbe8]
mov qword [rsp + 0x58], rdi
cmp byte [0x1406a2b50], sil
jne 0x140051c21
lea rdi, [0x140000000]
movabs r15, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r14
xor rax, 0x10
shl rax, 0xa
or rax, r15
mov qword [rsi + rdi + 0x6a2b60], rax
lea rcx, [rbp + 0x3a8]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r14
xor rax, 0x20
shl rax, 0xb
or rax, r15
mov qword [rsi + rdi + 0x6a2be0], rax
lea rcx, [rbp + 0x3b8]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r14
xor rax, 0x40
shl rax, 0xc
or rax, r15
mov qword [rsi + rdi + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x140051a24
lea rcx, [rsp + 0x60]
call fcn.140063754
xor esi, esi
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x40]
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140051b48
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x140051b32
lea rcx, [rbp + 0x3c8]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2ce8]
lea r13d, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140051b97
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 8
jb 0x140051b81
lea rcx, [rbp + 0x3d0]
call fcn.140063754
mov r14, qword [rax]
xor ebx, ebx
lea rsi, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140051bef
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x140051bd9
mov r14, r12
mov byte [0x1406a2b50], r14b
xor esi, esi
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x140051cff
mov ebx, esi
lea r13, [0x140000000]
mov r8d, esi
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, esi
mov r11, rsi
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140051c45
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x140051c3f
mov r8d, esi
lea r9, [0x1406a2ce8]
mov r10d, esi
mov r11, rsi
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2be0]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140051c7f
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x140051c79
mov r8d, esi
lea r9, [0x1406a2cf0]
mov r10d, esi
mov r11, rsi
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r13 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r14d
add r11, r14
cmp r10d, 8
jb 0x140051cb9
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x140051cb3
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x140051c33
movabs r13, 0xfae9e8d7c6b5a493
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], rsi
lea rdx, [rbp + 0xbe8]
cmp qword [rbp + 0xc00], 0x10
cmovae rdx, qword [rbp + 0xbe8]
mov r8, qword [rbp + 0xbf8]
lea rcx, [rbp + 8]
call fcn.140004c7c
lea rax, [rbp + 8]
mov qword [rsp + 0x70], rax
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
cmp byte [0x1406a2d01], sil
jne 0x140051d97
mov r8, r12
lea rcx, [0x1406a3110]
lea r14, [0x1406a3908]
mov ebx, 0xffffffff
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, r14
jl 0x140051d75
mov r14d, 1
mov byte [0x1406a2d01], r14b
lea rbx, [0x1406a3110]
mov qword [rsp + 0x30], r13
mov r11d, esi
mov r9, r13
mov r8, qword [rbp + 0x18]
test r8, r8
je 0x140051def
mov r10, rdx
mov r9d, esi
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x140051dc0
not cl
movzx eax, cl
mov r9, qword [rsp + 0x30]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x30], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x140051db5
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
mov r10d, 1
cmp r8, r10
jbe 0x140051e0f
mov bl, byte [rdx + r8 - 1]
jmp 0x140051e11
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
mov eax, esi
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r10d
cmp eax, 8
jb 0x140051e23
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
mov r13, rdi
mov eax, r10d
test r10d, r10d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor rdi, rax
xor rdi, r13
mov qword [rsp + 0x60], rdi
mov al, byte [rsp + r11 + 0x60]
xor byte [rsp + r11 + 0x30], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor sil, r12b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140051e4d
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and rdx, r9
xor rcx, rdx
mov qword [rbp + 0xb98], rcx
lea rdx, [rbp + 8]
lea rcx, [rbp + 0xb78]
call fcn.14000a2a0
nop
lea rcx, [rbp + 8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xbe8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xdf8]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xb78]
cmp qword [rbp + 0xb90], 0x10
cmovae rdx, qword [rbp + 0xb78]
mov qword [rsp + 0x38], rdx
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
jne 0x140051f9b
lea rcx, [0x1406a3110]
lea rbx, [0x1406a3908]
mov edx, 0xffffffff
movabs r8, 0xababdbf33353735b
mov rax, r12
xor rax, r8
mov qword [rcx], rax
sub r12, rdx
add rcx, 8
cmp rcx, rbx
jl 0x140051f72
mov r12d, 1
mov byte [0x1406a2d01], r12b
mov rdx, qword [rsp + 0x38]
jmp 0x140051fa1
mov r12d, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x30], r13
xor r11d, r11d
mov r8, qword [rbp + 0xb88]
test r8, r8
je 0x140052008
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x30]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x140051fca
not cl
movzx eax, cl
mov rdx, qword [rsp + 0x30]
xor rdx, qword [rbx + rax*8]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], rdx
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x140051fbf
mov rdx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
movabs r15, 0xaebdccdb0a192837
mov r11, r15
movzx edi, byte [rdx]
cmp r8, r12
jbe 0x140052024
mov r14b, byte [r8 + rdx - 1]
jmp 0x140052027
mov r14b, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, dil
xor dl, r14b
add eax, r12d
cmp eax, 8
jb 0x140052039
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x40], dl
xor bl, bl
xor r9d, r9d
lea rsi, [r8*8]
xor r10d, r10d
mov eax, r9d
test r9d, r9d
cmove eax, r12d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rax, r8
shl rax, cl
xor r11, rax
xor r11, r15
mov qword [rsp + 0x60], r11
mov al, byte [rsp + r10 + 0x60]
xor byte [rsp + r10 + 0x30], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x38]
xor bl, r12b
cmovne rdx, qword [rsp + 0x40]
shl rdx, cl
xor rdx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdx
add r9d, r12d
add r10, r12
cmp r9d, 8
jb 0x14005205f
movzx eax, r14b
imul r8, rax, 0xff
not r8
mov rax, rdi
shl rax, 7
sub r8, rax
and rdx, r13
xor r8, rdx
mov rdx, qword [rbp + 0xb98]
cmp r8, rdx
je 0x14005211e
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x7c0]
call fcn.14002d4ec
lea rdx, [rbp + 0xb78]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xb78]
lea rcx, [rbp + 0x10d8]
call fcn.14002b864
nop
lea rdx, [rbp + 0x10d8]
lea rcx, [rbp + 0xdd8]
call fcn.14002b864
mov r15, qword [rbp + 0xde8]
lea rdi, [rbp + 0xdd8]
cmp qword [rbp + 0xdf0], 0x10
cmovae rdi, qword [rbp + 0xdd8]
mov qword [rsp + 0x58], rdi
xor r13d, r13d
cmp byte [0x1406a2b50], r13b
jne 0x140052362
mov esi, r13d
lea r14, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x38]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
add rax, r12
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r14 + 0x6a2b60], rax
lea rcx, [rbp + 0x3e0]
call fcn.140063754
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
add rax, r12
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r14 + 0x6a2be0], rax
lea rcx, [rbp + 0x3f0]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
add rax, r12
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r14 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14005218c
lea rcx, [rsp + 0x60]
call fcn.140063754
mov esi, r13d
lea r14, [0x1406a2ce0]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400522a8
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
add esi, r12d
add r14, r12
cmp esi, 4
jb 0x140052292
lea rcx, [rbp + 0x400]
call fcn.140063754
mov r14, qword [rax]
mov ebx, r13d
lea rsi, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400522f4
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 8
jb 0x1400522de
lea rcx, [rbp + 0x408]
call fcn.140063754
mov r14, qword [rax]
mov ebx, r13d
lea rsi, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14005233f
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, r14
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 0xc
jb 0x140052329
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x140052434
mov ebx, r13d
lea rsi, [0x140000000]
mov r8d, r13d
mov dl, byte [rdi]
lea r9, [0x1406a2ce0]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x140052387
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x140052381
mov r8d, r13d
lea r9, [0x1406a2ce8]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2be0]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400523c0
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x1400523ba
mov r8d, r13d
lea r9, [0x1406a2cf0]
mov r10d, r13d
mov r11, r13
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + rsi + 0x6a2b60]
mov byte [rdi], dl
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400523f9
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x1400523f3
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x140052375
lea rcx, [rbp + 0x10d8]
call fcn.1400099b4
lea rcx, [rbp + 0xdd8]
cmp qword [rbp + 0xdf0], 0x10
cmovae rcx, qword [rbp + 0xdd8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, [rbp + 0xdd8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0xb78]
call fcn.14002f208
lea rcx, [0x1406a20a8]
cmp qword [0x1406a20c0], 0x10
cmovae rcx, qword [0x1406a20a8]
call fcn.140018b78
lea rcx, [0x1406a20a8]
cmp qword [0x1406a20c0], 0x10
cmovae rcx, qword [0x1406a20a8]
call fcn.140018b78
mov dword [rbp - 0x7c], eax
mov qword [rbp + 0x30], r12
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x410]
call fcn.14001eb38
mov rcx, rax
call fcn.14002aed0
cmp dword [rbp - 0x7c], r13d
je 0x140052492
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x428]
call fcn.14001a210
nop
mov rcx, rax
call fcn.14005e3c4
nop
cmp dword [rbp + 0x430], r13d
je 0x140052507
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
mov qword [rbp + 0x38], r12
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x418]
call fcn.14001eb38
mov rcx, rax
call fcn.14002aed0
mov ecx, dword [rbp - 0x7c]
call fcn.14021c0d0
call fcn.140030a64
mov rdx, rax
lea rcx, [rbp + 0x10b8]
call fcn.14001f304
nop
mov r8d, r12d
lea rdx, [rbp + 0x10b8]
lea rcx, [rbp + 0x40]
call fcn.1400525c0
nop
mov rcx, rax
call fcn.1400cd1f0
nop
mov dl, byte [rbp + 0x40]
lea rcx, [rbp + 0x48]
call fcn.14005e070
nop
lea rcx, [rbp + 0x10b8]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x800]
call fcn.140030210
nop
lea rcx, [rbp + 0x1098]
call fcn.1400099b4
mov rcx, qword [rbp + 0x11d8]
xor rcx, rsp
call fcn.1402145d0
lea r11, [rsp + 0x12e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret