Function at 0x1400bcfe8
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1628]
mov eax, 0x1700
call fcn.1402148b0
sub rsp, rax
mov rax, qword [0x14069f448]
xor rax, rsp
mov qword [rbp + 0x15f0], rax
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x40], rdx
xor r14d, r14d
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov edx, eax
mov r9d, 0xffffffff
mov dword [rbp + 0x15e4], r9d
mov dword [rbp + 0x264], eax
lea ebx, [r14 + 1]
mov ecx, ebx
mov r8d, 0x270
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x264], edx
add rcx, rbx
cmp rcx, r8
jb 0x1400bd058
mov dword [rbp + 0x260], r8d
lea rax, [rbp + 0x98]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r14
mov r12d, recv
mov qword [rbp + 0xb0], r12
mov byte [rbp + 0x98], r14b
xor eax, eax
mov qword [rbp + 0xb8], rax
lea r15, [0x14006b26c]
cmp byte [0x1406a3910], r14b
jne 0x1400bd0d4
mov qword [0x1406a3908], r15
mov byte [0x1406a3910], bl
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r12
mov byte [rbp + 0x30], r14b
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
movabs rsi, 0xfeeddccbbaa99887
lea rax, [0x1406a3110]
lea r8, [0x1406a3908]
movabs r10, 0xababdbf33353735b
cmp byte [0x1406a2d01], r14b
jne 0x1400bd139
mov rdx, rsi
mov rcx, rax
mov rax, rdx
xor rax, r10
mov qword [rcx], rax
sub rdx, r9
add rcx, 8
cmp rcx, r8
jl 0x1400bd11e
mov byte [0x1406a2d01], bl
movabs rdi, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x20], rdi
movabs r11, 0xaebdccdb0a192837
mov qword [rsp + 0x38], r14
mov eax, r14d
mov cl, r14b
xor cl, 0xae
add eax, ebx
cmp eax, 8
jb 0x1400bd15d
mov byte [rsp + 0x38], cl
mov r10b, r14b
mov r9d, r14d
mov r8, r14
mov rsi, r11
xor r11, rsi
mov qword [rsp + 0x30], r11
mov al, byte [rsp + r8 + 0x30]
xor byte [rsp + r8 + 0x20], al
lea eax, [r9*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rax, r14
xor r10b, bl
cmovne rax, qword [rsp + 0x38]
shl rax, cl
xor rax, qword [rsp + 0x20]
mov qword [rsp + 0x20], rax
add r9d, ebx
add r8, rbx
cmp r9d, 8
jb 0x1400bd177
and rax, rdi
xor rax, 0xffffffffffff52ad
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x98]
call fcn.14000a2a0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
movabs rsi, 0xfeeddccbbaa99887
jb 0x1400bd230
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bd22b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bd22b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r12
mov byte [rbp + 0x30], r14b
cmp byte [0x1406a3911], r14b
jne 0x1400bd252
mov qword [0x1406a3908], r15
mov byte [0x1406a3911], bl
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.GetModuleHandleA
lea rcx, [rbp - 0x10]
call fcn.140004b9c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], r14
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdx, qword [rbp - 0x10]
mov r8, qword [rbp]
lea rcx, [rbp + 0x10]
call fcn.140004c7c
mov r15, qword [rbp + 0x20]
lea r14, [rbp + 0x10]
mov r12, qword [rbp + 0x10]
mov r13, qword [rbp + 0x28]
cmp r13, 0x10
cmovae r14, r12
mov qword [rsp + 0x30], r14
cmp byte [0x1406a2b50], 0
jne 0x1400bd5bb
xor edi, edi
mov esi, 0x989680
lea r12, [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 0x1400bd2fc
imul rbx, rax, 0x64
jmp 0x1400bd318
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
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r14
mov qword [rdi + r12 + 0x6a2b60], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x1400bd368
imul rbx, rax, 0x64
jmp 0x1400bd384
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
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r14
mov qword [rdi + r12 + 0x6a2be0], rax
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x1400bd3d4
imul rbx, rax, 0x64
jmp 0x1400bd3f0
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
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r14
mov qword [rdi + r12 + 0x6a2c60], rax
add rdi, 8
cmp rdi, 0x80
jl 0x1400bd2e4
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, rsi
jne 0x1400bd451
imul rbx, rax, 0x64
jmp 0x1400bd46d
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 + 0x30]
lea r13d, [rdi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bd495
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
add edi, r13d
add rsi, r13
cmp edi, 4
jb 0x1400bd47f
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x1400bd4cd
imul rsi, rax, 0x64
jmp 0x1400bd4e8
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1406a2ce8]
mov r12, r13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bd50a
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
add ebx, r12d
add rdi, r12
cmp ebx, 8
jb 0x1400bd4f4
call sub.MSVCP140.dll__Query_perf_frequency
mov rbx, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rbx, 0x989680
jne 0x1400bd542
imul rsi, rax, 0x64
jmp 0x1400bd55d
cqo
idiv rbx
imul rsi, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rsi, rax
xor ebx, ebx
lea rdi, [0x1406a2cf0]
mov r12, qword [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bd580
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
add ebx, r13d
add rdi, r13
cmp ebx, 0xc
jb 0x1400bd56a
mov byte [0x1406a2b50], r13b
mov r13, qword [rbp + 0x28]
movabs rdi, 0xfae9e8d7c6b5a493
movabs rsi, 0xfeeddccbbaa99887
test r15, r15
je 0x1400bd6b4
xor ebx, ebx
test r15, r15
je 0x1400bd6b4
lea edi, [rbx + 1]
lea r12, [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 + r12 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, 8
jb 0x1400bd5ec
add r8d, edi
add r9, rdi
cmp r8d, 4
jb 0x1400bd5e6
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 + r12 + 0x6a2be0]
mov byte [r14], dl
add r9d, edi
add r10, rdi
cmp r9d, 8
jb 0x1400bd627
add r8d, edi
add r11, rdi
cmp r8d, 8
jb 0x1400bd621
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 + r12 + 0x6a2b60]
mov byte [r14], dl
add r10d, edi
add r11, rdi
cmp r10d, 8
jb 0x1400bd662
add r8d, edi
add r9, rdi
cmp r8d, 0xc
jb 0x1400bd65c
add ebx, edi
add r14, rdi
movsxd rax, ebx
cmp rax, r15
jb 0x1400bd5d9
mov r13, qword [rbp + 0x28]
mov r15, qword [rbp + 0x20]
mov r12, qword [rbp + 0x10]
movabs rdi, 0xfae9e8d7c6b5a493
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
and qword [rbp + 0x60], 0
and qword [rbp + 0x68], 0
lea rdx, [rbp + 0x10]
cmp r13, 0x10
cmovae rdx, r12
mov r8, r15
lea rcx, [rbp + 0x50]
call fcn.140004c7c
lea rax, [rbp + 0x50]
mov qword [rsp + 0x40], rax
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rdx, qword [rbp + 0x50]
xor r12d, r12d
lea rbx, [0x1406a3110]
cmp byte [0x1406a2d01], r12b
jne 0x1400bd748
mov r8, rsi
mov rcx, rbx
mov r9d, 0xffffffff
lea r10, [0x1406a3908]
movabs r11, 0xababdbf33353735b
mov rax, r8
xor rax, r11
mov qword [rcx], rax
sub r8, r9
add rcx, 8
cmp rcx, r10
jl 0x1400bd724
mov r13d, 1
mov byte [0x1406a2d01], r13b
jmp 0x1400bd74e
mov r13d, 1
mov qword [rsp + 0x20], rdi
mov r11d, r12d
mov r9, rdi
mov r8, qword [rbp + 0x60]
test r8, r8
je 0x1400bd79f
mov r10, rdx
mov r9d, r12d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r13d
add rax, r13
cmp r9d, 8
jb 0x1400bd770
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r13d
add r10, r13
movsxd rax, r11d
cmp rax, r8
jb 0x1400bd765
movabs rdi, 0xaebdccdb0a192837
mov r14b, byte [rdx]
mov byte [rsp + 0x48], r14b
cmp r8, r13
jbe 0x1400bd7bd
mov bl, byte [rdx + r8 - 1]
jmp 0x1400bd7bf
mov bl, 0xae
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x28], r8
mov eax, r12d
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r13d
cmp eax, 8
jb 0x1400bd7d2
mov byte [rsp + 0x38], cl
mov byte [rsp + 0x28], dl
mov sil, r12b
mov r10d, r12d
lea r15, [r8*8]
mov r11, r12
mov r14, 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, r14
mov qword [rsp + 0x30], rdi
mov al, byte [rsp + r11 + 0x30]
xor byte [rsp + r11 + 0x20], 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 + 0x28]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400bd7fb
movzx eax, bl
imul rcx, rax, 0xff
not rcx
movzx eax, byte [rsp + 0x48]
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0xb8], rcx
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x98]
call fcn.14000a2a0
nop
mov rdx, qword [rbp + 0x68]
mov ebx, 0x1000
cmp rdx, 0x10
jb 0x1400bd8e7
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, rbx
jb 0x1400bd8e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bd8e2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], recv
mov byte [rbp + 0x50], r12b
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x1400bd932
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, rbx
jb 0x1400bd92c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bd92c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x1400bd96d
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, rbx
jb 0x1400bd967
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bd967
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
nop
lea rcx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 0x10
cmovae rcx, qword [rbp + 0x98]
cmp byte [0x1406a2d01], 0
jne 0x1400bd9d0
movabs r8, 0xfeeddccbbaa99887
lea rdx, [0x1406a3110]
mov ebx, 0xffffffff
lea r12, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rdx], rax
sub r8, rbx
add rdx, 8
cmp rdx, r12
jl 0x1400bd9b4
mov byte [0x1406a2d01], r13b
lea rbx, [0x1406a3110]
movabs r9, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x20], r9
xor r11d, r11d
mov r8, qword [rbp + 0xa8]
test r8, r8
je 0x1400bda32
mov r10, rcx
xor r9d, r9d
mov dl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], dl
add r9d, r13d
add rax, r13
cmp r9d, 8
jb 0x1400bda03
not dl
movzx eax, dl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r13d
add r10, r13
movsxd rax, r11d
cmp rax, r8
jb 0x1400bd9f8
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rcx]
cmp r8, r13
jbe 0x1400bda4c
mov bl, byte [rcx + r8 - 1]
jmp 0x1400bda4e
mov bl, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r13d
cmp eax, 8
jb 0x1400bda60
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x30], rdi
mov al, byte [rsp + r11 + 0x30]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400bda8d
movzx eax, bl
imul rbx, rax, 0xff
not rbx
mov rax, r14
shl rax, 7
sub rbx, rax
and r9, rdx
xor rbx, r9
mov rsi, qword [rbp + 0xb8]
cmp rbx, rsi
mov r15, qword [rbp + 0x98]
mov r12, qword [rbp + 0xb0]
je 0x1400bdb85
mov rdi, qword [0x1406a3908]
mov edx, 3
lea rcx, [rbp + 0x160]
call fcn.14002d52c
mov qword [rbp + 0x188], rsi
mov qword [rbp + 0x190], rbx
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call rdi
mov r12, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xa8]
mov r15, qword [rbp + 0x98]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea rdx, [rbp + 0x98]
cmp r12, 0x10
cmovae rdx, r15
lea rcx, [rbp - 0x10]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
xor r13d, r13d
mov qword [rbp + 0x1b0], r13
mov qword [rbp + 0x1b8], r13
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdx, qword [rbp - 0x10]
mov r8, qword [rbp]
lea rcx, [rbp + 0x1a0]
call fcn.140004c7c
mov r15, qword [rbp + 0x1b0]
lea rdi, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 0x10
cmovae rdi, qword [rbp + 0x1a0]
mov qword [rsp + 0x30], rdi
lea r12d, [r13 + 1]
cmp byte [0x1406a2b50], r13b
jne 0x1400bddfa
mov esi, r13d
lea r14, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x28]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
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, [rsp + 0x40]
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, [rsp + 0x38]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x28], 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 0x1400bdc2e
lea rcx, [rsp + 0x28]
call fcn.140063754
mov ebx, r13d
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bdd41
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x28]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x1400bdd2b
lea rcx, [rsp + 0x30]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r13d
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bdd8c
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, 8
jb 0x1400bdd76
lea rcx, [rsp + 0x28]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r13d
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bddd6
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, 0xc
jb 0x1400bddc0
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x1400bdecc
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 0x1400bde1f
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x1400bde19
mov r8d, r13d
lea r11, [0x1406a2ce8]
mov r9d, r13d
mov r10, r13
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 0x1400bde58
add r8d, r12d
add r11, r12
cmp r8d, 8
jb 0x1400bde52
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 0x1400bde91
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x1400bde8b
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400bde0d
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x1400bdf0b
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bdf05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bdf05
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140213ea4
nop
lea rax, [rbp + 0x70]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], r13
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x70]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rbp + 0x90], rax
cmp byte [0x1406a3910], r13b
jne 0x1400bdf64
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], r13
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x30]
call fcn.140004b9c
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rdx, qword [rbp + 0x30]
mov qword [rsp + 0x30], rdx
cmp byte [0x1406a2d01], r13b
jne 0x1400bdff3
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov ebx, 0xffffffff
lea rdx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, rdx
jl 0x1400bdfd2
mov byte [0x1406a2d01], r12b
mov rdx, qword [rsp + 0x30]
lea rbx, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x20], rax
mov r11d, r13d
mov r9, rax
mov r8, qword [rbp + 0x40]
test r8, r8
je 0x1400be055
mov r10, rdx
mov r9d, r13d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x1400be026
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x1400be01b
movabs rdi, 0xaebdccdb0a192837
mov r14b, byte [rdx]
mov byte [rsp + 0x48], r14b
cmp r8, r12
jbe 0x1400be073
mov bl, byte [rdx + r8 - 1]
jmp 0x1400be075
mov bl, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
mov eax, r13d
mov cl, r8b
mov dl, r8b
xor cl, r14b
xor dl, bl
add eax, r12d
cmp eax, 8
jb 0x1400be088
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
mov sil, r13b
mov r10d, r13d
lea r15, [r8*8]
mov r11, r13
mov r14, 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, r14
mov qword [rsp + 0x30], rdi
mov al, byte [rsp + r11 + 0x30]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400be0b1
movzx eax, bl
imul rcx, rax, 0xff
not rcx
movzx eax, byte [rsp + 0x48]
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0x90], rcx
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.14000a2a0
nop
lea rcx, [rbp + 0x30]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], r13b
jne 0x1400be183
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, recv
lea rdx, str.GetProcAddress
lea rcx, [rbp - 0x10]
call fcn.140004b9c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], r13
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdx, qword [rbp - 0x10]
mov r8, qword [rbp]
lea rcx, [rbp + 0x10]
call fcn.140004c7c
mov r15, qword [rbp + 0x20]
lea rdi, [rbp + 0x10]
mov r12, qword [rbp + 0x10]
mov r13, qword [rbp + 0x28]
cmp r13, 0x10
cmovae rdi, r12
cmp byte [0x1406a2b50], 0
jne 0x1400be3e8
xor esi, esi
lea r14d, [rsi + 1]
lea r13, [0x140000000]
movabs r12, 0x101010101010101
lea rcx, [rsp + 0x28]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
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 + r13 + 0x6a2b60], rax
lea rcx, [rsp + 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, r14
xor rax, 0x20
shl rax, 0xb
or rax, r12
mov qword [rsi + r13 + 0x6a2be0], rax
lea rcx, [rsp + 0x40]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x28], 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 + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400be20f
lea rcx, [rsp + 0x30]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400be31c
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x30]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400be306
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400be36a
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, 8
jb 0x1400be354
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
mov r12, qword [rbp + 0x10]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400be3bb
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, 0xc
jb 0x1400be3a5
mov rsi, r13
mov byte [0x1406a2b50], sil
mov r13, qword [rbp + 0x28]
jmp 0x1400be3ed
mov esi, 1
test r15, r15
je 0x1400be4d5
xor ebx, ebx
test r15, r15
je 0x1400be4d5
lea r14, [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 + r14 + 0x6a2b60]
mov byte [rdi], dl
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x1400be41a
add r8d, esi
add r9, rsi
cmp r8d, 4
jb 0x1400be414
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 + r14 + 0x6a2be0]
mov byte [rdi], dl
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x1400be454
add r8d, esi
add r9, rsi
cmp r8d, 8
jb 0x1400be44e
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 + r14 + 0x6a2b60]
mov byte [rdi], dl
add r10d, esi
add r11, rsi
cmp r10d, 8
jb 0x1400be48e
add r8d, esi
add r9, rsi
cmp r8d, 0xc
jb 0x1400be488
add ebx, esi
add rdi, rsi
movsxd rax, ebx
cmp rax, r15
jb 0x1400be408
mov r13, qword [rbp + 0x28]
mov r15, qword [rbp + 0x20]
mov r12, qword [rbp + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
and qword [rbp + 0x60], 0
and qword [rbp + 0x68], 0
lea rdx, [rbp + 0x10]
cmp r13, 0x10
cmovae rdx, r12
mov r8, r15
lea rcx, [rbp + 0x50]
call fcn.140004c7c
lea rax, [rbp + 0x50]
mov qword [rsp + 0x50], rax
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rdx, qword [rbp + 0x50]
mov qword [rsp + 0x30], rdx
cmp byte [0x1406a2d01], 0
jne 0x1400be56b
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov ebx, 0xffffffff
lea rdx, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, rdx
jl 0x1400be54a
mov byte [0x1406a2d01], sil
mov rdx, qword [rsp + 0x30]
lea rbx, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x20], rax
xor r11d, r11d
mov r9, rax
mov r8, qword [rbp + 0x60]
test r8, r8
je 0x1400be5cd
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400be59e
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400be593
movabs r13, 0xaebdccdb0a192837
mov rdi, r13
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x1400be5ea
mov bl, byte [rdx + r8 - 1]
jmp 0x1400be5ec
mov bl, 0xae
mov qword [rsp + 0x28], 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 0x1400be5fe
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
xor sil, sil
xor r10d, r10d
lea r15, [r8*8]
xor r11d, r11d
lea r12d, [r10 + 1]
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 + 0x30], rdi
mov al, byte [rsp + r11 + 0x30]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400be627
movzx eax, bl
imul rcx, rax, 0xff
not rcx
mov rax, r14
shl rax, 7
sub rcx, rax
and r9, rdx
xor rcx, r9
mov qword [rbp + 0x90], rcx
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.14000a2a0
nop
lea rcx, [rbp + 0x50]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x10]
call fcn.1400099b4
nop
lea rcx, [rbp - 0x10]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rdx, qword [rbp + 0x70]
cmp byte [0x1406a2d01], 0
jne 0x1400be751
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea r13, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rdi
add rcx, 8
cmp rcx, r13
jl 0x1400be72e
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x1400be756
mov esi, 1
lea rdi, [0x1406a3110]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x20], rax
xor ebx, ebx
mov r10, rax
mov r9, qword [rbp + 0x80]
test r9, r9
je 0x1400be7b9
mov r11, rdx
xor r8d, r8d
mov cl, byte [r11]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r8d, esi
add rax, rsi
cmp r8d, 8
jb 0x1400be78b
not cl
movzx eax, cl
mov r10, qword [rsp + 0x20]
xor r10, qword [rdi + rax*8]
mov qword [rsp + 0x20], r10
add ebx, esi
add r11, rsi
movsxd rax, ebx
cmp rax, r9
jb 0x1400be780
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r9, rsi
jbe 0x1400be7d3
mov bl, byte [rdx + r9 - 1]
jmp 0x1400be7d5
mov bl, 0xae
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x38], r9
xor eax, eax
mov cl, r9b
mov dl, r9b
xor cl, r14b
xor dl, bl
add eax, esi
cmp eax, 8
jb 0x1400be7e7
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
xor sil, sil
xor r8d, r8d
lea r15, [r9*8]
xor r11d, r11d
lea r13d, [r8 + 1]
mov r12, rdi
mov eax, r8d
test r8d, r8d
cmove eax, r13d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rax, r9
shl rax, cl
xor rdi, rax
xor rdi, r12
mov qword [rsp + 0x30], rdi
mov al, byte [rsp + r11 + 0x30]
xor byte [rsp + r11 + 0x20], al
lea eax, [r8*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r8d, r13d
add r11, r13
cmp r8d, 8
jb 0x1400be813
movzx eax, bl
imul r8, rax, 0xff
not r8
mov rax, r14
shl rax, 7
sub r8, rax
and r10, rdx
xor r8, r10
mov rdx, qword [rbp + 0x90]
cmp r8, rdx
mov r12, qword [rbp + 0x70]
mov r13, qword [rbp + 0x88]
je 0x1400be8eb
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x160]
call fcn.14002d4ec
lea rdx, [rbp + 0x70]
mov rcx, rax
call rbx
mov r13, qword [rbp + 0x88]
mov r9, qword [rbp + 0x80]
mov r12, qword [rbp + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea rdx, [rbp + 0x70]
cmp r13, 0x10
cmovae rdx, r12
mov r8, r9
lea rcx, [rbp - 0x10]
call fcn.140004c7c
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
xor r14d, r14d
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], r14
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdx, qword [rbp - 0x10]
mov r8, qword [rbp]
lea rcx, [rbp + 0x1c0]
call fcn.140004c7c
mov r15, qword [rbp + 0x1d0]
lea rdi, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0x10
cmovae rdi, qword [rbp + 0x1c0]
mov qword [rsp + 0x30], rdi
lea r13d, [r14 + 1]
lea r12, [0x140000000]
cmp byte [0x1406a2b50], r14b
jne 0x1400beb62
mov esi, r14d
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x28]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
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 + r12 + 0x6a2b60], rax
lea rcx, [rsp + 0x50]
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 + r12 + 0x6a2be0], rax
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x28], 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 + r12 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400be994
lea rcx, [rsp + 0x28]
call fcn.140063754
mov ebx, r14d
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400beaa7
sub eax, r13d
or eax, 0xfffffff0
add eax, r13d
add al, r13b
movsx rcx, al
mov rax, qword [rsp + 0x28]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r13d
add rsi, r13
cmp ebx, 4
jb 0x1400bea91
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
mov esi, r14d
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400beaf2
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, 8
jb 0x1400beadc
lea rcx, [rsp + 0x58]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400beb3b
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, 0xc
jb 0x1400beb25
mov byte [0x1406a2b50], r13b
xor r14d, r14d
test r15, r15
je 0x1400bec30
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 + r12 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400beb80
add r8d, r13d
add r9, r13
cmp r8d, 4
jb 0x1400beb7a
mov r8d, r14d
lea r9, [0x1406a2ce8]
mov r10d, r14d
mov r11, r14
movzx eax, byte [r9]
lea rcx, [r11 + rax*8]
xor dl, byte [rcx + r12 + 0x6a2be0]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400bebba
add r8d, r13d
add r9, r13
cmp r8d, 8
jb 0x1400bebb4
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 + r12 + 0x6a2b60]
mov byte [rdi], dl
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400bebf4
add r8d, r13d
add r9, r13
cmp r8d, 0xc
jb 0x1400bebee
add ebx, r13d
add rdi, r13
movsxd rax, ebx
cmp rax, r15
jb 0x1400beb6e
lea rcx, [rbp - 0x10]
call fcn.1400099b4
nop
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], r14
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0xc0]
call fcn.140004b9c
nop
xor eax, eax
mov qword [rbp + 0xe0], rax
cmp byte [0x1406a3910], r14b
jne 0x1400bec9c
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r14
xor r8d, r8d
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x30]
call fcn.140004b9c
lea rax, [rbp + 0x30]
mov qword [rsp + 0x50], rax
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0x10
cmovae rdx, qword [rbp + 0x30]
cmp byte [0x1406a2d01], r14b
jne 0x1400bed21
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov ebx, 0xffffffff
lea r12, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, r12
jl 0x1400bed05
mov byte [0x1406a2d01], r13b
lea rbx, [0x1406a3110]
movabs r13, 0xfae9e8d7c6b5a493
mov qword [rsp + 0x20], r13
mov r11d, r14d
mov r9, r13
mov r8, qword [rbp + 0x40]
mov esi, 1
test r8, r8
je 0x1400bed88
mov r10, rdx
mov r9d, r14d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400bed59
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400bed4e
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x1400beda2
mov bl, byte [r8 + rdx - 1]
jmp 0x1400beda4
mov bl, 0xae
mov qword [rsp + 0x28], 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 0x1400bedb6
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
xor sil, sil
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 + 0x30], rdi
mov al, byte [rsp + r11 + 0x30]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400bede2
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 + 0xe0], rcx
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0xc0]
call fcn.14000a2a0
nop
lea rcx, [rbp + 0x30]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
mov r14d, 1
jne 0x1400beecf
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r14b
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov r8d, recv
lea rdx, str.LoadLibraryA
lea rcx, [rbp + 0x50]
call fcn.140004b9c
nop
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x10]
call fcn.14002b864
mov r15, qword [rbp]
lea rdi, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdi, qword [rbp - 0x10]
mov qword [rsp + 0x30], rdi
cmp byte [0x1406a2b50], 0
jne 0x1400bf121
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x28]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
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 + r13 + 0x6a2b60], rax
lea rcx, [rsp + 0x50]
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 + r13 + 0x6a2be0], rax
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x28], 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 + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400bef39
lea rcx, [rsp + 0x28]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bf04b
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x28]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400bf035
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bf099
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, 8
jb 0x1400bf083
lea rcx, [rsp + 0x58]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bf0f0
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, 0xc
jb 0x1400bf0da
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x1400bf1fb
xor ebx, ebx
test r15, r15
je 0x1400bf1fb
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 0x1400bf14e
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x1400bf148
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, r14d
add r11, r14
cmp r10d, 8
jb 0x1400bf187
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x1400bf181
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 0x1400bf1c0
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x1400bf1ba
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x1400bf13c
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002b864
mov qword [rsp + 0x30], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400bf21e
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400bf263
mov r9, r12
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea rbx, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rdi
add rcx, 8
cmp rcx, rbx
jl 0x1400bf247
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x1400bf2b7
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x1400bf288
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x1400bf27d
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x1400bf2d1
mov dil, byte [r8 + rdx - 1]
jmp 0x1400bf2d4
mov dil, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x1400bf2e6
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x40], rsi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400bf314
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 + 0xe0], rcx
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0xc0]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x30]
call fcn.1400099b4
nop
lea rcx, [rbp - 0x10]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x50]
call fcn.1400099b4
nop
lea rdx, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
cmovae rdx, qword [rbp + 0xc0]
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x1400bf454
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov ebx, 0xffffffff
lea r12, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, r12
jl 0x1400bf431
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x1400bf459
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0xd0]
test r8, r8
je 0x1400bf4b4
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400bf485
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400bf47a
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x1400bf4ce
mov bl, byte [r8 + rdx - 1]
jmp 0x1400bf4d0
mov bl, 0xae
mov qword [rsp + 0x28], 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 0x1400bf4e2
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
xor sil, sil
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 + 0x40], rdi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400bf50e
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 + 0xe0]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
je 0x1400bf5e0
mov rbx, qword [0x1406a3908]
lea rcx, [rbp + 0x160]
call fcn.14002d4ec
lea rdx, [rbp + 0xc0]
mov rcx, rax
call rbx
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x50]
call fcn.14002b864
nop
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x1e0]
call fcn.14002b864
mov r15, qword [rbp + 0x1f0]
lea rdi, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0x10
cmovae rdi, qword [rbp + 0x1e0]
mov qword [rsp + 0x40], rdi
mov r14d, 1
cmp byte [0x1406a2b50], 0
jne 0x1400bf832
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x30]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
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 + r13 + 0x6a2b60], rax
lea rcx, [rsp + 0x50]
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 + r13 + 0x6a2be0], rax
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x30], 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 + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400bf64a
lea rcx, [rsp + 0x30]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bf75c
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x30]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400bf746
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bf7aa
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, 8
jb 0x1400bf794
lea rcx, [rsp + 0x58]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bf801
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, 0xc
jb 0x1400bf7eb
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x1400bf90c
xor ebx, ebx
test r15, r15
je 0x1400bf90c
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 0x1400bf85f
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x1400bf859
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, r14d
add r11, r14
cmp r10d, 8
jb 0x1400bf898
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x1400bf892
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 0x1400bf8d1
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x1400bf8cb
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x1400bf84d
lea rcx, [rbp + 0x50]
call fcn.1400099b4
nop
lea rax, [rbp + 0x138]
mov qword [rbp + 0x10], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x138]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0x158], rax
cmp byte [0x1406a3910], al
jne 0x1400bf95b
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x50]
call fcn.14002b89c
mov qword [rsp + 0x30], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400bf981
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400bf9c6
mov r9, r12
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea rbx, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rdi
add rcx, 8
cmp rcx, rbx
jl 0x1400bf9aa
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x1400bfa1a
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x1400bf9eb
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x1400bf9e0
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x1400bfa34
mov dil, byte [r8 + rdx - 1]
jmp 0x1400bfa37
mov dil, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x1400bfa49
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x40], rsi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400bfa77
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 + 0x158], rcx
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x138]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x30]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
mov r12d, 1
jne 0x1400bfb5d
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, [0x14022a288]
lea rcx, [rbp + 0x160]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.14002b864
mov r15, qword [rbp]
lea rdi, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdi, qword [rbp - 0x10]
cmp byte [0x1406a2b50], 0
jne 0x1400bfd7c
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x30]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
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 + 0x10]
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, [rsp + 0x50]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x30], 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 0x1400bfbaf
lea rcx, [rsp + 0x40]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bfcc5
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x40]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x1400bfcaf
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bfd0f
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, 8
jb 0x1400bfcf9
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400bfd58
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, 0xc
jb 0x1400bfd42
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x1400bfe56
xor ebx, ebx
test r15, r15
je 0x1400bfe56
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 0x1400bfda9
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x1400bfda3
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 0x1400bfde2
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x1400bfddc
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 0x1400bfe1b
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x1400bfe15
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400bfd97
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.14002b864
mov qword [rsp + 0x30], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400bfe79
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400bfec5
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea rbx, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rdi
add rcx, 8
cmp rcx, rbx
jl 0x1400bfea9
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x1400bff19
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x1400bfeea
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x1400bfedf
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x1400bff33
mov dil, byte [r8 + rdx - 1]
jmp 0x1400bff36
mov dil, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x1400bff48
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x40], rsi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400bff76
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 + 0x158], rcx
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x138]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x30]
call fcn.1400099b4
nop
lea rcx, [rbp - 0x10]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x160]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x138]
cmp qword [rbp + 0x150], 0x10
cmovae rdx, qword [rbp + 0x138]
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x1400c00b9
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov ebx, 0xffffffff
lea r12, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, r12
jl 0x1400c0096
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x1400c00be
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0x148]
test r8, r8
je 0x1400c0119
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400c00ea
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400c00df
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x1400c0133
mov bl, byte [rdx + r8 - 1]
jmp 0x1400c0135
mov bl, 0xae
mov qword [rsp + 0x28], 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 0x1400c0147
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
xor sil, sil
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 + 0x40], rdi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400c0173
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 + 0x158]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
je 0x1400c0242
mov rbx, qword [0x1406a3908]
lea rcx, [rbp - 0x48]
call fcn.14002d4ec
lea rdx, [rbp + 0x138]
mov rcx, rax
call rbx
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x30]
call fcn.14002b864
nop
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x200]
call fcn.14002b864
mov r15, qword [rbp + 0x210]
lea rdi, [rbp + 0x200]
cmp qword [rbp + 0x218], 0x10
cmovae rdi, qword [rbp + 0x200]
mov qword [rsp + 0x40], rdi
mov r14d, 1
cmp byte [0x1406a2b50], 0
jne 0x1400c0493
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x30]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
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 + r13 + 0x6a2b60], rax
lea rcx, [rbp + 0x10]
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 + r13 + 0x6a2be0], rax
lea rcx, [rsp + 0x50]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x30], 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 + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400c02ac
lea rcx, [rsp + 0x30]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c03bd
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x30]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400c03a7
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c040b
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, 8
jb 0x1400c03f5
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c0462
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, 0xc
jb 0x1400c044c
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x1400c056d
xor ebx, ebx
test r15, r15
je 0x1400c056d
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 0x1400c04c0
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x1400c04ba
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, r14d
add r11, r14
cmp r10d, 8
jb 0x1400c04f9
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x1400c04f3
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 0x1400c0532
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x1400c052c
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x1400c04ae
lea rcx, [rbp + 0x30]
call fcn.1400099b4
nop
lea rax, [rbp + 0x110]
mov qword [rsp + 0x58], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x110]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0x130], rax
cmp byte [0x1406a3910], al
jne 0x1400c05bd
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x160]
call fcn.14002b89c
mov qword [rsp + 0x30], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400c05e6
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400c062b
mov r9, r12
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea rbx, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rdi
add rcx, 8
cmp rcx, rbx
jl 0x1400c060f
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x1400c067f
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x1400c0650
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x1400c0645
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x1400c0699
mov dil, byte [r8 + rdx - 1]
jmp 0x1400c069c
mov dil, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x1400c06ae
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x40], rsi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400c06dc
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 + 0x130], rcx
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x110]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x30]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
mov r12d, 1
jne 0x1400c07c2
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.lua_load
lea rcx, [rbp + 0x50]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.14002b864
mov r15, qword [rbp]
lea rdi, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdi, qword [rbp - 0x10]
cmp byte [0x1406a2b50], 0
jne 0x1400c09de
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x30]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
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 + 0x10]
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, [rsp + 0x50]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x30], 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 0x1400c0811
lea rcx, [rsp + 0x40]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
movabs r13, 0xfae9e8d7c6b5a493
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c0927
sub eax, r12d
or eax, 0xfffffff0
add eax, r12d
add al, r12b
movsx rcx, al
mov rax, qword [rsp + 0x40]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r12d
add rsi, r12
cmp ebx, 4
jb 0x1400c0911
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c0971
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, 8
jb 0x1400c095b
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c09ba
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, 0xc
jb 0x1400c09a4
mov byte [0x1406a2b50], r12b
test r15, r15
je 0x1400c0ab8
xor ebx, ebx
test r15, r15
je 0x1400c0ab8
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 0x1400c0a0b
add r8d, r12d
add r9, r12
cmp r8d, 4
jb 0x1400c0a05
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 0x1400c0a44
add r8d, r12d
add r9, r12
cmp r8d, 8
jb 0x1400c0a3e
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 0x1400c0a7d
add r8d, r12d
add r9, r12
cmp r8d, 0xc
jb 0x1400c0a77
add ebx, r12d
add rdi, r12
movsxd rax, ebx
cmp rax, r15
jb 0x1400c09f9
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x68]
call fcn.14002b864
mov qword [rsp + 0x30], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400c0adb
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400c0b27
movabs r9, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea rbx, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rdi
add rcx, 8
cmp rcx, rbx
jl 0x1400c0b0b
mov byte [0x1406a2d01], r12b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x1400c0b7b
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r12d
add rax, r12
cmp r9d, 8
jb 0x1400c0b4c
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r12d
add r10, r12
movsxd rax, r11d
cmp rax, r8
jb 0x1400c0b41
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r12
jbe 0x1400c0b95
mov dil, byte [r8 + rdx - 1]
jmp 0x1400c0b98
mov dil, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r12d
cmp eax, 8
jb 0x1400c0baa
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x40], rsi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400c0bd8
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 + 0x130], rcx
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0x110]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x30]
call fcn.1400099b4
nop
lea rcx, [rbp - 0x10]
call fcn.1400099b4
nop
lea rcx, [rbp + 0x50]
call fcn.1400099b4
nop
lea rdx, [rbp + 0x110]
cmp qword [rbp + 0x128], 0x10
cmovae rdx, qword [rbp + 0x110]
cmp byte [0x1406a2d01], 0
movabs r13, 0xfae9e8d7c6b5a493
jne 0x1400c0d18
movabs r8, 0xfeeddccbbaa99887
lea rcx, [0x1406a3110]
mov ebx, 0xffffffff
lea r12, [0x1406a3908]
movabs r9, 0xababdbf33353735b
mov rax, r8
xor rax, r9
mov qword [rcx], rax
sub r8, rbx
add rcx, 8
cmp rcx, r12
jl 0x1400c0cf5
mov esi, 1
mov byte [0x1406a2d01], sil
jmp 0x1400c0d1d
mov esi, 1
lea rbx, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
mov r8, qword [rbp + 0x120]
test r8, r8
je 0x1400c0d78
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, esi
add rax, rsi
cmp r9d, 8
jb 0x1400c0d49
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rbx + rax*8]
mov qword [rsp + 0x20], r9
add r11d, esi
add r10, rsi
movsxd rax, r11d
cmp rax, r8
jb 0x1400c0d3e
movabs rdi, 0xaebdccdb0a192837
movzx r14d, byte [rdx]
cmp r8, rsi
jbe 0x1400c0d92
mov bl, byte [r8 + rdx - 1]
jmp 0x1400c0d94
mov bl, 0xae
mov qword [rsp + 0x28], 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 0x1400c0da6
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], dl
xor sil, sil
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 + 0x40], rdi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor sil, r12b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r12d
add r11, r12
cmp r10d, 8
jb 0x1400c0dd2
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 + 0x130]
cmp r8, rdx
movabs r13, 0xfae9e8d7c6b5a493
movabs r12, 0xfeeddccbbaa99887
je 0x1400c0ea1
mov rbx, qword [0x1406a3908]
lea rcx, [rbp - 0x48]
call fcn.14002d4ec
lea rdx, [rbp + 0x110]
mov rcx, rax
call rbx
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x30]
call fcn.14002b864
nop
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x220]
call fcn.14002b864
mov r15, qword [rbp + 0x230]
lea rdi, [rbp + 0x220]
cmp qword [rbp + 0x238], 0x10
cmovae rdi, qword [rbp + 0x220]
mov qword [rsp + 0x40], rdi
mov r14d, 1
cmp byte [0x1406a2b50], 0
jne 0x1400c10f2
xor esi, esi
lea r13, [0x140000000]
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x30]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
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 + r13 + 0x6a2b60], rax
lea rcx, [rbp + 0x10]
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 + r13 + 0x6a2be0], rax
lea rcx, [rsp + 0x50]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x30], 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 + r13 + 0x6a2c60], rax
add rsi, 8
cmp rsi, 0x80
jl 0x1400c0f0b
lea rcx, [rsp + 0x30]
call fcn.140063754
xor ebx, ebx
lea rsi, [0x1406a2ce0]
mov rdi, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c101c
sub eax, r14d
or eax, 0xfffffff0
add eax, r14d
add al, r14b
movsx rcx, al
mov rax, qword [rsp + 0x30]
cqo
idiv rcx
mov byte [rsi], dl
add ebx, r14d
add rsi, r14
cmp ebx, 4
jb 0x1400c1006
lea rcx, [rsp + 0x68]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2ce8]
lea r13d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c106a
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, 8
jb 0x1400c1054
lea rcx, [rsp + 0x60]
call fcn.140063754
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x1406a2cf0]
movabs r13, 0xfae9e8d7c6b5a493
lea r12d, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400c10c1
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, 0xc
jb 0x1400c10ab
mov r14, r12
mov byte [0x1406a2b50], r14b
movabs r12, 0xfeeddccbbaa99887
test r15, r15
je 0x1400c11cc
xor ebx, ebx
test r15, r15
je 0x1400c11cc
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 0x1400c111f
add r8d, r14d
add r9, r14
cmp r8d, 4
jb 0x1400c1119
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, r14d
add r11, r14
cmp r10d, 8
jb 0x1400c1158
add r8d, r14d
add r9, r14
cmp r8d, 8
jb 0x1400c1152
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 0x1400c1191
add r8d, r14d
add r9, r14
cmp r8d, 0xc
jb 0x1400c118b
add ebx, r14d
add rdi, r14
movsxd rax, ebx
cmp rax, r15
jb 0x1400c110d
lea rcx, [rbp + 0x30]
call fcn.1400099b4
nop
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x58], rax
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0xe8]
call fcn.14002b89c
nop
xor eax, eax
mov qword [rbp + 0x108], rax
cmp byte [0x1406a3910], al
jne 0x1400c121c
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3910], r14b
lea rdx, [0x14021dd9e]
lea rcx, [rbp + 0x160]
call fcn.14002b89c
mov qword [rsp + 0x30], rax
mov r8, qword [rax + 0x10]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400c1245
mov rdx, qword [rax]
cmp byte [0x1406a2d01], 0
jne 0x1400c128a
mov r9, r12
lea rcx, [0x1406a3110]
mov edi, 0xffffffff
lea rbx, [0x1406a3908]
movabs r10, 0xababdbf33353735b
mov rax, r9
xor rax, r10
mov qword [rcx], rax
sub r9, rdi
add rcx, 8
cmp rcx, rbx
jl 0x1400c126e
mov byte [0x1406a2d01], r14b
lea rdi, [0x1406a3110]
mov qword [rsp + 0x20], r13
xor r11d, r11d
mov r9, r13
test r8, r8
je 0x1400c12de
mov r10, rdx
xor r9d, r9d
mov cl, byte [r10]
lea rax, [rsp + 0x20]
xor byte [rax], cl
add r9d, r14d
add rax, r14
cmp r9d, 8
jb 0x1400c12af
not cl
movzx eax, cl
mov r9, qword [rsp + 0x20]
xor r9, qword [rdi + rax*8]
mov qword [rsp + 0x20], r9
add r11d, r14d
add r10, r14
movsxd rax, r11d
cmp rax, r8
jb 0x1400c12a4
movabs rsi, 0xaebdccdb0a192837
movzx r15d, byte [rdx]
cmp r8, r14
jbe 0x1400c12f8
mov dil, byte [r8 + rdx - 1]
jmp 0x1400c12fb
mov dil, 0xae
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r8
xor eax, eax
mov cl, r8b
mov dl, r8b
xor cl, r15b
xor dl, dil
add eax, r14d
cmp eax, 8
jb 0x1400c130d
mov byte [rsp + 0x28], cl
mov byte [rsp + 0x38], 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 + 0x40], rsi
mov al, byte [rsp + r11 + 0x40]
xor byte [rsp + r11 + 0x20], al
lea eax, [r10*8]
mov edx, 8
test eax, eax
cmovg edx, eax
mov ecx, 0x40
sub ecx, edx
mov rdx, qword [rsp + 0x28]
xor r14b, r13b
cmovne rdx, qword [rsp + 0x38]
shl rdx, cl
xor rdx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
add r10d, r13d
add r11, r13
cmp r10d, 8
jb 0x1400c133b
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 + 0x108], rcx
mov rdx, qword [rsp + 0x30]
lea rcx, [rbp + 0xe8]
call fcn.14000a2a0
nop
mov rcx, qword [rsp + 0x30]
call fcn.1400099b4
nop
cmp byte [0x1406a3911], 0
movabs r13, 0xfae9e8d7c6b5a493
mov r12d, 1
jne 0x1400c1421
lea rax, [0x14006b26c]
mov qword [0x1406a3908], rax
mov byte [0x1406a3911], r12b
lea rdx, str.lua_getglobal
lea rcx, [rbp + 0x50]
call fcn.14002b89c
nop
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.14002b864
mov r15, qword [rbp]
lea rdi, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rdi, qword [rbp - 0x10]
cmp byte [0x1406a2b50], 0
jne 0x1400c163d
xor esi, esi
lea r14, [0x140000000]
movabs r13, 0x101010101010101
lea rcx, [rsp + 0x30]
call fcn.140063754
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
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 + 0x10]
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, [rsp + 0x50]
call fcn.140063754
mov rbx, qword [rax]
mov qword [rsp + 0x30], 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 0x1400c1470
test r15, r15
je 0x1400c1717