Function at 0x140006890
Capabilities:
Encode data using xor
Suspend thread

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
sub rsp, 0xb40
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1405eeab8]
xor rax, rsp
mov qword [rbp + 0xac0], rax
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x580], xmm0
movups xmmword [rbp + 0x590], xmm0
movups xmmword [rbp + 0x5a0], xmm0
movups xmmword [rbp + 0x5b0], xmm0
movups xmmword [rbp + 0x5c0], xmm0
movups xmmword [rbp + 0x5d0], xmm0
lea rcx, [rbp + 0x580]
call fcn.140004cd0
nop
lea rcx, [rbp + 0x580]
call fcn.140003c40
mov dl, 1
lea rcx, [rbp + 0x580]
call fcn.140003ef0
lea rcx, [rbp + 0x580]
call fcn.1400047c0
mov dl, 1
lea rcx, [rbp + 0x580]
call fcn.140004050
lea rcx, [rbp + 0x580]
call fcn.1400042f0
mov dword [rbp + 0x6b0], 0x348
mov edi, r14d
xor edx, edx
xor r9d, r9d
lea r8, [rbp + 0x6b0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_EnumDisplayDevicesW]
test eax, eax
je 0x14000f0ec
test byte [rbp + 0x7f4], 1
je 0x1400069bf
lea rdx, [rbp + 0x6f4]
lea rcx, [rbp + 0x500]
call fcn.14000fd30
nop
cmp qword [rbp + 0x510], 0
je 0x1400069b3
lea rcx, [rbp + 0x500]
call fcn.140004fa0
test al, al
jne 0x1400069c5
lea rcx, [rbp + 0x500]
call fcn.14000fcc0
inc edi
mov edx, edi
jmp 0x140006962
lea rcx, [rbp + 0x500]
call fcn.14000fcc0
call fcn.1400067c0
mov ecx, 3
call fcn.140042d90
call fcn.140042b30
mov rdi, rax
mov qword [rbp + 0x80], rax
test rax, rax
je 0x14000f0da
movabs rax, 0x241c80d9e5f31085
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x200], rcx
movabs rax, 0xf4de9d2a7307ff2
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 8]
mov qword [rbp + 0x208], rcx
movabs rax, 0xf909b23b8d68f491
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x210], rax
movabs rax, 0xcf731ad427be80f4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x218], rax
movabs rax, 0x8e31b9dafa77d647
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x220], rax
movabs rax, 0x4dd86c7aebd0eaf2
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x228], rax
movabs rax, 0xd9635b074b23ee92
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x230], rax
movabs rax, 0x2478e51b8fffc8f9
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x238], rax
movabs rax, 0x4bf73148402f02ff
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x240], rax
movabs rax, 0x6d81a3ee6ef420d8
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x248], rax
movabs rax, 0xf0668cbac2ec252f
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x250], rax
movabs rax, 0x83829d5344fdf8a9
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x258], rax
movabs rax, 0x706a761c64abe901
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x260], rax
movabs rax, 0xc2567c16e17b4447
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x268], rax
movabs rax, 0x432ae13d3e481736
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x270], rax
movabs rcx, 0x4eda4c28c4f69f3c
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x278], rax
movabs r15, 0x1533afe3958764ed
mov qword [rbp + 8], r15
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa40], rax
movabs r12, 0x3b63dee6961e4ec6
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa48], rax
movabs rsi, 0xc8308401ba5bc5bf
mov qword [rbp + 8], rsi
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa50], rax
movabs rbx, 0x9f00799c4bfdafc0
mov qword [rbp + 8], rbx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa58], rax
movabs rax, 0xf703cf97883b9a71
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa60], rax
movabs rax, 0x15e1262a8de083ca
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa68], rax
movabs rax, 0x8a5632652d1bbec3
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa70], rax
movabs rax, 0x494adc50ba92fcb4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa78], rax
movabs rax, 0x7393743b24607ab5
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa80], rax
movabs rax, 0x38cccade5fc6128e
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa88], rax
movabs rax, 0xb736e7d9a1de7347
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa90], rax
movabs rax, 0xf3cda9342fafb6c8
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa98], rax
movabs rax, 0x60f142f5cc28c79
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xaa0], rax
movabs rax, 0xad070f42a9113512
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xaa8], rax
movabs rax, 0x432ae13d3e482a0b
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xab0], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xab8], rax
vmovdqu ymm0, ymmword [rbp + 0xa40]
vpxor ymm0, ymm0, ymmword [rbp + 0x200]
vmovdqa ymmword [rbp + 0x200], ymm0
vmovdqu ymm1, ymmword [rbp + 0xa60]
vpxor ymm0, ymm1, ymmword [rbp + 0x220]
vmovdqa ymmword [rbp + 0x220], ymm0
vmovdqu ymm0, ymmword [rbp + 0x240]
vpxor ymm1, ymm0, ymmword [rbp + 0xa80]
vmovdqa ymmword [rbp + 0x240], ymm1
vmovdqu ymm0, ymmword [rbp + 0xaa0]
vpxor ymm0, ymm0, ymmword [rbp + 0x260]
vmovdqa ymmword [rbp + 0x260], ymm0
lea r8, [rbp + 0x200]
mov edx, 0x2712
mov rcx, rdi
vzeroupper
call fcn.140045b00
movzx edx, byte [rbp + 1]
lea rcx, [rbp + 0x4d8]
call fcn.1400111b0
lea rcx, [rbp + 0x4d8]
call fcn.140010960
nop
lea r8, [0x140006790]
mov edx, 0x4e2b
mov rcx, rdi
call fcn.140045b00
lea r8, [rbp + 0x4d8]
mov edx, 0x2711
mov rcx, rdi
call fcn.140045b00
mov rcx, rdi
call fcn.140042ba0
test eax, eax
jne 0x14000f0c5
movsd xmm0, qword [str.gPWE_QSU_]
movsd qword [rbp + 0x478], xmm0
mov eax, dword [0x14044d150]
mov dword [rbp + 0x480], eax
movzx eax, byte [0x14044d154]
mov byte [rbp + 0x484], al
movups xmm0, xmmword [str.r_Ru]
movups xmmword [rbp + 0x4b8], xmm0
movsd xmm0, qword [0x14044d168]
movsd qword [rbp + 0x4c8], xmm0
movzx eax, byte [0x14044d170]
mov byte [rbp + 0x4d0], al
movsd xmm0, qword [str.sZECP]
movsd qword [rbp + 0x488], xmm0
mov eax, dword [0x14044d1f8]
mov dword [rbp + 0x490], eax
movzx eax, word [0x14044d1fc]
mov word [rbp + 0x494], ax
movzx eax, byte [0x14044d1fe]
mov byte [rbp + 0x496], al
movups xmm0, xmmword [0x14044d1d8]
movups xmmword [rbp + 0x4a0], xmm0
mov eax, dword [0x14044d1e8]
mov dword [rbp + 0x4b0], eax
movzx eax, byte [0x14044d1ec]
mov byte [rbp + 0x4b4], al
movabs rax, 0x1563afa295d364aa
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x1b0], rax
movabs rax, 0x3b06de8596714eb4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x1b8], rax
movabs rax, 0xc8308401ba28c5cc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 8], rbx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 8], r15
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa00], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa08], rax
mov qword [rbp + 8], rsi
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa10], rax
mov qword [rbp + 8], rbx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa18], rax
vmovdqu ymm0, ymmword [rbp + 0xa00]
vpxor ymm0, ymm0, ymmword [rbp + 0x1b0]
vmovdqu ymmword [rbp + 0x1b0], ymm0
movzx edx, byte [rbp + 1]
lea rcx, [rbp + 0x560]
vzeroupper
call fcn.1400111b0
nop
lea rax, [rbp + 0x1b0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140006f60
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x560]
call fcn.1400111d0
nop
lea rcx, [rbp + 0x560]
call fcn.140006460
mov dword [rbp + 0x30], eax
lea rdx, [0x14043e9a0]
test eax, eax
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp + 8], r15
jne 0x140009052
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x40], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x48], rax
mov qword [rbp + 8], r15
mov rax, qword [rbp + 8]
mov qword [rbp + 0x500], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x508], rax
movdqa xmm0, xmmword [rbp + 0x500]
xorps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
lea rax, [rbp + 0xa8]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0xa8]
call fcn.140010050
nop
xor eax, eax
mov qword [rbp + 0xc8], rax
lea rax, [0x140002eb0]
cmp byte [0x1405f2603], 0
jne 0x140007031
mov qword [0x1405f2610], rax
mov byte [0x1405f2603], 1
lea rdx, [0x14043e9a0]
lea rcx, [rbp + 0x1d0]
call fcn.140010050
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
movabs rax, 0xfeeddccbbaa99887
lea r9, [0x1405f2620]
lea rdi, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r10d, 0xffffffff
cmp byte [0x1405f2605], 0
jne 0x1400070ac
mov rdx, rax
mov rcx, r9
nop
mov rax, rdx
xor rax, r8
mov qword [rcx], rax
sub rdx, r10
add rcx, 8
cmp rcx, rdi
jl 0x140007090
mov byte [0x1405f2605], 1
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x38], rax
mov r11, rax
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x400], rax
mov r8d, r14d
test rbx, rbx
je 0x14000713f
mov rdi, r15
nop word [rax + rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x1400070f0
not cl
movzx eax, cl
mov r11, qword [rbp + 0x400]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x448], r11
mov qword [rbp + 0x400], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x1400070e0
movabs r9, 0xaebdccdb0a192837
movzx r12d, byte [r15]
mov byte [rbp + 1], r12b
cmp rbx, 1
jbe 0x14000715f
movzx r15d, byte [rbx + r15 - 1]
jmp 0x140007162
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x418], rbx
mov qword [rbp + 0x440], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
xor dl, r12b
xor cl, r15b
inc eax
cmp eax, 8
jb 0x140007180
mov byte [rbp + 0x440], cl
mov byte [rbp + 0x418], dl
mov r13d, r14d
mov rsi, r14
mov r11d, 1
lea r15d, [r11 + 7]
lea r14, [rbx*8]
mov r12, r9
nop dword [rax]
nop dword [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x410], rax
movzx eax, byte [rbp + rsi + 0x410]
xor byte [rbp + rsi + 0x400], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + rsi + 0x411]
xor byte [rbp + rsi + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + rsi + 0x412]
xor byte [rbp + rsi + 0x402], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + rsi + 0x413]
xor byte [rbp + rsi + 0x403], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + rsi + 0x414]
xor byte [rbp + rsi + 0x404], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + rsi + 0x415]
xor byte [rbp + rsi + 0x405], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + rsi + 0x416]
xor byte [rbp + rsi + 0x406], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + rsi + 0x417]
xor byte [rbp + rsi + 0x407], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdi, qword [rbp + 0x418]
shl rdi, cl
xor rdi, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdi
add r13d, r15d
lea rsi, [rsi + 8]
cmp r13d, r15d
jb 0x1400071c0
movzx edx, byte [rbp + 1]
shl rdx, 7
not rdx
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
sub rdx, rcx
and rdi, qword [rbp + 0x448]
xor rdx, rdi
mov qword [rbp + 0xc8], rdx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0xa8]
call fcn.140010020
nop
mov rcx, qword [rbp + 8]
call fcn.140002d30
nop
cmp byte [0x1405f2604], 0
mov r14d, 0
jne 0x14000754e
lea rax, [0x140002eb0]
mov qword [0x1405f2610], rax
mov byte [0x1405f2604], 1
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x280]
call fcn.140010050
nop
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.140010170
mov rdi, qword [rbp + 0x98]
mov qword [rbp + 0x498], rdi
lea rcx, [rbp + 0x88]
call fcn.140010ae0
mov rbx, rax
movabs r13, 0x101010101010101
lea rsi, [0x140000000]
lea r12, [0x1405f2e19]
mov qword [rbp + 0x10], r12
cmp byte [0x1405f2606], 0
jne 0x140007999
mov r15, r14
nop word [rax + rax]
lea rcx, [rbp + 0x468]
call fcn.140001700
mov rdi, qword [rbp + 0x468]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0xd8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x468], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0xe0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x468], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x1400075c0
lea rcx, [rbp + 0x420]
call fcn.140001700
mov r15d, r14d
lea rdi, [0x1405f2619]
nop
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400076eb
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140007717
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140007742
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000776e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 2], dl
add r15d, 4
add rdi, 4
cmp r15d, 4
jb 0x1400076d0
lea rcx, [rbp + 0xe8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x420], rdi
mov r13d, r14d
mov r15, r12
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400077c4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400077f1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000781d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000784a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140007877
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400078a4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400078d1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400078fe
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r13d, 8
add r15, 8
cmp r13d, 8
jae 0x14000792a
mov rdi, qword [rbp + 0x420]
jmp 0x1400077b0
lea rcx, [rbp + 0xf0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x420], rdi
mov r15d, r14d
lea r13, [0x1405f2f20]
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140007964
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r13], dl
inc r15d
inc r13
cmp r15d, 0xc
jae 0x14000798b
mov rdi, qword [rbp + 0x420]
jmp 0x140007950
mov byte [0x1405f2606], 1
mov rdi, qword [rbp + 0x498]
test rdi, rdi
je 0x140007c96
mov dword [rbp + 0x30], r14d
nop word [rax + rax]
mov r13d, r14d
movzx edx, byte [rbx]
lea rax, [0x1405f2618]
mov qword [rbp + 0x448], rax
mov r8d, r14d
movzx ecx, byte [rax]
shl rcx, 3
lea rdi, [rsi + 0x5f2f32]
add rdi, rcx
lea r9, [rsi + 0x5f2f30]
add r9, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f2f31]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f2f33]
add r11, rax
mov rax, rcx
sub rax, rdi
lea r15, [rsi + 0x5f2f34]
add r15, rax
mov rax, rcx
sub rax, rdi
lea r12, [rsi + 0x5f2f35]
add r12, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f2f36]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f2f37]
add rcx, rsi
nop
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [r12 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x140007a40
inc r13d
mov rax, qword [rbp + 0x448]
inc rax
mov qword [rbp + 0x448], rax
cmp r13d, 4
jb 0x1400079c4
mov r13d, r14d
lea rax, [0x1405f2e18]
mov qword [rbp + 0x448], rax
nop dword [rax]
mov r8d, r14d
movzx ecx, byte [rax]
shl rcx, 3
lea rdi, [rsi + 0x5f2e22]
add rdi, rcx
lea r9, [rsi + 0x5f2e20]
add r9, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f2e21]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f2e23]
add r11, rax
mov rax, rcx
sub rax, rdi
lea r15, [rsi + 0x5f2e24]
add r15, rax
mov rax, rcx
sub rax, rdi
lea r12, [rsi + 0x5f2e25]
add r12, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f2e26]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f2e27]
add rcx, rsi
nop dword [rax + rax]
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [r12 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x140007b30
inc r13d
mov rax, qword [rbp + 0x448]
inc rax
mov qword [rbp + 0x448], rax
cmp r13d, 8
jb 0x140007ab0
mov r13d, r14d
lea rax, [0x1405f2f20]
mov qword [rbp + 0x448], rax
nop dword [rax]
mov r8d, r14d
movzx ecx, byte [rax]
shl rcx, 3
lea rdi, [rsi + 0x5f2f32]
add rdi, rcx
lea r9, [rsi + 0x5f2f30]
add r9, rcx
mov rax, rcx
sub rax, rdi
lea r10, [rsi + 0x5f2f31]
add r10, rax
mov rax, rcx
sub rax, rdi
lea r11, [rsi + 0x5f2f33]
add r11, rax
mov rax, rcx
sub rax, rdi
lea r15, [rsi + 0x5f2f34]
add r15, rax
mov rax, rcx
sub rax, rdi
lea r12, [rsi + 0x5f2f35]
add r12, rax
mov rax, rcx
sub rax, rdi
lea rax, [rax + 0x5f2f36]
add rax, rsi
sub rcx, rdi
lea rcx, [rcx + 0x5f2f37]
add rcx, rsi
nop dword [rax + rax]
xor dl, byte [r9]
mov byte [rbx], dl
xor dl, byte [r10 + rdi]
mov byte [rbx], dl
xor dl, byte [rdi]
mov byte [rbx], dl
xor dl, byte [r11 + rdi]
mov byte [rbx], dl
xor dl, byte [r15 + rdi]
mov byte [rbx], dl
xor dl, byte [r12 + rdi]
mov byte [rbx], dl
xor dl, byte [rax + rdi]
mov byte [rbx], dl
xor dl, byte [rcx + rdi]
mov byte [rbx], dl
add r8d, 8
lea r9, [r9 + 8]
lea rdi, [rdi + 8]
cmp r8d, 8
jb 0x140007c20
inc r13d
mov rax, qword [rbp + 0x448]
inc rax
mov qword [rbp + 0x448], rax
cmp r13d, 0xc
jb 0x140007ba0
mov ecx, dword [rbp + 0x30]
inc ecx
mov dword [rbp + 0x30], ecx
inc rbx
movsxd rax, ecx
cmp rax, qword [rbp + 0x498]
jb 0x1400079b0
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x2a0]
call fcn.140010170
mov qword [rbp + 0x498], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r9, rax
mov qword [rbp + 8], rax
lea r10, [0x1405f2620]
cmp byte [0x1405f2605], 0
jne 0x140007d1c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r10
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r11d, 0xffffffff
nop word [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r11
add rdx, 8
cmp rdx, rax
jl 0x140007d00
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x448], r11
mov qword [rbp + 0x400], r11
mov r8d, r14d
test rbx, rbx
je 0x140007d9f
mov rdi, r9
nop
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x140007d50
not cl
movzx eax, cl
mov r11, qword [rbp + 0x400]
xor r11, qword [r10 + rax*8]
mov qword [rbp + 0x448], r11
mov qword [rbp + 0x400], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x140007d40
movabs r10, 0xaebdccdb0a192837
movzx edi, byte [r9]
cmp rbx, 1
jbe 0x140007dbb
movzx r15d, byte [rbx + r9 - 1]
jmp 0x140007dbe
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x418], rbx
mov qword [rbp + 0x440], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
xor cl, dil
xor dl, r15b
inc eax
cmp eax, 8
jb 0x140007de0
mov byte [rbp + 0x418], cl
mov byte [rbp + 0x440], dl
mov r12d, r14d
lea rsi, [rbx*8]
mov r13, r14
mov r14, r10
mov r15d, 8
mov r11d, 1
nop word [rax + rax]
mov eax, r12d
test r12d, r12d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r10
mov rax, r8
xor rax, r14
mov qword [rbp + 0x410], rax
movzx eax, byte [rbp + r13 + 0x410]
xor byte [rbp + r13 + 0x400], al
lea r10d, [r12*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [r12 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r13 + 0x411]
xor byte [rbp + r13 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [r12 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + r13 + 0x412]
xor byte [rbp + r13 + 0x402], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [r12 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r13 + 0x413]
xor byte [rbp + r13 + 0x403], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [r12 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + r13 + 0x414]
xor byte [rbp + r13 + 0x404], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [r12 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r13 + 0x415]
xor byte [rbp + r13 + 0x405], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [r12 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + r13 + 0x416]
xor byte [rbp + r13 + 0x406], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [r12 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r10, rbx
shl r10, cl
xor r10, r8
xor r10, r14
mov qword [rbp + 0x410], r10
movzx eax, byte [rbp + r13 + 0x417]
xor byte [rbp + r13 + 0x407], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x418]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add r12d, r15d
lea r13, [r13 + 8]
cmp r12d, r15d
jb 0x140007e20
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
mov rax, qword [rbp + 8]
movzx eax, byte [rax]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x448]
xor rcx, rdx
mov qword [rbp + 0xc8], rcx
mov rdx, qword [rbp + 0x498]
lea rcx, [rbp + 0xa8]
call fcn.140010020
nop
mov rcx, qword [rbp + 0x498]
call fcn.140002d30
nop
lea rcx, [rbp + 0x88]
call fcn.140002d30
nop
lea rcx, [rbp + 0x280]
call fcn.140002d30
nop
mov rbx, qword [rbp + 0xb8]
lea rcx, [rbp + 0xa8]
call fcn.140010ae0
mov r10, rax
mov qword [rbp + 0x448], rax
cmp byte [0x1405f2605], 0
mov r14d, 0
lea r9, [0x1405f2620]
jne 0x140008243
mov rdx, r9
lea rax, [0x1405f2e18]
movabs rdi, 0xababdbf33353735b
mov r10d, 0xffffffff
movabs r8, 0xfeeddccbbaa99887
nop dword [rax + rax]
mov rcx, r8
xor rcx, rdi
mov qword [rdx], rcx
sub r8, r10
add rdx, 8
cmp rdx, rax
jl 0x140008220
mov byte [0x1405f2605], 1
mov r10, qword [rbp + 0x448]
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x400], rax
mov r8d, r14d
test rbx, rbx
je 0x1400082bc
mov rdi, r10
nop
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x140008270
not cl
movzx eax, cl
mov r12, qword [rbp + 0x400]
xor r12, qword [r9 + rax*8]
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x400], r12
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x140008260
movabs r9, 0xaebdccdb0a192837
movzx edi, byte [r10]
cmp rbx, 1
jbe 0x1400082d8
movzx r15d, byte [rbx + r10 - 1]
jmp 0x1400082db
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x418], rbx
mov qword [rbp + 0x440], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor dl, dil
xor cl, r15b
inc eax
cmp eax, 8
jb 0x140008300
mov byte [rbp + 0x440], cl
mov byte [rbp + 0x418], dl
mov r13d, r14d
lea rsi, [rbx*8]
mov r11, r14
mov r12, r9
mov r14d, 8
mov r15d, 1
nop word [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r15d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x410], rax
movzx eax, byte [rbp + r11 + 0x410]
xor byte [rbp + r11 + 0x400], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r14d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r11 + 0x411]
xor byte [rbp + r11 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + r11 + 0x412]
xor byte [rbp + r11 + 0x402], al
mov eax, r14d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r11 + 0x413]
xor byte [rbp + r11 + 0x403], al
mov eax, r14d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + r11 + 0x414]
xor byte [rbp + r11 + 0x404], al
mov eax, r14d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r11 + 0x415]
xor byte [rbp + r11 + 0x405], al
mov eax, r14d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x410], r8
movzx eax, byte [rbp + r11 + 0x416]
xor byte [rbp + r11 + 0x406], al
mov eax, r14d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x440]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r14d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x410], r9
movzx eax, byte [rbp + r11 + 0x417]
xor byte [rbp + r11 + 0x407], al
mov eax, r14d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x418]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add r13d, r14d
lea r11, [r11 + 8]
cmp r13d, r14d
jb 0x140008340
mov rax, qword [rbp + 0x448]
movzx r8d, byte [rax]
shl r8, 7
not r8
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
sub r8, rcx
mov rax, qword [rbp + 0x38]
and rax, rdx
xor r8, rax
mov rdx, qword [rbp + 0xc8]
cmp r8, rdx
lea rsi, [0x140000000]
mov r14d, 0
je 0x1400086d7
mov rdi, qword [0x1405f2610]
lea rcx, [rbp + 0x170]
call fcn.140002d90
lea rdx, [rbp + 0xa8]
mov rcx, rax
call rdi
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x118]
call fcn.140010170
nop
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0xa00]
call fcn.140010170
mov r13, qword [rbp + 0xa10]
lea rcx, [rbp + 0xa00]
call fcn.140010ae0
mov rbx, rax
mov qword [rbp + 8], rax
cmp byte [0x1405f2606], 0
jne 0x140008b18
mov r15, r14
movabs rbx, 0x101010101010101
lea rcx, [rbp + 0x470]
call fcn.140001700
mov rdi, qword [rbp + 0x470]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, rbx
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0xf8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x470], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, rbx
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0x100]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x470], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, rbx
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x140008732
lea rcx, [rbp + 0x408]
call fcn.140001700
mov edi, r14d
mov rbx, qword [rbp + 8]
lea r12, [0x1405f2619]
nop dword [rax]
nop dword [rax + rax]
mov r15, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000886b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [r12 - 1], dl
mov r15, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008899
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [r12], dl
mov r15, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400088c6
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [r12 + 1], dl
mov r15, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400088f4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [r12 + 2], dl
add edi, 4
add r12, 4
cmp edi, 4
jb 0x140008850
lea rcx, [rbp + 0x108]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x408], rdi
mov r15d, r14d
mov r12, qword [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008948
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 - 1], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008976
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400089a3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 1], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400089d1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 2], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400089ff
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 3], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008a2d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 4], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008a5b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 5], dl
mov rdi, qword [rbp + 0x408]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008a89
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 6], dl
add r15d, 8
add r12, 8
cmp r15d, 8
jae 0x140008ab6
mov rdi, qword [rbp + 0x408]
jmp 0x140008934
lea rcx, [rbp + 0x110]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x408], rdi
mov r15d, r14d
lea r12, [0x1405f2f20]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140008aea
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12], dl
inc r15d
inc r12
cmp r15d, 0xc
jae 0x140008b11
mov rdi, qword [rbp + 0x408]
jmp 0x140008ad6
mov byte [0x1405f2606], 1
test r13, r13
je 0x140008c73
mov r10d, r14d
lea r11, [0x1405f2f20]
lea r15, [0x1405f2618]
lea r12, [0x1405f2e18]
nop dword [rax]
mov r8d, r14d
movzx eax, byte [rbx]
mov r9, r15
nop dword [rax]
mov edi, r14d
movzx ecx, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rcx*8]
xor al, byte [rdx - 1]
mov byte [rbx], al
xor al, byte [rdx]
mov byte [rbx], al
xor al, byte [rdx + 1]
mov byte [rbx], al
xor al, byte [rdx + 2]
mov byte [rbx], al
xor al, byte [rdx + 3]
mov byte [rbx], al
xor al, byte [rdx + 4]
mov byte [rbx], al
xor al, byte [rdx + 5]
mov byte [rbx], al
xor al, byte [rdx + 6]
mov byte [rbx], al
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x140008b62
inc r8d
inc r9
cmp r8d, 4
jb 0x140008b50
mov r8d, r14d
mov r9, r12
nop word [rax + rax]
mov edi, r14d
movzx ecx, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rcx*8]
xor al, byte [rdx - 1]
mov byte [rbx], al
xor al, byte [rdx]
mov byte [rbx], al
xor al, byte [rdx + 1]
mov byte [rbx], al
xor al, byte [rdx + 2]
mov byte [rbx], al
xor al, byte [rdx + 3]
mov byte [rbx], al
xor al, byte [rdx + 4]
mov byte [rbx], al
xor al, byte [rdx + 5]
mov byte [rbx], al
xor al, byte [rdx + 6]
mov byte [rbx], al
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x140008bc2
inc r8d
inc r9
cmp r8d, 8
jb 0x140008bb0
mov r8d, r14d
mov r9, r11
nop word [rax + rax]
mov edi, r14d
movzx ecx, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rcx*8]
xor al, byte [rdx - 1]
mov byte [rbx], al
xor al, byte [rdx]
mov byte [rbx], al
xor al, byte [rdx + 1]
mov byte [rbx], al
xor al, byte [rdx + 2]
mov byte [rbx], al
xor al, byte [rdx + 3]
mov byte [rbx], al
xor al, byte [rdx + 4]
mov byte [rbx], al
xor al, byte [rdx + 5]
mov byte [rbx], al
xor al, byte [rdx + 6]
mov byte [rbx], al
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x140008c22
inc r8d
inc r9
cmp r8d, 0xc
jb 0x140008c10
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r13
jb 0x140008b40
lea rcx, [rbp + 0x118]
call fcn.140002d30
nop
lea rdx, [rbp + 0xa00]
mov rcx, qword [rbp + 0x18]
call fcn.140010ef0
mov r9, rax
mov esi, 4
lea r15d, [rsi + 0x1b]
mov ebx, dword [reloc.WS2_32.dll_accept]
cmp byte [rbp + 0x4d0], 0
je 0x140008e2d
mov edi, r14d
cmp ebx, 2
jl 0x140008df1
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x4bc]
mov edx, dword [rbp + 0x20]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
lea rcx, [rcx + 8]
cmp edi, 0x18
jl 0x140008cf3
cmp edi, 0x19
jge 0x140008e2d
movsxd rax, edi
lea r8, [rbp + 0x4b8]
add r8, rax
nop
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0x19
jl 0x140008e00
lea rdx, [rbp + 0x4b8]
mov rcx, r9
call fcn.140010f10
lea rdx, [0x1400110e0]
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 + 0xa00]
call fcn.140002d30
nop
lea rcx, [rbp + 0xa8]
call fcn.140002f10
cmp byte [rbp + 0x4d0], 0
jne 0x14000900f
cmp ebx, 2
jl 0x140008fc5
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x4bc]
mov edx, dword [rbp + 0x20]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r14d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r14 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r14d, 8
mov eax, r14d
lea rcx, [rcx + 8]
cmp r14d, 0x18
jl 0x140008ec0
cmp eax, 0x19
jge 0x14000900f
movsxd rax, r14d
lea rdi, [rbp + 0x4b8]
add rdi, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x51eb851f
imul r14d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r14b
sub al, cl
add al, 0x34
xor byte [rdi], al
inc r14d
lea rdi, [rdi + 1]
cmp r14d, 0x19
jl 0x140008fe0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x4b8], xmm0
mov qword [rbp + 0x4c8], rax
mov byte [rbp + 0x4d0], al
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
lea rcx, [rbp + 0x560]
call fcn.14000fcc0
nop
lea rcx, [rbp + 0x4d8]
call fcn.140002d30
jmp 0x14000f0fc
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x160], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x168], rax
mov qword [rbp + 8], r15
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa20], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa28], rax
movdqa xmm0, xmmword [rbp + 0x160]
xorps xmm0, xmmword [rbp + 0xa20]
movdqa xmmword [rbp + 0x160], xmm0
lea rax, [rbp + 0x58]
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x58]
call fcn.140010050
nop
xor eax, eax
mov qword [rbp + 0x78], rax
lea rax, [0x140002eb0]
cmp byte [0x1405f2603], 0
jne 0x1400090db
mov qword [0x1405f2610], rax
mov byte [0x1405f2603], 1
lea rdx, [0x14043e9a0]
lea rcx, [rbp + 0x370]
call fcn.140010050
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
movabs rax, 0xfeeddccbbaa99887
lea r9, [0x1405f2620]
lea rdi, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r10d, 0xffffffff
cmp byte [0x1405f2605], 0
jne 0x14000915c
mov rdx, rax
mov rcx, r9
nop dword [rax + rax]
mov rax, rdx
xor rax, r8
mov qword [rcx], rax
sub rdx, r10
add rcx, 8
cmp rcx, rdi
jl 0x140009140
mov byte [0x1405f2605], 1
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x38], rax
mov r11, rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x430], rax
mov r8d, r14d
test rbx, rbx
je 0x1400091ec
mov rdi, r15
nop dword [rax]
nop word [rax + rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x431]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x1400091a0
not cl
movzx eax, cl
mov r11, qword [rbp + 0x430]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x430], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x140009190
movabs r9, 0xaebdccdb0a192837
movzx r12d, byte [r15]
mov byte [rbp + 1], r12b
cmp rbx, 1
jbe 0x14000920c
movzx r15d, byte [rbx + r15 - 1]
jmp 0x14000920f
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x450], rbx
mov qword [rbp + 0x418], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r12b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x140009230
mov byte [rbp + 0x450], cl
mov byte [rbp + 0x418], dl
mov r13d, r14d
mov rsi, r14
mov r11d, 1
lea r15d, [r11 + 7]
lea r14, [rbx*8]
mov r12, r9
nop dword [rax]
nop dword [rax + rax]
mov eax, r13d
test r13d, r13d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r12
mov qword [rbp + 0x460], rax
movzx eax, byte [rbp + rsi + 0x460]
xor byte [rbp + rsi + 0x430], al
lea r10d, [r13*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 8]
lea eax, [r13 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x460], r9
movzx eax, byte [rbp + rsi + 0x461]
xor byte [rbp + rsi + 0x431], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x450]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 0x10]
lea eax, [r13 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x460], r8
movzx eax, byte [rbp + rsi + 0x462]
xor byte [rbp + rsi + 0x432], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 0x18]
lea eax, [r13 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x460], r9
movzx eax, byte [rbp + rsi + 0x463]
xor byte [rbp + rsi + 0x433], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x450]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 0x20]
lea eax, [r13 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x460], r8
movzx eax, byte [rbp + rsi + 0x464]
xor byte [rbp + rsi + 0x434], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 0x28]
lea eax, [r13 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x460], r9
movzx eax, byte [rbp + rsi + 0x465]
xor byte [rbp + rsi + 0x435], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x450]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 0x30]
lea eax, [r13 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r12
mov qword [rbp + 0x460], r8
movzx eax, byte [rbp + rsi + 0x466]
xor byte [rbp + rsi + 0x436], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x430], rax
lea edi, [r10 + 0x38]
lea eax, [r13 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r12
mov qword [rbp + 0x460], r9
movzx eax, byte [rbp + rsi + 0x467]
xor byte [rbp + rsi + 0x437], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x450]
shl rdx, cl
xor rdx, qword [rbp + 0x430]
mov qword [rbp + 0x430], rdx
add r13d, r15d
lea rsi, [rsi + 8]
cmp r13d, r15d
jb 0x140009270
movzx r15d, byte [rbp]
imul rax, r15, 0xff
not rax
movzx ecx, byte [rbp + 1]
shl rcx, 7
sub rax, rcx
and rdx, qword [rbp + 0x10]
xor rax, rdx
mov qword [rbp + 0x430], rax
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x58]
call fcn.140010020
nop
mov rcx, qword [rbp + 8]
call fcn.140002d30
nop
cmp byte [0x1405f2604], 0
mov r14d, 0
jne 0x1400095fc
lea rax, [0x140002eb0]
mov qword [0x1405f2610], rax
mov byte [0x1405f2604], 1
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x330]
call fcn.140010050
nop
mov rdx, rax
lea rcx, [rbp + 0x2c0]
call fcn.140010170
mov r15, qword [rbp + 0x2d0]
mov qword [rbp + 8], r15
lea rcx, [rbp + 0x2c0]
call fcn.140010ae0
mov rbx, rax
movabs r13, 0x101010101010101
lea rsi, [0x140000000]
lea r12, [0x1405f2e19]
lea r11, [0x1405f2f20]
cmp byte [0x1405f2606], 0
jne 0x140009a4d
mov r15, r14
nop dword [rax + rax]
lea rcx, [rbp + 0x498]
call fcn.140001700
mov rdi, qword [rbp + 0x498]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0x2e0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x498], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0x2e8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x498], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x140009670
lea rcx, [rbp + 0x458]
call fcn.140001700
mov r15d, r14d
lea rdi, [0x1405f2619]
nop
mov r13, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000979b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r13, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400097c7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi], dl
mov r13, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400097f2
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r13, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000981e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 2], dl
add r15d, 4
add rdi, 4
cmp r15d, 4
jb 0x140009780
lea rcx, [rbp + 0x2f0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x458], rdi
mov r13d, r14d
mov r15, r12
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140009874
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400098a1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400098cd
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400098fa
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140009927
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140009954
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140009981
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x458]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x1400099ae
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r13d, 8
add r15, 8
cmp r13d, 8
jae 0x1400099da
mov rdi, qword [rbp + 0x458]
jmp 0x140009860
lea rcx, [rbp + 0x2f8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x458], rdi
mov r15d, r14d
lea r13, [0x1405f2f20]
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x140009a14
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r13], dl
inc r15d
inc r13
cmp r15d, 0xc
jae 0x140009a3b
mov rdi, qword [rbp + 0x458]
jmp 0x140009a00
mov byte [0x1405f2606], 1
mov r15, qword [rbp + 8]
lea r11, [0x1405f2f20]
lea r13, [0x1405f2e18]
test r15, r15
je 0x140009b93
mov r10d, r14d
mov r8d, r14d
movzx ecx, byte [rbx]
lea r9, [0x1405f2618]
nop dword [rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x140009a82
inc r8d
inc r9
cmp r8d, 4
jb 0x140009a70
mov r8d, r14d
mov r9, r13
nop word [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x140009ae2
inc r8d
inc r9
cmp r8d, 8
jb 0x140009ad0
mov r8d, r14d
mov r9, r11
nop word [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x140009b42
inc r8d
inc r9
cmp r8d, 0xc
jb 0x140009b30
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r15
jb 0x140009a60
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x350]
call fcn.140010170
mov qword [rbp + 8], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
lea r9, [0x1405f2620]
cmp byte [0x1405f2605], 0
jne 0x140009c0c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r12d, 0xffffffff
nop dword [rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r12
add rdx, 8
cmp rdx, rax
jl 0x140009bf0
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x438], r11
mov r8d, r14d
test rbx, rbx
je 0x140009c8c
mov rdi, r15
nop dword [rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x439]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x140009c40
not cl
movzx eax, cl
mov r11, qword [rbp + 0x438]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 0x10], r11
mov qword [rbp + 0x438], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x140009c30
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x140009cac
movzx r15d, byte [rbx + r15 - 1]
jmp 0x140009caf
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x428], rbx
mov qword [rbp + 0x418], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop word [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x140009cd0
mov byte [rbp + 0x428], cl
mov byte [rbp + 0x418], dl
mov esi, r14d
mov r12, r14
lea r14, [rbx*8]
mov r13, r9
mov r15d, 8
mov r11d, 1
nop word [rax + rax]
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x450], rax
movzx eax, byte [rbp + r12 + 0x450]
xor byte [rbp + r12 + 0x438], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x450], r9
movzx eax, byte [rbp + r12 + 0x451]
xor byte [rbp + r12 + 0x439], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x428]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x450], r8
movzx eax, byte [rbp + r12 + 0x452]
xor byte [rbp + r12 + 0x43a], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x450], r9
movzx eax, byte [rbp + r12 + 0x453]
xor byte [rbp + r12 + 0x43b], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x428]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x450], r8
movzx eax, byte [rbp + r12 + 0x454]
xor byte [rbp + r12 + 0x43c], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x450], r9
movzx eax, byte [rbp + r12 + 0x455]
xor byte [rbp + r12 + 0x43d], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x428]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x450], r8
movzx eax, byte [rbp + r12 + 0x456]
xor byte [rbp + r12 + 0x43e], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x418]
shl rax, cl
xor qword [rbp + 0x438], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x450], r9
movzx eax, byte [rbp + r12 + 0x457]
xor byte [rbp + r12 + 0x43f], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x428]
shl rdx, cl
xor rdx, qword [rbp + 0x438]
mov qword [rbp + 0x438], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x140009d10
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 0x10]
xor rcx, rdx
mov qword [rbp + 0x438], rcx
mov qword [rbp + 0x78], rcx
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 0x58]
call fcn.140010020
nop
mov rcx, qword [rbp + 8]
call fcn.140002d30
nop
lea rcx, [rbp + 0x2c0]
call fcn.140002d30
nop
lea rcx, [rbp + 0x330]
call fcn.140002d30
nop
mov rbx, qword [rbp + 0x68]
lea rcx, [rbp + 0x58]
call fcn.140010ae0
mov r15, rax
cmp byte [0x1405f2605], 0
mov r14d, 0
lea r9, [0x1405f2620]
jne 0x14000a10c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r12d, 0xffffffff
nop dword [rax]
nop dword [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r12
add rdx, 8
cmp rdx, rax
jl 0x14000a0f0
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 8], r11
mov qword [rbp + 0x428], r11
mov r8d, r14d
test rbx, rbx
je 0x14000a18c
mov rdi, r15
nop dword [rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x429]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000a140
not cl
movzx eax, cl
mov r11, qword [rbp + 0x428]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 8], r11
mov qword [rbp + 0x428], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000a130
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000a1ac
movzx r15d, byte [rbx + r15 - 1]
jmp 0x14000a1af
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x14000a1d0
mov byte [rbp + 0x10], cl
mov byte [rbp + 0x18], dl
mov esi, r14d
mov r12, r14
lea r14, [rbx*8]
mov r13, r9
mov r15d, 8
mov r11d, 1
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x418], rax
movzx eax, byte [rbp + r12 + 0x418]
xor byte [rbp + r12 + 0x428], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x418], r9
movzx eax, byte [rbp + r12 + 0x419]
xor byte [rbp + r12 + 0x429], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x418], r8
movzx eax, byte [rbp + r12 + 0x41a]
xor byte [rbp + r12 + 0x42a], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x418], r9
movzx eax, byte [rbp + r12 + 0x41b]
xor byte [rbp + r12 + 0x42b], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x418], r8
movzx eax, byte [rbp + r12 + 0x41c]
xor byte [rbp + r12 + 0x42c], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x418], r9
movzx eax, byte [rbp + r12 + 0x41d]
xor byte [rbp + r12 + 0x42d], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x418], r8
movzx eax, byte [rbp + r12 + 0x41e]
xor byte [rbp + r12 + 0x42e], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x428], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x418], r9
movzx eax, byte [rbp + r12 + 0x41f]
xor byte [rbp + r12 + 0x42f], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x10]
shl rdx, cl
xor rdx, qword [rbp + 0x428]
mov qword [rbp + 0x428], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x14000a200
movzx r15d, byte [rbp]
imul r8, r15, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 8]
xor r8, rdx
mov qword [rbp + 0x428], r8
mov rdx, qword [rbp + 0x78]
cmp r8, rdx
lea rsi, [0x140000000]
mov r14d, 0
lea r12, [0x1405f2e19]
je 0x14000a575
mov rdi, qword [0x1405f2610]
lea rcx, [rbp + 0x3c8]
call fcn.140002d90
lea rdx, [rbp + 0x58]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x310]
call fcn.140010170
nop
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x138]
call fcn.140010170
mov r15, qword [rbp + 0x148]
mov qword [rbp + 8], r15
lea rcx, [rbp + 0x138]
call fcn.140010ae0
mov rbx, rax
cmp byte [0x1405f2606], 0
jne 0x14000a99d
mov r15, r14
movabs r13, 0x101010101010101
nop dword [rax]
lea rcx, [rbp + 0x448]
call fcn.140001700
mov rdi, qword [rbp + 0x448]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0x300]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x448], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0x308]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x448], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x14000a5d0
lea rcx, [rbp + 0x440]
call fcn.140001700
mov r15d, r14d
lea rdi, [0x1405f2619]
nop
mov r13, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a6fb
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r13, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a727
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi], dl
mov r13, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a752
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r13, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a77e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 2], dl
add r15d, 4
add rdi, 4
cmp r15d, 4
jb 0x14000a6e0
lea rcx, [rbp + 0xd0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x440], rdi
mov r13d, r14d
mov r15, r12
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a7d4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a801
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a82d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a85a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a887
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a8b4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a8e1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x440]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a90e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r13d, 8
add r15, 8
cmp r13d, 8
jae 0x14000a93a
mov rdi, qword [rbp + 0x440]
jmp 0x14000a7c0
lea rcx, [rbp + 0x50]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x440], rdi
mov r15d, r14d
lea r13, [0x1405f2f20]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000a96b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r13], dl
inc r15d
inc r13
cmp r15d, 0xc
jae 0x14000a992
mov rdi, qword [rbp + 0x440]
jmp 0x14000a957
mov byte [0x1405f2606], 1
mov r15, qword [rbp + 8]
test r15, r15
je 0x14000aae3
mov r10d, r14d
nop dword [rax]
mov r8d, r14d
movzx ecx, byte [rbx]
lea r9, [0x1405f2618]
nop dword [rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000a9d2
inc r8d
inc r9
cmp r8d, 4
jb 0x14000a9c0
mov r8d, r14d
lea r9, [0x1405f2e18]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000aa32
inc r8d
inc r9
cmp r8d, 8
jb 0x14000aa20
mov r8d, r14d
lea r9, [0x1405f2f20]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000aa92
inc r8d
inc r9
cmp r8d, 0xc
jb 0x14000aa80
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r15
jb 0x14000a9b0
lea rcx, [rbp + 0x310]
call fcn.140002d30
nop
lea rdx, [rbp + 0x138]
mov rcx, qword [rbp + 0x20]
call fcn.140010ef0
mov r9, rax
mov ebx, 4
lea r15d, [rbx + 0x1b]
mov r13d, dword [reloc.WS2_32.dll_accept]
cmp byte [rbp + 0x484], 0
je 0x14000ac7d
mov edi, r14d
cmp r13d, 2
jl 0x14000ac39
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, ebx
movd xmm5, r15d
movdqa xmm2, xmmword [0x14044ee80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
mov eax, dword [str.4444444444444444]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x478]
xorps xmm2, xmm1
movd dword [rbp + 0x478], xmm2
movdqa xmm3, xmmword [0x14044ee90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x47c]
xorps xmm2, xmm1
movd dword [rbp + 0x47c], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rbp + 0x478]
add r8, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xd
jl 0x14000ac50
lea rdx, [rbp + 0x478]
mov rcx, r9
call fcn.140010f10
lea rdx, [0x1400110e0]
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 + 0x138]
call fcn.140002d30
nop
lea rcx, [rbp + 0x58]
call fcn.140002f10
cmp byte [rbp + 0x484], 0
jne 0x14000ae1d
mov edi, r14d
cmp r13d, 2
jl 0x14000add9
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, ebx
movd xmm5, r15d
movdqa xmm2, xmmword [0x14044ee80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
mov eax, dword [str.4444444444444444]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x478]
xorps xmm2, xmm1
movd dword [rbp + 0x478], xmm2
movdqa xmm3, xmmword [0x14044ee90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x47c]
xorps xmm2, xmm1
movd dword [rbp + 0x47c], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rbp + 0x478]
add r8, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xd
jl 0x14000adf0
mov qword [rbp + 0x478], r14
mov dword [rbp + 0x480], r14d
mov byte [rbp + 0x484], r14b
lea rcx, [rbp + 0x5e0]
lea rax, [rsi + 0x43eed0]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0xb0]
movups xmmword [rcx + 0x30], xmm1
movzx eax, byte [rax + 0xc0]
mov byte [rcx + 0x40], al
mov edi, r14d
cmp r13d, 2
jl 0x14000b004
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, ebx
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x5e4]
mov edx, dword [rbp + 0x20]
nop
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
lea rcx, [rcx + 8]
cmp edi, 0xc0
jl 0x14000af00
cmp edi, 0xc1
jge 0x14000b041
movsxd rax, edi
lea r8, [rbp + 0x5e0]
add r8, rax
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xc1
jl 0x14000b011
lea rdx, [rbp + 0x5e0]
lea rcx, [rbp + 0x520]
call fcn.140010050
nop
lea r8, [rbp + 0x4d8]
lea rdx, [rbp + 0x520]
lea rcx, [rbp + 0x540]
call fcn.140005950
nop
lea rdi, [rbp + 0x520]
cmp qword [rbp + 0x538], 0x10
cmovae rdi, qword [rbp + 0x520]
xor eax, eax
mov rcx, qword [rbp + 0x530]
rep stosb byte [rdi], al
lea rdi, [rbp + 0x4d8]
cmp qword [rbp + 0x4f0], 0x10
cmovae rdi, qword [rbp + 0x4d8]
mov rcx, qword [rbp + 0x4e8]
rep stosb byte [rdi], al
cmp byte [rbp + 0x6a0], al
jne 0x14000b250
mov edi, r14d
cmp r13d, 2
jl 0x14000b207
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, ebx
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x5e4]
mov edx, dword [rbp + 0x20]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
lea rcx, [rcx + 8]
cmp edi, 0xc0
jl 0x14000b103
cmp edi, 0xc1
jge 0x14000b250
movsxd rax, edi
lea r8, [rbp + 0x5e0]
add r8, rax
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xc1
jl 0x14000b220
lea rax, [rbp + 0x5e0]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov byte [rax + 0x40], cl
lea rdx, [rbp + 0x540]
mov ecx, dword [rbp + 0x30]
call fcn.1400063b0
movabs rcx, 0x1533afe3958764ed
movabs rdx, 0x3b63dee6961e4ec6
test al, al
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
je 0x14000d04f
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x20], rdx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x20], rdx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x508], rax
movdqa xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmmword [rbp + 0x500]
movdqa xmmword [rbp + 0x40], xmm0
lea rax, [rbp + 0x58]
mov qword [rbp + 0x50], rax
lea rdx, [0x14043e9a0]
lea rcx, [rbp + 0x58]
call fcn.140010050
nop
xor eax, eax
mov qword [rbp + 0x78], rax
cmp byte [0x1405f2603], al
jne 0x14000b350
lea rax, [0x140002eb0]
mov qword [0x1405f2610], rax
mov byte [0x1405f2603], 1
lea rdx, [0x14043e9a0]
lea rcx, [rbp + 0x280]
call fcn.140010050
mov qword [rbp + 0x20], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
lea r9, [0x1405f2620]
cmp byte [0x1405f2605], 0
jne 0x14000b3cc
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r12d, 0xffffffff
nop word [rax + rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r12
add rdx, 8
cmp rdx, rax
jl 0x14000b3b0
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
mov r8d, r14d
test rbx, rbx
je 0x14000b44c
mov rdi, r15
nop dword [rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000b400
not cl
movzx eax, cl
mov r11, qword [rbp + 0x400]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000b3f0
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000b46c
movzx r15d, byte [rbx + r15 - 1]
jmp 0x14000b46f
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x10], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x14000b490
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x10], dl
mov esi, r14d
mov r12, r14
lea r14, [rbx*8]
mov r13, r9
mov r15d, 8
mov r11d, 1
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x408], rax
movzx eax, byte [rbp + r12 + 0x408]
xor byte [rbp + r12 + 0x400], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x409]
xor byte [rbp + r12 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40a]
xor byte [rbp + r12 + 0x402], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40b]
xor byte [rbp + r12 + 0x403], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40c]
xor byte [rbp + r12 + 0x404], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40d]
xor byte [rbp + r12 + 0x405], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40e]
xor byte [rbp + r12 + 0x406], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40f]
xor byte [rbp + r12 + 0x407], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x14000b4c0
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 8]
xor rcx, rdx
mov qword [rbp + 0x78], rcx
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x58]
call fcn.140010020
nop
mov rcx, qword [rbp + 0x20]
call fcn.140002d30
nop
cmp byte [0x1405f2604], 0
lea rsi, [0x140000000]
mov r14d, 0
lea r12, [0x1405f2e19]
jne 0x14000b843
lea rax, [0x140002eb0]
mov qword [0x1405f2610], rax
mov byte [0x1405f2604], 1
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x1d0]
call fcn.140010050
nop
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.140010170
mov r15, qword [rbp + 0x98]
mov qword [rbp + 0x20], r15
lea rcx, [rbp + 0x88]
call fcn.140010ae0
mov rbx, rax
cmp byte [0x1405f2606], 0
jne 0x14000bc76
mov r15, r14
movabs r13, 0x101010101010101
nop word [rax + rax]
lea rcx, [rbp + 0x470]
call fcn.140001700
mov rdi, qword [rbp + 0x470]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0x110]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x470], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0x108]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x470], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x14000b8a0
lea rcx, [rbp + 0x420]
call fcn.140001700
mov r15d, r14d
lea rdi, [0x1405f2619]
nop
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000b9cb
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000b9f7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ba22
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ba4e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 2], dl
add r15d, 4
add rdi, 4
cmp r15d, 4
jb 0x14000b9b0
lea rcx, [rbp + 0x100]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x420], rdi
mov r13d, r14d
mov r15, r12
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000baa4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bad1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bafd
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bb2a
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bb57
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bb84
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bbb1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bbde
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r13d, 8
add r15, 8
cmp r13d, 8
jae 0x14000bc0a
mov rdi, qword [rbp + 0x420]
jmp 0x14000ba90
lea rcx, [rbp + 0xf8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x420], rdi
mov r15d, r14d
lea r13, [0x1405f2f20]
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000bc44
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r13], dl
inc r15d
inc r13
cmp r15d, 0xc
jae 0x14000bc6b
mov rdi, qword [rbp + 0x420]
jmp 0x14000bc30
mov byte [0x1405f2606], 1
mov r15, qword [rbp + 0x20]
test r15, r15
je 0x14000bdc3
mov r10d, r14d
nop dword [rax]
nop word [rax + rax]
mov r8d, r14d
movzx ecx, byte [rbx]
lea r9, [0x1405f2618]
nop dword [rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000bcb2
inc r8d
inc r9
cmp r8d, 4
jb 0x14000bca0
mov r8d, r14d
lea r9, [0x1405f2e18]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000bd12
inc r8d
inc r9
cmp r8d, 8
jb 0x14000bd00
mov r8d, r14d
lea r9, [0x1405f2f20]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000bd72
inc r8d
inc r9
cmp r8d, 0xc
jb 0x14000bd60
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r15
jb 0x14000bc90
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x2a0]
call fcn.140010170
mov qword [rbp + 0x20], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
lea r9, [0x1405f2620]
cmp byte [0x1405f2605], 0
jne 0x14000be3c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r12d, 0xffffffff
nop dword [rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r12
add rdx, 8
cmp rdx, rax
jl 0x14000be20
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
mov r8d, r14d
test rbx, rbx
je 0x14000bebc
mov rdi, r15
nop dword [rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000be70
not cl
movzx eax, cl
mov r11, qword [rbp + 0x400]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000be60
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000bedc
movzx r15d, byte [rbx + r15 - 1]
jmp 0x14000bedf
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x10], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x14000bf00
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x10], dl
mov esi, r14d
mov r12, r14
lea r14, [rbx*8]
mov r13, r9
mov r15d, 8
mov r11d, 1
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x408], rax
movzx eax, byte [rbp + r12 + 0x408]
xor byte [rbp + r12 + 0x400], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x409]
xor byte [rbp + r12 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40a]
xor byte [rbp + r12 + 0x402], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40b]
xor byte [rbp + r12 + 0x403], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40c]
xor byte [rbp + r12 + 0x404], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40d]
xor byte [rbp + r12 + 0x405], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40e]
xor byte [rbp + r12 + 0x406], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40f]
xor byte [rbp + r12 + 0x407], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x14000bf30
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 8]
xor rcx, rdx
mov qword [rbp + 0x78], rcx
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x58]
call fcn.140010020
nop
mov rcx, qword [rbp + 0x20]
call fcn.140002d30
nop
lea rcx, [rbp + 0x88]
call fcn.140002d30
nop
lea rcx, [rbp + 0x1d0]
call fcn.140002d30
nop
mov rbx, qword [rbp + 0x68]
lea rcx, [rbp + 0x58]
call fcn.140010ae0
mov r11, rax
cmp byte [0x1405f2605], 0
mov r14d, 0
lea r9, [0x1405f2620]
jne 0x14000c30c
mov rdx, r9
lea rax, [0x1405f2e18]
movabs rdi, 0xababdbf33353735b
mov esi, 0xffffffff
movabs r8, 0xfeeddccbbaa99887
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
xor rcx, rdi
mov qword [rdx], rcx
sub r8, rsi
add rdx, 8
cmp rdx, rax
jl 0x14000c2f0
mov byte [0x1405f2605], 1
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x400], rax
mov r8d, r14d
test rbx, rbx
je 0x14000c38c
mov rdi, r11
nop dword [rax + rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000c340
not cl
movzx eax, cl
mov r12, qword [rbp + 0x400]
xor r12, qword [r9 + rax*8]
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x400], r12
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000c330
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r11]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000c3ac
movzx r11d, byte [rbx + r11 - 1]
jmp 0x14000c3af
mov r11b, 0xae
mov byte [rbp], r11b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x10], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r11b
inc eax
cmp eax, 8
jb 0x14000c3d0
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x10], dl
mov r12d, r14d
lea rsi, [rbx*8]
mov r15, r14
mov r14, r9
mov r13d, 8
mov r11d, 1
mov eax, r12d
test r12d, r12d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r14
mov qword [rbp + 0x408], rax
movzx eax, byte [rbp + r15 + 0x408]
xor byte [rbp + r15 + 0x400], al
lea r10d, [r12*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [r12 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x409]
xor byte [rbp + r15 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [r12 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r15 + 0x40a]
xor byte [rbp + r15 + 0x402], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [r12 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x40b]
xor byte [rbp + r15 + 0x403], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [r12 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r15 + 0x40c]
xor byte [rbp + r15 + 0x404], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [r12 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x40d]
xor byte [rbp + r15 + 0x405], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [r12 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r15 + 0x40e]
xor byte [rbp + r15 + 0x406], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [r12 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x40f]
xor byte [rbp + r15 + 0x407], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add r12d, r13d
lea r15, [r15 + 8]
cmp r12d, r13d
jb 0x14000c400
movzx r11d, byte [rbp]
imul r8, r11, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 0x38]
xor r8, rdx
mov rdx, qword [rbp + 0x78]
cmp r8, rdx
lea rsi, [0x140000000]
mov r14d, 0
lea r12, [0x1405f2e19]
je 0x14000c77d
mov rdi, qword [0x1405f2610]
lea rcx, [rbp + 0x170]
call fcn.140002d90
lea rdx, [rbp + 0x58]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x118]
call fcn.140010170
nop
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x138]
call fcn.140010170
mov r13, qword [rbp + 0x148]
mov qword [rbp + 0x20], r13
lea rcx, [rbp + 0x138]
call fcn.140010ae0
mov rbx, rax
mov qword [rbp + 8], rax
cmp byte [0x1405f2606], 0
jne 0x14000cbb4
mov r15, r14
movabs r13, 0x101010101010101
nop dword [rax]
lea rcx, [rbp + 0x468]
call fcn.140001700
mov rdi, qword [rbp + 0x468]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0xf0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x468], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0xe8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x468], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x14000c7e0
lea rcx, [rbp + 0x410]
call fcn.140001700
mov edi, r14d
mov r13, qword [rbp + 0x20]
lea rbx, [0x1405f2619]
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000c90d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx - 1], dl
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000c939
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx], dl
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000c964
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx + 1], dl
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000c990
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx + 2], dl
add edi, 4
add rbx, 4
cmp edi, 4
jb 0x14000c8f2
lea rcx, [rbp + 0xe0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x410], rdi
mov r15d, r14d
mov rbx, qword [rbp + 8]
nop
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000c9e4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 - 1], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ca12
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ca3f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 1], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ca6d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 2], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000ca9b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 3], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000cac9
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 4], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000caf7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 5], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000cb25
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 6], dl
add r15d, 8
add r12, 8
cmp r15d, 8
jae 0x14000cb52
mov rdi, qword [rbp + 0x410]
jmp 0x14000c9d0
lea rcx, [rbp + 0xd8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x410], rdi
mov r15d, r14d
lea r12, [0x1405f2f20]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000cb86
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12], dl
inc r15d
inc r12
cmp r15d, 0xc
jae 0x14000cbad
mov rdi, qword [rbp + 0x410]
jmp 0x14000cb72
mov byte [0x1405f2606], 1
test r13, r13
je 0x14000ccf3
mov r10d, r14d
mov r8d, r14d
movzx ecx, byte [rbx]
lea r9, [0x1405f2618]
nop dword [rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000cbe2
inc r8d
inc r9
cmp r8d, 4
jb 0x14000cbd0
mov r8d, r14d
lea r9, [0x1405f2e18]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000cc42
inc r8d
inc r9
cmp r8d, 8
jb 0x14000cc30
mov r8d, r14d
lea r9, [0x1405f2f20]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000cca2
inc r8d
inc r9
cmp r8d, 0xc
jb 0x14000cc90
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r13
jb 0x14000cbc0
lea rcx, [rbp + 0x118]
call fcn.140002d30
nop
lea rdx, [rbp + 0x138]
mov rcx, qword [rbp + 0x448]
call fcn.140010ef0
mov r9, rax
mov ebx, dword [reloc.WS2_32.dll_accept]
mov esi, 4
lea r15d, [rsi + 0x1b]
cmp byte [rbp + 0x496], 0
je 0x14000ce8d
mov edi, r14d
cmp ebx, 2
jl 0x14000ce4a
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movd xmm5, r15d
movdqa xmm2, xmmword [0x14044ee80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
mov eax, dword [str.4444444444444444]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x488]
xorps xmm2, xmm1
movd dword [rbp + 0x488], xmm2
movdqa xmm3, xmmword [0x14044ee90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x48c]
xorps xmm2, xmm1
movd dword [rbp + 0x48c], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rbp + 0x488]
add r8, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xf
jl 0x14000ce60
lea rdx, [rbp + 0x488]
mov rcx, r9
call fcn.140010f10
lea rdx, [0x1400110e0]
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 + 0x138]
call fcn.140002d30
nop
lea rcx, [rbp + 0x58]
call fcn.140002f10
cmp byte [rbp + 0x496], 0
jne 0x14000d02d
mov edi, r14d
cmp ebx, 2
jl 0x14000cfe8
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movd xmm5, r15d
movdqa xmm2, xmmword [0x14044ee80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
mov eax, dword [str.4444444444444444]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x488]
xorps xmm2, xmm1
movd dword [rbp + 0x488], xmm2
movdqa xmm3, xmmword [0x14044ee90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14044eea0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp + 0x48c]
xorps xmm2, xmm1
movd dword [rbp + 0x48c], xmm2
mov edi, 8
movsxd rax, edi
lea r8, [rbp + 0x488]
add r8, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0xf
jl 0x14000d000
mov qword [rbp + 0x488], r14
mov dword [rbp + 0x490], r14d
mov word [rbp + 0x494], r14w
mov byte [rbp + 0x496], r14b
jmp 0x14000ee45
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x20], rdx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x20], rdx
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x508], rax
movdqa xmm0, xmmword [rbp + 0x500]
xorps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
lea rax, [rbp + 0x170]
mov qword [rbp + 0x50], rax
lea rdx, [0x14043e9a0]
lea rcx, [rbp + 0x170]
call fcn.140010050
nop
xor eax, eax
mov qword [rbp + 0x190], rax
cmp byte [0x1405f2603], al
jne 0x14000d0e2
lea rax, [0x140002eb0]
mov qword [0x1405f2610], rax
mov byte [0x1405f2603], 1
lea rdx, [0x14043e9a0]
lea rcx, [rbp + 0x280]
call fcn.140010050
mov qword [rbp + 0x20], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
lea r9, [0x1405f2620]
cmp byte [0x1405f2605], 0
jne 0x14000d15c
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r12d, 0xffffffff
nop dword [rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r12
add rdx, 8
cmp rdx, rax
jl 0x14000d140
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
mov r8d, r14d
test rbx, rbx
je 0x14000d1dc
mov rdi, r15
nop dword [rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000d190
not cl
movzx eax, cl
mov r11, qword [rbp + 0x400]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000d180
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000d1fc
movzx r15d, byte [rbx + r15 - 1]
jmp 0x14000d1ff
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x10], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x14000d220
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x10], dl
mov esi, r14d
mov r12, r14
lea r14, [rbx*8]
mov r13, r9
mov r15d, 8
mov r11d, 1
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x408], rax
movzx eax, byte [rbp + r12 + 0x408]
xor byte [rbp + r12 + 0x400], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x409]
xor byte [rbp + r12 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40a]
xor byte [rbp + r12 + 0x402], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40b]
xor byte [rbp + r12 + 0x403], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40c]
xor byte [rbp + r12 + 0x404], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40d]
xor byte [rbp + r12 + 0x405], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40e]
xor byte [rbp + r12 + 0x406], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40f]
xor byte [rbp + r12 + 0x407], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x14000d250
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 8]
xor rcx, rdx
mov qword [rbp + 0x190], rcx
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x170]
call fcn.140010020
nop
mov rcx, qword [rbp + 0x20]
call fcn.140002d30
nop
cmp byte [0x1405f2604], 0
lea rsi, [0x140000000]
mov r14d, 0
lea r12, [0x1405f2e19]
jne 0x14000d5d9
lea rax, [0x140002eb0]
mov qword [0x1405f2610], rax
mov byte [0x1405f2604], 1
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xa8]
call fcn.140010050
nop
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.140010170
mov r15, qword [rbp + 0x98]
mov qword [rbp + 0x20], r15
lea rcx, [rbp + 0x88]
call fcn.140010ae0
mov rbx, rax
cmp byte [0x1405f2606], 0
jne 0x14000da06
mov r15, r14
movabs r13, 0x101010101010101
nop dword [rax]
lea rcx, [rbp + 0x470]
call fcn.140001700
mov rdi, qword [rbp + 0x470]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0x110]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x470], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0x108]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x470], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x14000d630
lea rcx, [rbp + 0x420]
call fcn.140001700
mov r15d, r14d
lea rdi, [0x1405f2619]
nop
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d75b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi - 1], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d787
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d7b2
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 1], dl
mov r13, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d7de
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r13
cqo
idiv rcx
mov byte [rdi + 2], dl
add r15d, 4
add rdi, 4
cmp r15d, 4
jb 0x14000d740
lea rcx, [rbp + 0x100]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x420], rdi
mov r13d, r14d
mov r15, r12
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d834
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 - 1], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d861
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d88d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 1], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d8ba
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 2], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d8e7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 3], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d914
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 4], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d941
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 5], dl
mov rdi, qword [rbp + 0x420]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d96e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r15 + 6], dl
add r13d, 8
add r15, 8
cmp r13d, 8
jae 0x14000d99a
mov rdi, qword [rbp + 0x420]
jmp 0x14000d820
lea rcx, [rbp + 0xf8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x420], rdi
mov r15d, r14d
lea r13, [0x1405f2f20]
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000d9d4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r13], dl
inc r15d
inc r13
cmp r15d, 0xc
jae 0x14000d9fb
mov rdi, qword [rbp + 0x420]
jmp 0x14000d9c0
mov byte [0x1405f2606], 1
mov r15, qword [rbp + 0x20]
test r15, r15
je 0x14000db53
mov r10d, r14d
nop dword [rax]
nop word [rax + rax]
mov r8d, r14d
movzx ecx, byte [rbx]
lea r9, [0x1405f2618]
nop dword [rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000da42
inc r8d
inc r9
cmp r8d, 4
jb 0x14000da30
mov r8d, r14d
lea r9, [0x1405f2e18]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000daa2
inc r8d
inc r9
cmp r8d, 8
jb 0x14000da90
mov r8d, r14d
lea r9, [0x1405f2f20]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000db02
inc r8d
inc r9
cmp r8d, 0xc
jb 0x14000daf0
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r15
jb 0x14000da20
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x2a0]
call fcn.140010170
mov qword [rbp + 0x20], rax
mov rbx, qword [rax + 0x10]
mov rcx, rax
call fcn.140010ae0
mov r15, rax
lea r9, [0x1405f2620]
cmp byte [0x1405f2605], 0
jne 0x14000dbcc
movabs rdi, 0xfeeddccbbaa99887
mov rdx, r9
lea rax, [0x1405f2e18]
movabs r8, 0xababdbf33353735b
mov r12d, 0xffffffff
nop dword [rax]
mov rcx, rdi
xor rcx, r8
mov qword [rdx], rcx
sub rdi, r12
add rdx, 8
cmp rdx, rax
jl 0x14000dbb0
mov byte [0x1405f2605], 1
movabs r11, 0xfae9e8d7c6b5a493
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
mov r8d, r14d
test rbx, rbx
je 0x14000dc4c
mov rdi, r15
nop dword [rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000dc00
not cl
movzx eax, cl
mov r11, qword [rbp + 0x400]
xor r11, qword [r9 + rax*8]
mov qword [rbp + 8], r11
mov qword [rbp + 0x400], r11
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000dbf0
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r15]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000dc6c
movzx r15d, byte [rbx + r15 - 1]
jmp 0x14000dc6f
mov r15b, 0xae
mov byte [rbp], r15b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x10], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r15b
inc eax
cmp eax, 8
jb 0x14000dc90
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x10], dl
mov esi, r14d
mov r12, r14
lea r14, [rbx*8]
mov r13, r9
mov r15d, 8
mov r11d, 1
mov eax, esi
test esi, esi
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r13
mov qword [rbp + 0x408], rax
movzx eax, byte [rbp + r12 + 0x408]
xor byte [rbp + r12 + 0x400], al
lea r10d, [rsi*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r15d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [rsi + 1]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x409]
xor byte [rbp + r12 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [rsi + 2]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40a]
xor byte [rbp + r12 + 0x402], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [rsi + 3]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40b]
xor byte [rbp + r12 + 0x403], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [rsi + 4]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40c]
xor byte [rbp + r12 + 0x404], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [rsi + 5]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40d]
xor byte [rbp + r12 + 0x405], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [rsi + 6]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r13
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r12 + 0x40e]
xor byte [rbp + r12 + 0x406], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [rsi + 7]
mov ecx, edi
test eax, eax
cmove ecx, r15d
movsxd rcx, ecx
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r13
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r12 + 0x40f]
xor byte [rbp + r12 + 0x407], al
mov eax, r15d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add esi, r15d
lea r12, [r12 + 8]
cmp esi, r15d
jb 0x14000dcc0
movzx r15d, byte [rbp]
imul rcx, r15, 0xff
not rcx
movzx eax, byte [rbp + 1]
shl rax, 7
sub rcx, rax
and rdx, qword [rbp + 8]
xor rcx, rdx
mov qword [rbp + 0x190], rcx
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x170]
call fcn.140010020
nop
mov rcx, qword [rbp + 0x20]
call fcn.140002d30
nop
lea rcx, [rbp + 0x88]
call fcn.140002d30
nop
lea rcx, [rbp + 0xa8]
call fcn.140002d30
nop
mov rbx, qword [rbp + 0x180]
lea rcx, [rbp + 0x170]
call fcn.140010ae0
mov r11, rax
cmp byte [0x1405f2605], 0
mov r14d, 0
lea r9, [0x1405f2620]
jne 0x14000e09c
mov rdx, r9
lea rax, [0x1405f2e18]
movabs rdi, 0xababdbf33353735b
mov esi, 0xffffffff
movabs r8, 0xfeeddccbbaa99887
mov rcx, r8
xor rcx, rdi
mov qword [rdx], rcx
sub r8, rsi
add rdx, 8
cmp rdx, rax
jl 0x14000e080
mov byte [0x1405f2605], 1
movabs rax, 0xfae9e8d7c6b5a493
mov qword [rbp + 0x400], rax
mov r8d, r14d
test rbx, rbx
je 0x14000e11c
mov rdi, r11
nop dword [rax + rax]
mov edx, r14d
movzx ecx, byte [rdi]
lea rax, [rbp + 0x401]
nop dword [rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14000e0d0
not cl
movzx eax, cl
mov r12, qword [rbp + 0x400]
xor r12, qword [r9 + rax*8]
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x400], r12
inc r8d
inc rdi
movsxd rax, r8d
cmp rax, rbx
jb 0x14000e0c0
movabs r9, 0xaebdccdb0a192837
movzx r13d, byte [r11]
mov byte [rbp + 1], r13b
cmp rbx, 1
jbe 0x14000e13c
movzx r11d, byte [rbx + r11 - 1]
jmp 0x14000e13f
mov r11b, 0xae
mov byte [rbp], r11b
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x10], rbx
mov eax, r14d
movzx ecx, bl
movzx edx, bl
nop dword [rax]
nop dword [rax + rax]
xor cl, r13b
xor dl, r11b
inc eax
cmp eax, 8
jb 0x14000e160
mov byte [rbp + 0x18], cl
mov byte [rbp + 0x10], dl
mov r12d, r14d
lea rsi, [rbx*8]
mov r15, r14
mov r14, r9
mov r13d, 8
mov r11d, 1
mov eax, r12d
test r12d, r12d
cmove eax, r11d
shl eax, 3
movsxd rcx, eax
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
mov rax, r8
xor rax, r14
mov qword [rbp + 0x408], rax
movzx eax, byte [rbp + r15 + 0x408]
xor byte [rbp + r15 + 0x400], al
lea r10d, [r12*8]
mov eax, r10d
test r10d, r10d
cmovle eax, r13d
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 8]
lea eax, [r12 + 1]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x409]
xor byte [rbp + r15 + 0x401], al
mov eax, 0xfffffff8
sub eax, r10d
mov ecx, 0xfffffff8
test edi, edi
cmovg ecx, eax
add ecx, 0x40
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x10]
lea eax, [r12 + 2]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r15 + 0x40a]
xor byte [rbp + r15 + 0x402], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x18]
lea eax, [r12 + 3]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x40b]
xor byte [rbp + r15 + 0x403], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x20]
lea eax, [r12 + 4]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r15 + 0x40c]
xor byte [rbp + r15 + 0x404], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x28]
lea eax, [r12 + 5]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x40d]
xor byte [rbp + r15 + 0x405], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x18]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x30]
lea eax, [r12 + 6]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r8, rbx
shl r8, cl
xor r8, r9
xor r8, r14
mov qword [rbp + 0x408], r8
movzx eax, byte [rbp + r15 + 0x40e]
xor byte [rbp + r15 + 0x406], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rax, qword [rbp + 0x10]
shl rax, cl
xor qword [rbp + 0x400], rax
lea edi, [r10 + 0x38]
lea eax, [r12 + 7]
mov ecx, edi
test eax, eax
cmove ecx, r13d
movsxd rcx, ecx
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov r9, rbx
shl r9, cl
xor r9, r8
xor r9, r14
mov qword [rbp + 0x408], r9
movzx eax, byte [rbp + r15 + 0x40f]
xor byte [rbp + r15 + 0x407], al
mov eax, r13d
test edi, edi
cmovg eax, edi
mov ecx, 0x40
sub ecx, eax
mov rdx, qword [rbp + 0x18]
shl rdx, cl
xor rdx, qword [rbp + 0x400]
mov qword [rbp + 0x400], rdx
add r12d, r13d
lea r15, [r15 + 8]
cmp r12d, r13d
jb 0x14000e190
movzx r11d, byte [rbp]
imul r8, r11, 0xff
not r8
movzx eax, byte [rbp + 1]
shl rax, 7
sub r8, rax
and rdx, qword [rbp + 0x38]
xor r8, rdx
mov rdx, qword [rbp + 0x190]
cmp r8, rdx
lea rsi, [0x140000000]
mov r14d, 0
lea r12, [0x1405f2e19]
je 0x14000e513
mov rdi, qword [0x1405f2610]
lea rcx, [rbp + 0x390]
call fcn.140002d90
lea rdx, [rbp + 0x170]
mov rcx, rax
call rdi
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x1d0]
call fcn.140010170
nop
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x118]
call fcn.140010170
mov r13, qword [rbp + 0x128]
mov qword [rbp + 0x20], r13
lea rcx, [rbp + 0x118]
call fcn.140010ae0
mov rbx, rax
mov qword [rbp + 8], rax
cmp byte [0x1405f2606], 0
jne 0x14000e954
mov r15, r14
movabs r13, 0x101010101010101
lea rcx, [rbp + 0x468]
call fcn.140001700
mov rdi, qword [rbp + 0x468]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2f30], rax
lea rcx, [rbp + 0xf0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x468], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2e20], rax
lea rcx, [rbp + 0xe8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x468], rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rdi
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, r13
mov qword [r15 + rsi + 0x5f2ea0], rax
add r15, 8
cmp r15, 0x80
jl 0x14000e572
lea rcx, [rbp + 0x410]
call fcn.140001700
mov edi, r14d
mov r13, qword [rbp + 0x20]
lea rbx, [0x1405f2619]
nop dword [rax]
nop dword [rax + rax]
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e6ab
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx - 1], dl
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e6d7
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx], dl
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e702
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx + 1], dl
mov r15, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e72e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, r15
cqo
idiv rcx
mov byte [rbx + 2], dl
add edi, 4
add rbx, 4
cmp edi, 4
jb 0x14000e690
lea rcx, [rbp + 0xe0]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x410], rdi
mov r15d, r14d
mov rbx, qword [rbp + 8]
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e784
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 - 1], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e7b2
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e7df
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 1], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e80d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 2], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e83b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 3], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e869
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 4], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e897
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 5], dl
mov rdi, qword [rbp + 0x410]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e8c5
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12 + 6], dl
add r15d, 8
add r12, 8
cmp r15d, 8
jae 0x14000e8f2
mov rdi, qword [rbp + 0x410]
jmp 0x14000e770
lea rcx, [rbp + 0xd8]
call fcn.140001700
mov rdi, qword [rax]
mov qword [rbp + 0x410], rdi
mov r15d, r14d
lea r12, [0x1405f2f20]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14000e926
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rdi
cqo
idiv rcx
mov byte [r12], dl
inc r15d
inc r12
cmp r15d, 0xc
jae 0x14000e94d
mov rdi, qword [rbp + 0x410]
jmp 0x14000e912
mov byte [0x1405f2606], 1
test r13, r13
je 0x14000ea93
mov r10d, r14d
mov r8d, r14d
movzx ecx, byte [rbx]
lea r9, [0x1405f2618]
nop dword [rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000e982
inc r8d
inc r9
cmp r8d, 4
jb 0x14000e970
mov r8d, r14d
lea r9, [0x1405f2e18]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2e21]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000e9e2
inc r8d
inc r9
cmp r8d, 8
jb 0x14000e9d0
mov r8d, r14d
lea r9, [0x1405f2f20]
nop dword [rax + rax]
mov edi, r14d
movzx eax, byte [r9]
lea rdx, [rsi + 0x5f2f31]
lea rdx, [rdx + rax*8]
xor cl, byte [rdx - 1]
mov byte [rbx], cl
xor cl, byte [rdx]
mov byte [rbx], cl
xor cl, byte [rdx + 1]
mov byte [rbx], cl
xor cl, byte [rdx + 2]
mov byte [rbx], cl
xor cl, byte [rdx + 3]
mov byte [rbx], cl
xor cl, byte [rdx + 4]
mov byte [rbx], cl
xor cl, byte [rdx + 5]
mov byte [rbx], cl
xor cl, byte [rdx + 6]
mov byte [rbx], cl
add edi, 8
lea rdx, [rdx + 8]
cmp edi, 8
jb 0x14000ea42
inc r8d
inc r9
cmp r8d, 0xc
jb 0x14000ea30
inc r10d
inc rbx
movsxd rax, r10d
cmp rax, r13
jb 0x14000e960
lea rcx, [rbp + 0x1d0]
call fcn.140002d30
nop
lea rdx, [rbp + 0x118]
mov rcx, qword [rbp + 0x448]
call fcn.140010ef0
mov r9, rax
mov ebx, dword [reloc.WS2_32.dll_accept]
mov esi, 4
lea r15d, [rsi + 0x1b]
cmp byte [rbp + 0x4b4], 0
je 0x14000ec5d
mov edi, r14d
cmp ebx, 2
jl 0x14000ec1e
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x4a4]
mov edx, dword [rbp + 0x20]
nop word [rax + rax]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
lea rcx, [rcx + 8]
cmp edi, 0x10
jl 0x14000eb20
cmp edi, 0x15
jge 0x14000ec5d
movsxd rax, edi
lea r8, [rbp + 0x4a0]
add r8, rax
nop dword [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0x15
jl 0x14000ec30
lea rdx, [rbp + 0x4a0]
mov rcx, r9
call fcn.140010f10
lea rdx, [0x1400110e0]
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 + 0x118]
call fcn.140002d30
nop
lea rcx, [rbp + 0x170]
call fcn.140002f10
cmp byte [rbp + 0x4b4], 0
jne 0x14000ee2d
mov edi, r14d
cmp ebx, 2
jl 0x14000edee
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x4a4]
mov edx, dword [rbp + 0x20]
nop word [rax + rax]
movd xmm2, edi
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdi + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edi, 8
lea rcx, [rcx + 8]
cmp edi, 0x10
jl 0x14000ecf0
cmp edi, 0x15
jge 0x14000ee2d
movsxd rax, edi
lea r8, [rbp + 0x4a0]
add r8, rax
nop dword [rax + rax]
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, dil
sub al, cl
add al, 0x34
xor byte [r8], al
inc edi
lea r8, [r8 + 1]
cmp edi, 0x15
jl 0x14000ee00
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x4a0], xmm0
mov dword [rbp + 0x4b0], eax
mov byte [rbp + 0x4b4], al
cmp byte [rbp + 0x6a0], 0
jne 0x14000eff2
cmp ebx, 2
jl 0x14000efaa
movdqa xmm5, xmmword [0x14044ee80]
movdqa xmm4, xmmword [0x14044eed0]
movd xmm6, esi
movdqa xmm7, xmmword [0x14044eea0]
movd xmm8, r15d
movdqa xmm0, xmmword [str.4444444444444444]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x5e4]
mov edx, dword [rbp + 0x20]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r14d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r14 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x14044eeb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r14d, 8
mov eax, r14d
lea rcx, [rcx + 8]
cmp r14d, 0xc0
jl 0x14000eea0
cmp eax, 0xc1
jge 0x14000eff2
movsxd rax, r14d
lea rdi, [rbp + 0x5e0]
add rdi, rax
nop word [rax + rax]
mov eax, 0x51eb851f
imul r14d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x32
movzx eax, r14b
sub al, cl
add al, 0x34
xor byte [rdi], al
inc r14d
lea rdi, [rdi + 1]
cmp r14d, 0xc1
jl 0x14000efc0
lea rax, [rbp + 0x5e0]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov byte [rax + 0x40], cl
lea rdi, [rbp + 0x4d8]
cmp qword [rbp + 0x4f0], 0x10
cmovae rdi, qword [rbp + 0x4d8]
xor eax, eax
mov rcx, qword [rbp + 0x4e8]
rep stosb byte [rdi], al
lea rdi, [rbp + 0x540]
cmp qword [rbp + 0x558], 0x10
cmovae rdi, qword [rbp + 0x540]
mov rcx, qword [rbp + 0x550]
rep stosb byte [rdi], al
lea rdi, [rbp + 0x520]
cmp qword [rbp + 0x538], 0x10
cmovae rdi, qword [rbp + 0x520]
mov rcx, qword [rbp + 0x530]
rep stosb byte [rdi], al
lea rcx, [rbp + 0x540]
call fcn.140002d30
nop
lea rcx, [rbp + 0x520]
call fcn.140002d30
nop
lea rcx, [rbp + 0x560]
call fcn.14000fcc0
mov rdi, qword [rbp + 0x80]
mov rcx, rdi
call fcn.140042b00
nop
lea rcx, [rbp + 0x4d8]
call fcn.140002d30
call fcn.140042d30
mov ecx, 0x151a8d
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000f0fc
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
nop
lea rcx, [rbp + 0x580]
call fcn.140004d20
xor eax, eax
mov rcx, qword [rbp + 0xac0]
xor rcx, rsp
call fcn.1401df840
lea r11, [rsp + 0xb40]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret