Function at 0x14000e390
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x4a0
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x14001b008]
xor rax, rsp
mov qword [rbp + 0x440], rax
vbroadcastsd ymm0, qword [0x14001baa0]
vbroadcastsd ymm1, qword [0x14001baa8]
mov rax, qword [rsp + 0x4f8]
mov r12, qword [rsp + 0x4f0]
vmovdqu ymmword [rbp + 0x120], ymm0
vbroadcastsd ymm0, qword [0x14001bab0]
vmovdqu ymmword [rbp + 0x160], ymm0
vbroadcastsd ymm0, qword [r8]
vinsertf128 ymm0, ymm0, xmm0, 1
vmovdqu ymmword [rbp + 0x140], ymm1
vbroadcastsd ymm1, qword [0x14001bab8]
vmovdqu ymmword [rbp + 0x1a0], ymm0
vbroadcastsd ymm0, qword [r8 + 0x10]
vmovdqu ymmword [rbp + 0x180], ymm1
vbroadcastsd ymm1, qword [r8 + 8]
vinsertf128 ymm0, ymm0, xmm0, 1
vinsertf128 ymm1, ymm1, xmm1, 1
mov qword [rbp + 0xf0], rax
lea rax, [r9 + 0x344000]
vmovdqu ymmword [rbp + 0x1e0], ymm0
mov qword [rbp + 0xa8], rax
lea rax, [r9 + 0x688000]
vmovdqu ymmword [rbp + 0x1c0], ymm1
mov qword [rbp + 0xc0], rcx
mov rcx, qword [r8 + 0x18]
vmovq xmm1, rcx
mov qword [rbp + 0xb0], rax
lea rax, [r9 + 0x9cc000]
mov qword [rbp + 0xe8], r8
lea rdx, [rcx + 2]
mov qword [rbp + 0xb8], rax
vmovq xmm0, rdx
lea r8, [rcx + 3]
mov qword [rbp + 0xd0], r9
vpinsrq xmm0, xmm0, r8, 1
lea rax, [rcx + 1]
mov qword [rbp + 8], r12
vpinsrq xmm1, xmm1, rax, 1
vinsertf128 ymm0, ymm1, xmm0, 1
vmovdqu ymmword [rbp + 0x200], ymm0
mov qword [rbp + 0xa0], r9
lea rcx, [rbp + 0x220]
xor edx, edx
mov r8d, 0x220
vzeroupper
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x120]
call fcn.140005720
lea rax, [r12 + 0x417c40]
lea r14, [r12 + 0x411400]
mov qword [rbp + 0x80], rax
xor eax, eax
mov qword [rbp + 0x78], r14
lea r15, [r12 + 0x370000]
mov dword [rbp + 0x70], eax
lea rdi, [r12 + 0x3c0a00]
mov qword [rbp + 0xc8], rax
lea rbx, [r12 + 0x416c00]
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x98], rdi
lea r13, [r14 + 0x800]
mov qword [rbp + 0x90], rbx
nop
imul rsi, rax, 0x344000
add rsi, qword [rbp + 0xd0]
mov qword [rbp + 0x88], rsi
xor ecx, ecx
nop word [rax + rax]
imul eax, ecx, 0x581
inc ecx
add eax, 0x100
mov byte [rax + rsi], 0
cmp ecx, 0x480
jb 0x14000e580
xor ecx, ecx
nop dword [rax + rax]
imul eax, ecx, 0x581
inc ecx
sub eax, 0xffffff80
mov byte [rax + rsi + 0x18c000], 0
cmp ecx, 0x500
jb 0x14000e5a0
xor edx, edx
mov r8d, 0x5800
mov rcx, r14
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x50a00
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x50a00
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x370000
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
xor r11d, r11d
xor r9d, r9d
imul r10d, r11d, 0x580
xor r8d, r8d
nop dword [rax + rax]
lea eax, [r8 + r10]
movsx eax, byte [rax + rsi]
cdq
xor eax, edx
sub eax, edx
test eax, 0xffffff7f
je 0x14000e62e
cdqe
add rax, r9
inc word [r15 + rax*2]
inc r8d
cmp r8d, 0x580
jl 0x14000e610
inc r11d
add r9, 0x81
cmp r11d, 0x480
jl 0x14000e601
mov r8, r15
mov r9d, 0x480
nop word [rax + rax]
mov rcx, r8
mov edx, 4
nop dword [rax + rax]
movzx eax, word [rcx + 0x50a00]
add ax, word [rcx]
mov word [rcx + 0x50a02], ax
add ax, word [rcx + 2]
mov word [rcx + 0x50a04], ax
add ax, word [rcx + 4]
mov word [rcx + 0x50a06], ax
add ax, word [rcx + 6]
mov word [rcx + 0x50a08], ax
add ax, word [rcx + 8]
mov word [rcx + 0x50a0a], ax
add ax, word [rcx + 0xa]
mov word [rcx + 0x50a0c], ax
add ax, word [rcx + 0xc]
mov word [rcx + 0x50a0e], ax
add ax, word [rcx + 0xe]
mov word [rcx + 0x50a10], ax
add ax, word [rcx + 0x10]
mov word [rcx + 0x50a12], ax
add ax, word [rcx + 0x12]
mov word [rcx + 0x50a14], ax
add ax, word [rcx + 0x14]
mov word [rcx + 0x50a16], ax
add ax, word [rcx + 0x16]
mov word [rcx + 0x50a18], ax
add ax, word [rcx + 0x18]
mov word [rcx + 0x50a1a], ax
add ax, word [rcx + 0x1a]
mov word [rcx + 0x50a1c], ax
add ax, word [rcx + 0x1c]
mov word [rcx + 0x50a1e], ax
add ax, word [rcx + 0x1e]
mov word [rcx + 0x50a20], ax
add ax, word [rcx + 0x20]
mov word [rcx + 0x50a22], ax
add ax, word [rcx + 0x22]
mov word [rcx + 0x50a24], ax
add ax, word [rcx + 0x24]
mov word [rcx + 0x50a26], ax
add ax, word [rcx + 0x26]
mov word [rcx + 0x50a28], ax
add ax, word [rcx + 0x28]
mov word [rcx + 0x50a2a], ax
add ax, word [rcx + 0x2a]
mov word [rcx + 0x50a2c], ax
add ax, word [rcx + 0x2c]
mov word [rcx + 0x50a2e], ax
add ax, word [rcx + 0x2e]
mov word [rcx + 0x50a30], ax
add ax, word [rcx + 0x30]
mov word [rcx + 0x50a32], ax
add ax, word [rcx + 0x32]
mov word [rcx + 0x50a34], ax
add ax, word [rcx + 0x34]
mov word [rcx + 0x50a36], ax
add ax, word [rcx + 0x36]
mov word [rcx + 0x50a38], ax
add ax, word [rcx + 0x38]
mov word [rcx + 0x50a3a], ax
add ax, word [rcx + 0x3a]
mov word [rcx + 0x50a3c], ax
add ax, word [rcx + 0x3c]
mov word [rcx + 0x50a3e], ax
add ax, word [rcx + 0x3e]
mov word [rcx + 0x50a40], ax
lea rcx, [rcx + 0x40]
sub rdx, 1
jne 0x14000e670
add r8, 0x102
sub r9, 1
jne 0x14000e660
mov r8d, 0x50a00
mov rdx, rdi
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
xor r15d, r15d
xor r10d, r10d
nop
xor r8d, r8d
imul r11d, r15d, 0x580
nop word [rax + rax]
lea eax, [r8 + r11]
movsx eax, byte [rax + rsi]
cdq
xor eax, edx
sub eax, edx
test eax, 0xffffff7f
je 0x14000e84d
cdqe
add rax, r9
lea rcx, [rdi + rax*2]
movsx rax, word [rdi + rax*2]
add rax, r10
mov word [r12 + rax*2], r8w
inc word [rcx]
inc r8d
cmp r8d, 0x580
jl 0x14000e820
inc r15d
add r10, 0x580
add r9, 0x81
cmp r15d, 0x480
jl 0x14000e810
mov rdx, qword [rbp + 0xc0]
mov rcx, r14
mov r8d, 0x800
call sub.VCRUNTIME140.dll_memcpy
mov eax, 1
mov qword [rbp + 0x18], 3
lea r15, [0x14001c2c1]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], r15
nop dword [rax]
nop dword [rax + rax]
mov r8, rax
xor edi, edi
shl r8, 7
lea rax, [0x14001c3c1]
add r8, rax
xor r12d, r12d
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x28], r12
nop
movzx eax, byte [r15]
mov r9, qword [rbp + 0x80]
mov dword [rsp + 0x28], eax
imul rdx, r12, 0x102
imul rcx, r12, 0xb00
add rdx, qword [rbp + 0x60]
mov qword [rsp + 0x20], rbx
add rcx, qword [rbp + 8]
call fcn.14000df80
mov r9d, eax
test eax, eax
je 0x14000e9f9
mov r8, qword [r13]
xor r15d, r15d
test eax, eax
jle 0x14000e9f1
mov r11, qword [rbp + 0x80]
mov r10, rbx
imul r12d, edi, 0x580
nop word [rax + rax]
movzx ecx, word [r11]
lea r11, [r11 + 2]
lea r10, [r10 + 8]
mov rdx, qword [r14 + rcx*8]
add ecx, r12d
mov rax, rdx
neg rax
cmp byte [rcx + rsi], 0
cmovle rdx, rax
inc r15d
mov qword [r10 - 8], rdx
cmp r15d, r9d
jl 0x14000e930
xor edx, edx
xor ecx, ecx
cmp r9d, 4
jb 0x14000e9d2
mov r10d, r9d
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
and r10d, 0x80000003
jge 0x14000e985
dec r10d
or r10d, 0xfffffffc
inc r10d
mov eax, r9d
sub eax, r10d
movsxd r10, eax
mov rax, qword [rbp + 8]
vmovdqu xmm0, xmmword [rbx + rcx*8]
add edx, 4
vpaddq xmm2, xmm2, xmm0
vmovdqu xmm0, xmmword [rax + rcx*8 + 0x416c10]
add rcx, 4
vpaddq xmm1, xmm1, xmm0
cmp rcx, r10
jl 0x14000e992
vpaddq xmm1, xmm1, xmm2
vmovdqa xmm0, xmm1
vpsrldq xmm0, xmm0, 8
vpaddq xmm1, xmm1, xmm0
vmovq rax, xmm1
add r8, rax
cmp edx, r9d
jge 0x14000e9ed
sub r9d, edx
lea rax, [rbx + rcx*8]
mov ecx, r9d
nop dword [rax]
add r8, qword [rax]
lea rax, [rax + 8]
sub rcx, 1
jne 0x14000e9e0
mov r12, qword [rbp + 0x28]
mov r15, qword [rbp + 0x30]
mov qword [r13], r8
mov r8, qword [rbp + 0x58]
inc r12
inc edi
mov qword [rbp + 0x28], r12
add r13, 8
cmp edi, 0x480
jb 0x14000e8d0
mov rax, qword [rbp + 0x38]
lea r13, [r14 + 0x800]
inc rax
inc r15
sub qword [rbp + 0x18], 1
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], r15
jne 0x14000e8b0
vmovdqu ymm0, ymmword [0x140024580]
vmovdqu ymm1, ymmword [0x140024560]
mov rdi, qword [rbp + 0x98]
mov eax, 4
mov qword [rbp + 0x28], rax
vmovdqu ymmword [rbp + 0xa0], ymm0
vmovdqu ymmword [rbp + 0x100], ymm1
mov dword [rbp + 0x20], 4
xor r13d, r13d
lea rdx, [0x14001c2c0]
mov dword [rbp + 0x10], r13d
cmp byte [rax + rdx + 0x8181], r13b
je 0x14000ea9e
cmp byte [rax + rdx + 0x8182], r13b
mov ecx, 0x28c
cmovne r13d, ecx
mov dword [rbp + 0x10], r13d
mov r11d, r13d
lea rcx, [rax + rdx]
mov qword [rbp + 0x38], r11
mov qword [rbp + 0x30], rcx
nop dword [rax]
movzx r9d, byte [rcx]
xor r15d, r15d
mov r12, qword [rbp + 0x60]
xor r8d, r8d
test r9, r9
je 0x14000f187
shl rax, 7
imul r10, r11, 0x81
lea rbx, [rax + 0x101]
add rbx, rdx
mov qword [rbp + 0x58], rbx
movzx eax, byte [r8 + rbx]
mov edx, r15d
add rax, r10
movsx ecx, word [r12 + rax*2 + 2]
movsx eax, word [r12 + rax*2]
sub ecx, eax
add r15d, ecx
test ecx, ecx
cmovle r15d, edx
inc r8
cmp r8, r9
jl 0x14000eae0
mov rbx, qword [rbp + 0x90]
mov dword [rbp + 4], r15d
test r15d, r15d
je 0x14000f178
vxorps xmm0, xmm0, xmm0
lea rcx, [rbp + 0x120]
vmovups xmmword [rdi], xmm0
xor edx, edx
mov r8d, 0x180
vmovups xmmword [rdi + 0x10], xmm0
vmovups xmmword [rdi + 0x20], xmm0
vmovups xmmword [rdi + 0x30], xmm0
vmovups xmmword [rdi + 0x40], xmm0
vmovups xmmword [rdi + 0x50], xmm0
vmovups xmmword [rdi + 0x60], xmm0
vmovups xmmword [rdi + 0x70], xmm0
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
xor r12d, r12d
xor r13d, r13d
xor eax, eax
mov qword [rbp + 0x40], rax
nop dword [rax + rax]
lea ecx, [r13 + 4]
mov dword [rbp], ecx
cmp r15d, ecx
jl 0x14000f030
imul rax, qword [rbp + 0x38], 0xb00
imul r11, qword [rbp + 0x38], 0x102
mov rdx, qword [rbp + 8]
add rax, rdx
movsxd r15, ecx
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x30]
add r11, rdx
cmp qword [rbp + 0x28], 0x10
movzx r10d, byte [rax]
jle 0x14000ec45
cmp r9, r15
jge 0x14000ecd4
vzeroupper
xor ecx, ecx
lea r8d, [rcx - 1]
lea r14, [rcx - 1]
test r10, r10
je 0x14000ecd0
mov rax, qword [rbp + 0x58]
mov esi, dword [rdi + rcx*4]
movzx eax, byte [rcx + rax]
movsx edx, word [r11 + rax*2 + 0x370002]
movsx eax, word [r11 + rax*2 + 0x370000]
add eax, esi
cmp eax, edx
jge 0x14000ec0f
sub edx, esi
movsxd rax, edx
mov rdx, qword [rbp + 0x18]
movzx edx, word [rdx + rax*2 - 2]
cmp edx, r8d
jle 0x14000ec0f
mov r8d, edx
mov r14, rcx
inc rcx
cmp rcx, r10
jl 0x14000ebd3
mov rdx, qword [rbp + 8]
cmp r8d, 0x100
jle 0x14000ecd0
mov word [rdx + r9*2 + 0x417c00], r8w
inc r12d
inc dword [rdi + r14*4]
inc r9
cmp r9, r15
jl 0x14000ebc0
jmp 0x14000ecd0
cmp r9, r15
jge 0x14000ecd4
mov eax, r15d
sub eax, r9d
add r12d, eax
vzeroupper
mov rbx, qword [rbp + 0x18]
nop
xor ecx, ecx
lea r8d, [rcx - 1]
lea r14, [rcx - 1]
test r10, r10
je 0x14000ecb4
nop
mov rax, qword [rbp + 0x58]
mov esi, dword [rdi + rcx*4]
movzx eax, byte [rcx + rax]
movsx edx, word [r11 + rax*2 + 0x370002]
movsx eax, word [r11 + rax*2 + 0x370000]
add eax, esi
cmp eax, edx
jge 0x14000eca8
sub edx, esi
movsxd rax, edx
movzx edx, word [rbx + rax*2 - 2]
cmp edx, r8d
jle 0x14000eca8
mov r8d, edx
mov r14, rcx
inc rcx
cmp rcx, r10
jl 0x14000ec70
mov rdx, qword [rbp + 8]
mov word [rdx + r9*2 + 0x417c00], r8w
inc r9
inc dword [rdi + r14*4]
cmp r9, r15
jl 0x14000ec60
mov rbx, qword [rbp + 0x90]
mov r14, qword [rbp + 0x78]
mov r8, qword [rbp + 0x40]
mov esi, r12d
cmp r8, r9
jge 0x14000ed2f
imul r11d, dword [rbp + 0x10], 0x580
vzeroupper
mov r10, qword [rbp + 0x88]
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rdx + r8*2 + 0x417c00]
mov rdx, qword [r14 + rcx*8]
add ecx, r11d
mov rax, rdx
neg rax
cmp byte [rcx + r10], 0
cmovle rdx, rax
mov qword [rbx + r8*8], rdx
inc r8
mov rdx, qword [rbp + 8]
cmp r8, r9
jl 0x14000ed00
mov r15d, dword [rbp + 4]
cmp r12d, r15d
jne 0x14000ed53
mov edx, dword [rbp + 0x10]
lea esi, [r12 + 1]
add edx, 0x100
mov dword [rbp + 0x68], edx
mov rcx, qword [r14 + rdx*8]
mov qword [rbx + r9*8], rcx
jmp 0x14000ed5e
mov eax, dword [rbp + 0x10]
add eax, 0x100
mov dword [rbp + 0x68], eax
cmp esi, 1
je 0x14000f029
mov qword [rbp + 0x158], 0
movsxd rdx, esi
cmp esi, 0xc
je 0x14000edda
cmp esi, 0x18
je 0x14000edda
test r13d, r13d
jne 0x14000ed8e
mov rax, qword [rbx]
mov qword [rbp + 0x160], rax
movsxd rax, r13d
cmp rax, rdx
jge 0x14000ee97
lea r8, [rbp + 0x158]
lea r10, [rbp + 0x160]
sub r8, rbx
sub r10, rbx
lea rcx, [rbx + rax*8]
sub rdx, rax
vzeroupper
nop dword [rax + rax]
mov rax, qword [r8 + rcx]
add rax, qword [rcx]
mov qword [r10 + rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x14000edc0
jmp 0x14000ee97
vmovdqu ymm2, ymmword [rbx]
vmovdqu ymm4, ymmword [rbp + 0xa0]
vmovdqu ymm5, ymmword [rbp + 0x100]
vpand ymm0, ymm2, ymm4
vpermq ymm1, ymm0, 0x93
vpaddq ymm3, ymm1, ymm2
vpand ymm0, ymm3, ymm5
vpermq ymm1, ymm0, 0x4e
vpaddq ymm2, ymm1, ymm3
mov ecx, 4
vextractf128 xmm0, ymm2, 1
vpextrq r8, xmm0, 1
vmovdqu ymmword [rbp + 0x160], ymm2
cmp rcx, rdx
jge 0x14000ee97
lea rax, [rbp + 0x180]
mov r10, rbx
sub r10, rax
vmovq xmm3, r8
lea rax, [r10 + rcx*8]
vmovdqu ymm2, ymmword [rbp + rax + 0x180]
vpand ymm0, ymm2, ymm4
vpermq ymm1, ymm0, 0x93
vpaddq ymm4, ymm1, ymm2
vpand ymm0, ymm4, ymm5
vpermq ymm1, ymm0, 0x4e
vpunpcklqdq xmm3, xmm3, xmm3
vpaddq ymm2, ymm1, ymm4
vmovdqu ymm4, ymmword [rbp + 0xa0]
vinsertf128 ymm3, ymm3, xmm3, 1
vpaddq ymm3, ymm2, ymm3
vmovdqu ymmword [rbp + rcx*8 + 0x160], ymm3
add rcx, 4
vextractf128 xmm0, ymm3, 1
vpextrq r8, xmm0, 1
cmp rcx, rdx
jl 0x14000ee35
mov r15d, 0x18
mov r8d, 2
cmp esi, r15d
cmovl r15d, esi
cmp r15d, r8d
jl 0x14000f025
mov eax, r8d
mov edx, eax
vzeroupper
nop dword [rax + rax]
cmp r13d, eax
mov ecx, r13d
cmovl ecx, edx
cmp ecx, esi
jg 0x14000ef1c
movsxd rax, ecx
lea r11, [rbp + 0x158]
mov edx, ecx
sub edx, r8d
lea r11, [r11 + rax*8]
mov r10, qword [r11]
movsxd rax, edx
sub r10, qword [rbp + rax*8 + 0x158]
movabs rax, 0x1ffffffffff
cmp r10, rax
jge 0x14000efad
movabs rax, 0xfffffe0000000001
cmp r10, rax
jle 0x14000ef30
inc ecx
inc edx
add r11, 8
cmp ecx, esi
jle 0x14000eee0
inc r8d
mov eax, r8d
mov edx, r8d
cmp r8d, r15d
jg 0x14000f025
jmp 0x14000eec0
lea ecx, [rdx - 1]
movabs r11, 0xffffff0000000000
movsxd rax, ecx
mov r8, r11
cmp qword [rbx + rax*8], 0
jg 0x14000ef61
nop word [rax + rax]
test rax, rax
js 0x14000ef61
dec rax
dec ecx
cmp qword [rbx + rax*8], 0
jle 0x14000ef50
movsxd r10, ecx
test ecx, ecx
js 0x14000f01c
movabs rsi, 0xffffffffff
mov qword [rbp + 0x50], r11
mov qword [rbp + 0x48], rsi
nop
add r8, qword [rbx + r10*8]
lea rax, [rbp + 0x18]
cmp r8, r11
mov qword [rbp + 0x18], r8
lea rcx, [rbp + 0x50]
cmovge rcx, rax
cmp r8, rsi
lea rax, [rbp + 0x48]
cmovle rax, rcx
sub r10, 1
mov r8, qword [rax]
jns 0x14000ef80
jmp 0x14000f01c
lea ecx, [rdx - 1]
movabs rsi, 0xffffffffff
movsxd rax, ecx
mov r8, rsi
cmp qword [rbx + rax*8], 0
jl 0x14000efd8
test rax, rax
js 0x14000efd8
dec rax
dec ecx
cmp qword [rbx + rax*8], 0
jge 0x14000efc7
movsxd r10, ecx
test ecx, ecx
js 0x14000f01c
movabs r11, 0xffffff0000000000
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x48], r11
add r8, qword [rbx + r10*8]
lea rax, [rbp + 0x18]
cmp r8, r11
mov qword [rbp + 0x18], r8
lea rcx, [rbp + 0x48]
cmovge rcx, rax
cmp r8, rsi
lea rax, [rbp + 0x50]
cmovle rax, rcx
sub r10, 1
mov r8, qword [rax]
jns 0x14000eff1
cmp edx, 0xffffffff
jne 0x14000fe5a
mov r15d, dword [rbp + 4]
mov ecx, dword [rbp]
mov rax, qword [rbp + 0x40]
add rax, 4
mov r13d, ecx
mov qword [rbp + 0x40], rax
cmp ecx, 0x1c
jle 0x14000eb70
mov rcx, qword [rbp + 0x30]
mov r13d, dword [rbp + 0x10]
mov r8d, dword [rbp + 0x20]
mov rsi, qword [rbp + 0x80]
movzx r9d, byte [rcx]
lea rcx, [0x14001c3c1]
mov dword [rsp + 0x28], r9d
mov r9, rsi
shl r8, 7
add r8, rcx
mov qword [rsp + 0x20], rbx
imul rcx, r13, 0xb00
imul rdx, r13, 0x102
add rcx, qword [rbp + 8]
add rdx, qword [rbp + 0x60]
vzeroupper
call fcn.14000df80
xor r11d, r11d
lea r12d, [r13 + 0x100]
mov r8, qword [r14 + r12*8]
test r15d, r15d
jle 0x14000f142
mov r10, rsi
imul r13d, r13d, 0x580
mov rsi, qword [rbp + 0x88]
mov r9, rbx
nop
movzx ecx, word [r10]
lea r10, [r10 + 2]
lea r9, [r9 + 8]
mov rdx, qword [r14 + rcx*8]
add ecx, r13d
mov rax, rdx
neg rax
cmp byte [rcx + rsi], 0
cmovle rdx, rax
inc r11d
mov qword [r9 - 8], rdx
cmp r11d, r15d
jl 0x14000f0c0
movabs r10, 0xffffffffff
mov r9d, r15d
movabs r11, 0xffffff0000000000
mov qword [rbp + 0x50], r10
mov qword [rbp + 0x48], r11
mov rdx, rbx
nop
add r8, qword [rdx]
lea rax, [rbp + 0x18]
cmp r8, r11
mov qword [rbp + 0x18], r8
lea rcx, [rbp + 0x48]
cmovge rcx, rax
lea rdx, [rdx + 8]
cmp r8, r10
lea rax, [rbp + 0x50]
cmovle rax, rcx
mov r8, qword [rax]
sub r9, 1
jne 0x14000f110
mov r13d, dword [rbp + 0x10]
vmovdqu ymm1, ymmword [0x140024560]
vmovdqu ymm0, ymmword [0x140024580]
vmovdqu ymmword [rbp + 0x100], ymm1
vmovdqu ymmword [rbp + 0xa0], ymm0
mov rsi, qword [rbp + 0x88]
mov r11, qword [rbp + 0x38]
mov eax, r12d
mov r12, qword [rbp + 0x60]
mov qword [r14 + rax*8], r8
mov rcx, qword [rbp + 0x30]
lea rdx, [0x14001c2c0]
mov rax, qword [rbp + 0x28]
inc r13d
inc r11
mov dword [rbp + 0x10], r13d
mov qword [rbp + 0x38], r11
cmp r13d, 0x480
jb 0x14000eab0
mov edx, dword [rbp + 0x20]
inc rax
inc edx
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x20], edx
cmp edx, 0x100
jle 0x14000ea71
mov r8d, 0x501
nop dword [rax]
nop word [rax + rax]
lea eax, [r8 - 1]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x501]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
mov eax, r8d
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x500]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 1]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ff]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 2]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4fe]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 3]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4fd]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 4]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4fc]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 5]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4fb]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 6]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4fa]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 7]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f9]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 8]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f8]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 9]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f7]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0xa]
mov rdx, qword [r14 + rax*8]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
lea eax, [r8 - 0x4f6]
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0xb]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f5]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0xc]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f4]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0xd]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f3]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0xe]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f2]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0xf]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f1]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x10]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4f0]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x11]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ef]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x12]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ee]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x13]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ed]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x14]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ec]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x15]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4eb]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x16]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ea]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x17]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e9]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x18]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e8]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x19]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e7]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x1a]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e6]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x1b]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e5]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x1c]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e4]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x1d]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e3]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x1e]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e2]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x1f]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e1]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x20]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4e0]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x21]
mov rdx, qword [r14 + rax*8]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
lea eax, [r8 - 0x4df]
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x22]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4de]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x23]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4dd]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x24]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4dc]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x25]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4db]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x26]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4da]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x27]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d9]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x28]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d8]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x29]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d7]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x2a]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d6]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x2b]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d5]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x2c]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d4]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x2d]
mov rdx, qword [r14 + rax*8]
sar rdx, 0x3f
lea eax, [r8 - 0x4d3]
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x2e]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d2]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x2f]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d1]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x30]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4d0]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x31]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4cf]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x32]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ce]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x33]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4cd]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x34]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4cc]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x35]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4cb]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x36]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4ca]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x37]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c9]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x38]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c8]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x39]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c7]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x3a]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c6]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x3b]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c5]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x3c]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c4]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x3d]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c3]
sar rdx, 0x3f
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 + 0x3e]
mov rdx, qword [r14 + rax*8]
lea eax, [r8 - 0x4c2]
sar rdx, 0x3f
add r8d, 0x40
and rdx, 0xfffffffffffffffe
inc rdx
mov qword [r14 + rax*8 + 0x2c00], rdx
lea eax, [r8 - 0x501]
cmp eax, 0x80
jb 0x14000f1d0
xor edx, edx
mov r8d, 0x50a00
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x50a00
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov r13, qword [rbp + 8]
xor edx, edx
mov rcx, r13
mov r8d, 0x370000
call sub.VCRUNTIME140.dll_memset
xor r11d, r11d
xor r9d, r9d
nop
imul r10d, r11d, 0x580
xor r8d, r8d
nop word [rax + rax]
lea eax, [r8 + r10]
movsx eax, byte [rax + rsi + 0x18c000]
cdq
xor eax, edx
sub eax, edx
test eax, 0xffffff7f
je 0x14000fad2
cdqe
add rax, r9
inc word [r12 + rax*2]
inc r8d
cmp r8d, 0x580
jl 0x14000fab0
inc r11d
add r9, 0x81
cmp r11d, 0x500
jl 0x14000faa0
mov r8, r12
mov r9d, 0x500
nop word [rax + rax]
mov rcx, r8
mov edx, 4
nop dword [rax + rax]
movzx eax, word [rcx + 0x50a00]
add ax, word [rcx]
mov word [rcx + 0x50a02], ax
add ax, word [rcx + 2]
mov word [rcx + 0x50a04], ax
add ax, word [rcx + 4]
mov word [rcx + 0x50a06], ax
add ax, word [rcx + 6]
mov word [rcx + 0x50a08], ax
add ax, word [rcx + 8]
mov word [rcx + 0x50a0a], ax
add ax, word [rcx + 0xa]
mov word [rcx + 0x50a0c], ax
add ax, word [rcx + 0xc]
mov word [rcx + 0x50a0e], ax
add ax, word [rcx + 0xe]
mov word [rcx + 0x50a10], ax
add ax, word [rcx + 0x10]
mov word [rcx + 0x50a12], ax
add ax, word [rcx + 0x12]
mov word [rcx + 0x50a14], ax
add ax, word [rcx + 0x14]
mov word [rcx + 0x50a16], ax
add ax, word [rcx + 0x16]
mov word [rcx + 0x50a18], ax
add ax, word [rcx + 0x18]
mov word [rcx + 0x50a1a], ax
add ax, word [rcx + 0x1a]
mov word [rcx + 0x50a1c], ax
add ax, word [rcx + 0x1c]
mov word [rcx + 0x50a1e], ax
add ax, word [rcx + 0x1e]
mov word [rcx + 0x50a20], ax
add ax, word [rcx + 0x20]
mov word [rcx + 0x50a22], ax
add ax, word [rcx + 0x22]
mov word [rcx + 0x50a24], ax
add ax, word [rcx + 0x24]
mov word [rcx + 0x50a26], ax
add ax, word [rcx + 0x26]
mov word [rcx + 0x50a28], ax
add ax, word [rcx + 0x28]
mov word [rcx + 0x50a2a], ax
add ax, word [rcx + 0x2a]
mov word [rcx + 0x50a2c], ax
add ax, word [rcx + 0x2c]
mov word [rcx + 0x50a2e], ax
add ax, word [rcx + 0x2e]
mov word [rcx + 0x50a30], ax
add ax, word [rcx + 0x30]
mov word [rcx + 0x50a32], ax
add ax, word [rcx + 0x32]
mov word [rcx + 0x50a34], ax
add ax, word [rcx + 0x34]
mov word [rcx + 0x50a36], ax
add ax, word [rcx + 0x36]
mov word [rcx + 0x50a38], ax
add ax, word [rcx + 0x38]
mov word [rcx + 0x50a3a], ax
add ax, word [rcx + 0x3a]
mov word [rcx + 0x50a3c], ax
add ax, word [rcx + 0x3c]
mov word [rcx + 0x50a3e], ax
add ax, word [rcx + 0x3e]
mov word [rcx + 0x50a40], ax
lea rcx, [rcx + 0x40]
sub rdx, 1
jne 0x14000fb10
add r8, 0x102
sub r9, 1
jne 0x14000fb00
mov r8d, 0x50a00
mov rdx, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
xor r15d, r15d
xor r10d, r10d
nop
xor r8d, r8d
imul r11d, r15d, 0x580
nop word [rax + rax]
lea eax, [r11 + r8]
movsx eax, byte [rax + rsi + 0x18c000]
cdq
xor eax, edx
sub eax, edx
test eax, 0xffffff7f
je 0x14000fcf2
cdqe
add rax, r9
lea rcx, [rdi + rax*2]
movsx rax, word [rdi + rax*2]
add rax, r10
mov word [r13 + rax*2], r8w
inc word [rcx]
inc r8d
cmp r8d, 0x580
jl 0x14000fcc0
inc r15d
add r10, 0x580
add r9, 0x81
cmp r15d, 0x500
jl 0x14000fcb0
mov ecx, 1
mov qword [rbp + 0x30], 3
lea rax, [0x14001c2c1]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x38], rax
nop dword [rax]
nop dword [rax + rax]
mov rdi, rcx
lea r15, [r14 + 0x3000]
shl rdi, 7
lea rcx, [0x14001c3c1]
add rdi, rcx
xor r13d, r13d
xor r12d, r12d
mov qword [rbp + 0x58], r12
movzx eax, byte [rax]
mov r8, rdi
mov r9, qword [rbp + 0x80]
mov dword [rsp + 0x28], eax
imul rdx, r12, 0x102
imul rcx, r12, 0xb00
add rdx, qword [rbp + 0x60]
mov qword [rsp + 0x20], rbx
add rcx, qword [rbp + 8]
call fcn.14000df80
mov r11d, eax
test eax, eax
je 0x14000fe6d
xor r10d, r10d
test r11d, r11d
jle 0x14000fe67
mov r9, qword [rbp + 0x80]
mov r8, rbx
imul r12d, r13d, 0x580
nop dword [rax + rax]
movzx ecx, word [r9]
lea r9, [r9 + 2]
lea r8, [r8 + 8]
mov rdx, qword [r14 + rcx*8 + 0x2c00]
add ecx, r12d
mov rax, rdx
neg rax
cmp byte [rcx + rsi + 0x18c000], 0
cmovle rdx, rax
inc r10d
mov qword [r8 - 8], rdx
cmp r10d, r11d
jl 0x14000fdc0
mov rcx, qword [r15]
movabs r12, 0xffffffffff
movabs r10, 0xffffff0000000000
mov qword [rbp + 0x50], r12
mov qword [rbp + 0xd8], r10
mov r8, rbx
mov r9, r11
nop dword [rax]
mov rdx, qword [r8]
lea rax, [rbp + 0x48]
add rdx, rcx
lea r8, [r8 + 8]
cmp rdx, r10
mov qword [rbp + 0x48], rdx
lea rcx, [rbp + 0xd8]
cmovge rcx, rax
cmp rdx, r12
lea rax, [rbp + 0x50]
cmovle rax, rcx
mov rcx, qword [rax]
sub r9, 1
jne 0x14000fe20
mov r12, qword [rbp + 0x58]
jmp 0x14000fe6a
mov r12d, dword [rbp + 0x68]
mov r13d, dword [rbp + 0x10]
jmp 0x14000f162
mov rcx, qword [r15]
mov qword [r15], rcx
mov rax, qword [rbp + 0x38]
inc r12
inc r13d
mov qword [rbp + 0x58], r12
add r15, 8
cmp r13d, 0x500
jb 0x14000fd62
mov rcx, qword [rbp + 0x28]
inc rax
inc rcx
mov qword [rbp + 0x38], rax
sub qword [rbp + 0x30], 1
mov qword [rbp + 0x28], rcx
jne 0x14000fd40
vmovdqu ymm0, ymmword [0x140024580]
vmovdqu ymm1, ymmword [0x140024560]
mov rdi, qword [rbp + 0x98]
mov ecx, 4
mov qword [rbp + 0x68], rcx
vmovdqu ymmword [rbp + 0xa0], ymm0
vmovdqu ymmword [rbp + 0x100], ymm1
mov dword [rbp + 0x20], 4
xor r12d, r12d
lea rdx, [0x14001c2c0]
mov dword [rbp], r12d
cmp byte [rcx + rdx + 0x8181], r12b
je 0x14000ff0d
cmp byte [rcx + rdx + 0x8182], r12b
mov eax, 0x30c
cmovne r12d, eax
mov dword [rbp], r12d
mov r15, qword [rbp + 0x60]
mov eax, r12d
imul r11, rax, 0xb00
imul rsi, rax, 0x81
imul r8, rax, 0x102
add r11, qword [rbp + 8]
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x28], r11
add r8, r15
mov qword [rbp + 0x38], r8
nop dword [rax]
movzx r10d, byte [rcx + rdx]
xor r13d, r13d
xor r9d, r9d
test r10, r10
je 0x1400105d4
mov rbx, rcx
shl rbx, 7
add rbx, 0x101
add rbx, rdx
mov qword [rbp + 0x48], rbx
nop dword [rax]
movzx eax, byte [r9 + rbx]
mov edx, r13d
add rax, rsi
movsx ecx, word [r15 + rax*2 + 2]
movsx eax, word [r15 + rax*2]
sub ecx, eax
add r13d, ecx
test ecx, ecx
cmovle r13d, edx
inc r9
cmp r9, r10
jl 0x14000ff70
mov rbx, qword [rbp + 0x90]
test r13d, r13d
je 0x1400105c9
vxorps xmm0, xmm0, xmm0
lea rcx, [rbp + 0x120]
vmovups xmmword [rdi], xmm0
xor edx, edx
mov r8d, 0x180
vmovups xmmword [rdi + 0x10], xmm0
vmovups xmmword [rdi + 0x20], xmm0
vmovups xmmword [rdi + 0x30], xmm0
vmovups xmmword [rdi + 0x40], xmm0
vmovups xmmword [rdi + 0x50], xmm0
vmovups xmmword [rdi + 0x60], xmm0
vmovups xmmword [rdi + 0x70], xmm0
call sub.VCRUNTIME140.dll_memset
xor esi, esi
xor r15d, r15d
xor edx, edx
mov qword [rbp + 0x40], rdx
nop dword [rax]
nop word [rax + rax]
lea eax, [r15 + 4]
mov dword [rbp + 4], eax
cmp r13d, eax
jl 0x14001043c
mov r10d, r13d
lea rcx, [0x14001c2c0]
cmovg r10d, eax
mov rax, qword [rbp + 0x68]
movsxd r14, r10d
movzx r12d, byte [rax + rcx]
cmp rsi, r14
jge 0x1400100b4
vzeroupper
mov rbx, qword [rbp + 0x38]
mov rax, qword [rbp + 8]
nop
xor ecx, ecx
lea r8d, [rcx - 1]
lea r11, [rcx - 1]
test r12, r12
je 0x140010092
nop
mov rax, qword [rbp + 0x48]
mov r9d, dword [rdi + rcx*4]
movzx eax, byte [rcx + rax]
movsx edx, word [rbx + rax*2 + 2]
movsx eax, word [rbx + rax*2]
add eax, r9d
cmp eax, edx
jge 0x140010086
sub edx, r9d
movsxd rax, edx
mov rdx, qword [rbp + 0x28]
movzx edx, word [rdx + rax*2 - 2]
cmp edx, r8d
jle 0x140010086
mov r8d, edx
mov r11, rcx
inc rcx
cmp rcx, r12
jl 0x140010050
mov rax, qword [rbp + 8]
mov word [rax + rsi*2 + 0x417c00], r8w
inc rsi
inc dword [rdi + r11*4]
cmp rsi, r14
jl 0x140010040
mov rbx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x40]
jmp 0x1400100b8
mov rax, qword [rbp + 8]
mov r12d, dword [rbp]
mov r8, rdx
cmp rdx, r14
jge 0x140010125
imul r11d, r12d, 0x580
vzeroupper
mov r9, qword [rbp + 0x88]
jmp 0x1400100e3
mov rax, rdi
movzx ecx, word [rax + r8*2 + 0x417c00]
mov rdi, qword [rbp + 8]
mov rdx, qword [rdi + rcx*8 + 0x414000]
add ecx, r11d
mov rax, rdx
neg rax
cmp byte [rcx + r9 + 0x18c000], 0
cmovle rdx, rax
mov qword [rbx + r8*8], rdx
inc r8
cmp r8, r14
jl 0x1400100e0
mov rdi, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x40]
cmp r10d, r13d
jne 0x140010145
mov rax, qword [rbp + 8]
lea ecx, [r12 + 0x80]
inc r10d
mov rax, qword [rax + rcx*8 + 0x414000]
mov qword [rbx + r14*8], rax
cmp r10d, 1
je 0x140010439
mov qword [rbp + 0x158], 0
movsxd rdx, r10d
cmp r10d, 0xc
je 0x1400101ca
cmp r10d, 0x18
je 0x1400101ca
test r15d, r15d
jne 0x140010178
mov rax, qword [rbx]
mov qword [rbp + 0x160], rax
movsxd rax, r15d
cmp rax, rdx
jge 0x140010287
lea r8, [rbp + 0x158]
lea r9, [rbp + 0x160]
sub r8, rbx
sub r9, rbx
lea rcx, [rbx + rax*8]
sub rdx, rax
vzeroupper
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r8 + rcx]
add rax, qword [rcx]
mov qword [r9 + rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x1400101b0
jmp 0x140010287
vmovdqu ymm2, ymmword [rbx]
vmovdqu ymm4, ymmword [rbp + 0xa0]
vmovdqu ymm5, ymmword [rbp + 0x100]
vpand ymm0, ymm2, ymm4
vpermq ymm1, ymm0, 0x93
vpaddq ymm3, ymm1, ymm2
vpand ymm0, ymm3, ymm5
vpermq ymm1, ymm0, 0x4e
vpaddq ymm2, ymm1, ymm3
mov ecx, 4
vextractf128 xmm0, ymm2, 1
vpextrq r8, xmm0, 1
vmovdqu ymmword [rbp + 0x160], ymm2
cmp rcx, rdx
jge 0x140010287
lea rax, [rbp + 0x180]
mov r9, rbx
sub r9, rax
vmovq xmm3, r8
lea rax, [r9 + rcx*8]
vmovdqu ymm2, ymmword [rbp + rax + 0x180]
vpand ymm0, ymm2, ymm4
vpermq ymm1, ymm0, 0x93
vpaddq ymm4, ymm1, ymm2
vpand ymm0, ymm4, ymm5
vpermq ymm1, ymm0, 0x4e
vpunpcklqdq xmm3, xmm3, xmm3
vpaddq ymm2, ymm1, ymm4
vmovdqu ymm4, ymmword [rbp + 0xa0]
vinsertf128 ymm3, ymm3, xmm3, 1
vpaddq ymm3, ymm2, ymm3
vmovdqu ymmword [rbp + rcx*8 + 0x160], ymm3
add rcx, 4
vextractf128 xmm0, ymm3, 1
vpextrq r8, xmm0, 1
cmp rcx, rdx
jl 0x140010225
mov r14d, 0x18
mov edx, 2
cmp r10d, r14d
cmovl r14d, r10d
cmp r14d, edx
jl 0x140010435
mov eax, edx
mov r8d, edx
vzeroupper
nop word [rax + rax]
cmp r15d, eax
mov ecx, r15d
cmovl ecx, r8d
cmp ecx, r10d
jg 0x14001031e
movsxd rax, ecx
lea r11, [rbp + 0x158]
mov r8d, ecx
sub r8d, edx
lea r11, [r11 + rax*8]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r11]
movsxd rax, r8d
sub r9, qword [rbp + rax*8 + 0x158]
movabs rax, 0x1ffffffffff
cmp r9, rax
jge 0x1400103ad
movabs rax, 0xfffffe0000000001
cmp r9, rax
jle 0x140010330
inc ecx
inc r8d
add r11, 8
cmp ecx, r10d
jle 0x1400102e0
inc edx
mov eax, edx
mov r8d, edx
cmp edx, r14d
jg 0x140010435
jmp 0x1400102b0
lea ecx, [r8 - 1]
movabs r10, 0xffffff0000000000
movsxd rax, ecx
mov rdx, r10
cmp qword [rbx + rax*8], 0
jg 0x140010361
nop dword [rax + rax]
test rax, rax
js 0x140010361
dec rax
dec ecx
cmp qword [rbx + rax*8], 0
jle 0x140010350
movsxd r9, ecx
test ecx, ecx
js 0x14001042b
movabs r11, 0xffffffffff
mov qword [rbp + 0x50], r10
mov qword [rbp + 0x30], r11
nop
add rdx, qword [rbx + r9*8]
lea rax, [rbp + 0x18]
cmp rdx, r10
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x50]
cmovge rcx, rax
cmp rdx, r11
lea rax, [rbp + 0x30]
cmovle rax, rcx
sub r9, 1
mov rdx, qword [rax]
jns 0x140010380
jmp 0x14001042b
lea ecx, [r8 - 1]
movabs r11, 0xffffffffff
movsxd rax, ecx
mov rdx, r11
cmp qword [rbx + rax*8], 0
jl 0x1400103d9
test rax, rax
js 0x1400103d9
dec rax
dec ecx
cmp qword [rbx + rax*8], 0
jge 0x1400103c8
movsxd r9, ecx
test ecx, ecx
js 0x14001042b
movabs r10, 0xffffff0000000000
mov qword [rbp + 0x30], r11
mov qword [rbp + 0x50], r10
nop dword [rax]
nop word [rax + rax]
add rdx, qword [rbx + r9*8]
lea rax, [rbp + 0x18]
cmp rdx, r10
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0x50]
cmovge rcx, rax
cmp rdx, r11
lea rax, [rbp + 0x30]
cmovle rax, rcx
sub r9, 1
mov rdx, qword [rax]
jns 0x140010400
cmp r8d, 0xffffffff
jne 0x140010573
mov rdx, qword [rbp + 0x40]
mov eax, dword [rbp + 4]
add rdx, 4
mov r15d, eax
mov qword [rbp + 0x40], rdx
cmp eax, 0x1c
jle 0x140010000
mov rcx, qword [rbp + 0x68]
lea rdx, [0x14001c2c0]
mov r8d, dword [rbp + 0x20]
mov r15, qword [rbp + 0x60]
mov rsi, qword [rbp + 0x80]
movzx r9d, byte [rcx + rdx]
lea rcx, [0x14001c3c1]
mov eax, r12d
mov dword [rsp + 0x28], r9d
mov r9, rsi
shl r8, 7
add r8, rcx
mov qword [rsp + 0x20], rbx
imul rcx, rax, 0xb00
imul rdx, rax, 0x102
add rcx, qword [rbp + 8]
add rdx, r15
vzeroupper
call fcn.14000df80
mov r14, qword [rbp + 0x78]
xor r10d, r10d
test r13d, r13d
jle 0x140010585
mov r9, rsi
imul r11d, r12d, 0x580
mov rsi, qword [rbp + 0x88]
mov r8, rbx
nop
movzx ecx, word [r9]
lea r9, [r9 + 2]
lea r8, [r8 + 8]
mov rdx, qword [r14 + rcx*8 + 0x2c00]
add ecx, r11d
mov rax, rdx
neg rax
cmp byte [rcx + rsi + 0x18c000], 0
cmovle rdx, rax
inc r10d
mov qword [r8 - 8], rdx
cmp r10d, r13d
jl 0x1400104d0
lea r10d, [r12 + 0x80]
mov r9d, r13d
mov rdx, qword [r14 + r10*8 + 0x2c00]
movabs rsi, 0xffffffffff
movabs r11, 0xffffff0000000000
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0xe0], r11
mov r8, rbx
nop word [rax + rax]
add rdx, qword [r8]
lea rax, [rbp + 0x18]
cmp rdx, r11
mov qword [rbp + 0x18], rdx
lea rcx, [rbp + 0xe0]
cmovge rcx, rax
lea r8, [r8 + 8]
cmp rdx, rsi
lea rax, [rbp + 0x48]
cmovle rax, rcx
mov rdx, qword [rax]
sub r9, 1
jne 0x140010540
jmp 0x140010595
mov r14, qword [rbp + 0x78]
lea r10d, [r12 + 0x80]
mov r15, qword [rbp + 0x60]
jmp 0x1400105b5
lea r10d, [r12 + 0x80]
mov rdx, qword [r14 + r10*8 + 0x2c00]
vmovdqu ymm1, ymmword [0x140024560]
vmovdqu ymm0, ymmword [0x140024580]
vmovdqu ymmword [rbp + 0x100], ymm1
vmovdqu ymmword [rbp + 0xa0], ymm0
mov r8, qword [rbp + 0x38]
mov r11, qword [rbp + 0x28]
mov rsi, qword [rbp + 0x58]
mov qword [r14 + r10*8 + 0x2c00], rdx
mov rcx, qword [rbp + 0x68]
lea rdx, [0x14001c2c0]
inc r12d
add rsi, 0x81
add r8, 0x102
mov dword [rbp], r12d
add r11, 0xb00
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x28], r11
cmp r12d, 0x500
jb 0x14000ff40
mov edx, dword [rbp + 0x20]
inc rcx
inc edx
mov qword [rbp + 0x68], rcx
mov dword [rbp + 0x20], edx
cmp edx, 0x100
jle 0x14000fee0
mov r9, qword [rbp + 0xc0]
lea r10, [r14 + 0x5000]
xor r8d, r8d
mov r11d, 0x100
nop dword [rax + rax]
mov rdx, qword [r9]
lea ecx, [r8 + 1]
mov rax, qword [r10]
lea r10, [r10 + 8]
shr rdx, 0x3f
lea r9, [r9 + 8]
shr rax, 0x3f
cmp dl, al
cmovne ecx, r8d
mov r8d, ecx
sub r11, 1
jne 0x140010640
lea eax, [rcx - 0x55]
cmp eax, 0x56
ja 0x14001069e
mov rax, qword [rbp + 0xc8]
lea r13, [r14 + 0x800]
inc dword [rbp + 0x70]
inc rax
mov r12, qword [rbp + 8]
mov qword [rbp + 0xc8], rax
cmp rax, 4
jl 0x14000e560
xor al, al
jmp 0x1400106c8
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xf0]
vmovups xmm0, xmmword [rax]
vmovups xmmword [rcx], xmm0
vmovups xmm1, xmmword [rax + 0x10]
movsxd rax, dword [rbp + 0x70]
vmovups xmmword [rcx + 0x10], xmm1
add qword [rcx + 0x18], rax
mov al, 1
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.140014220
lea r11, [rsp + 0x4a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret