Function at 0x14004a3d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1198
call fcn.140060da0
sub rsp, rax
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0x1100], xmm8
vmovdqa xmmword [rbp + 0x10f0], xmm7
vmovdqa xmmword [rbp + 0x10e0], xmm6
mov qword [rbp + 0x10d8], 0xfffffffffffffffe
mov r12, rcx
mov ecx, dword [rcx + 0x170]
add ecx, dword [r12 + 0x150]
xor eax, eax
cmp ecx, 2
je 0x14004c618
mov rcx, qword [r12 + 0x358]
mov r11, qword [rcx + 8]
mov ecx, r11d
and ecx, 0xfff
lea r10, [rcx + rcx*2]
lea r9, [0x1401c8038]
lea rcx, [r9 + r10*8]
cmp qword [r9 + r10*8], r11
jne 0x14004a460
mov r9, rcx
jmp 0x14004a474
cmp qword [rcx + 0x10], 0
je 0x14004a45a
lea r9, [rcx + 0x18]
cmp qword [rcx + 0x18], r11
mov rcx, r9
jne 0x14004a460
mov rcx, qword [r9 + 0x10]
test rcx, rcx
je 0x14004b9fb
mov qword [rbp + 0x10d0], rcx
mov r10d, dword [0x1401e1aa8]
mov ecx, dword [0x1401e1d68]
mov r9, qword gs:[0x58]
mov rcx, qword [r9 + rcx*8]
cmp r10d, dword [rcx + 0x284]
jg 0x14004c65e
mov rsi, qword [rbp + 0x10d0]
test byte [rsi], 1
mov qword [rbp + 0xfd0], r12
mov dword [rbp + 0x1004], r8d
mov qword [rbp + 0xff8], rdx
jne 0x14004a845
lea rcx, [0x1401e1a58]
call fcn.140062580
test eax, eax
jne 0x14004c6e7
cmp dword [0x1401e1aa4], 0x7fffffff
je 0x14004c6f1
test byte [rsi], 1
jne 0x14004a84e
vpxor xmm0, xmm0, xmm0
vmovdqa xmmword [rbp + 0x10b0], xmm0
mov qword [rbp + 0x10c0], 0
mov qword [rbp + 0x10c8], 0xf
vmovdqa xmmword [rbp + 0x1040], xmm0
mov qword [rbp + 0x1050], 0
mov qword [rbp + 0x1058], 0xf
vmovdqa xmmword [rbp + 0x1020], xmm0
mov qword [rbp + 0x1030], 0
mov qword [rbp + 0x1038], 0xf
mov r13d, 6
lea r15, [rbp - 0x50]
jmp 0x14004a582
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
dec r13d
test r13d, r13d
jle 0x14004a857
mov edi, r13d
mov rax, qword [r12 + rdi*8 + 0x100]
and rax, qword [r12 + 0x140]
lea rcx, str._PNBRQK__pnbrqk
movzx esi, byte [rdi + rcx]
popcnt rbx, rax
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbp - 0x50], ymm0
cmp rbx, 0xf
ja 0x14004a5f0
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], 0xf
mov rcx, r15
mov edx, esi
mov r8, rbx
vzeroupper
call fcn.14008abb0
lea r14, [rbx + rbp]
add r14, 0xffffffffffffffb0
jmp 0x14004a636
mov r12, rbx
or r12, 0xf
cmp r12, 0x17
jae 0x14004a603
mov r12d, 0x16
lea rcx, [r12 + 1]
vzeroupper
call fcn.140060b80
mov r14, rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r12
mov rcx, rax
mov edx, esi
mov r8, rbx
call fcn.14008abb0
add r14, rbx
mov r12, qword [rbp + 0xfd0]
mov byte [r14], 0
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
mov r9, r15
jb 0x14004a64c
mov r9, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x1050]
mov rax, qword [rbp + 0x1058]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14004a680
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x1040]
mov rdx, r8
call fcn.140007be0
jmp 0x14004a6af
lea rbx, [rcx + r8]
mov qword [rbp + 0x1050], rbx
lea r14, [rbp + 0x1040]
cmp rax, 0x10
jb 0x14004a69f
mov r14, qword [rbp + 0x1040]
add rcx, r14
mov rdx, r9
call fcn.14008a510
mov byte [r14 + rbx], 0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x14004a6ee
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004a6e9
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
mov rax, qword [r12 + rdi*8 + 0x100]
and rax, qword [r12 + 0x148]
popcnt rbx, rax
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbp - 0x50], ymm0
cmp rbx, 0xf
ja 0x14004a740
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], 0xf
mov rcx, r15
mov edx, esi
mov r8, rbx
vzeroupper
call fcn.14008abb0
lea r14, [rbx + rbp]
add r14, 0xffffffffffffffb0
jmp 0x14004a784
mov rdi, rbx
or rdi, 0xf
cmp rdi, 0x17
jae 0x14004a752
mov edi, 0x16
lea rcx, [rdi + 1]
vzeroupper
call fcn.140060b80
mov r14, rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rdi
mov rcx, rax
mov edx, esi
mov r8, rbx
call fcn.14008abb0
add r14, rbx
mov r12, qword [rbp + 0xfd0]
mov byte [r14], 0
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
mov r9, r15
jb 0x14004a79a
mov r9, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x1030]
mov rax, qword [rbp + 0x1038]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14004a7d0
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x1020]
mov rdx, r8
call fcn.140007be0
mov rsi, qword [rbp + 0x10d0]
jmp 0x14004a805
lea rsi, [rcx + r8]
mov qword [rbp + 0x1030], rsi
lea rdi, [rbp + 0x1020]
cmp rax, 0x10
jb 0x14004a7ef
mov rdi, qword [rbp + 0x1020]
add rcx, rdi
mov rdx, r9
call fcn.14008a510
mov byte [rdi + rsi], 0
mov rsi, qword [rbp + 0x10d0]
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x14004a57f
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004a57a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jb 0x14004a570
vzeroupper
call fcn.14006b33c
mov rsi, qword [rsi + 8]
jmp 0x14004b8cf
mov rsi, qword [rsi + 8]
jmp 0x14004b8ba
mov rcx, qword [rsi + 0x20]
mov rax, qword [r12 + 0x358]
mov rax, qword [rax + 8]
mov qword [rbp + 0x10a8], rcx
mov qword [rbp + 0x10a0], rax
cmp rcx, rax
jne 0x14004a907
mov rsi, qword [rbp + 0x1050]
movabs rdi, 0x7fffffffffffffff
cmp rsi, rdi
je 0x14004c705
mov r14, qword [rbp + 0x1040]
mov r12, qword [rbp + 0x1058]
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbp + 0x1070], ymm0
lea r15, [rsi + 1]
cmp r15, 0x10
jb 0x14004a98c
cmp rsi, 0xffffffffffffffff
jl 0x14004a8e7
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x14004a9ab
lea rcx, [rdi + 0x28]
vzeroupper
call fcn.140060b80
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14004a9ba
mov rsi, qword [rbp + 0x1030]
movabs rdi, 0x7fffffffffffffff
cmp rsi, rdi
je 0x14004c70a
mov r14, qword [rbp + 0x1020]
mov r12, qword [rbp + 0x1038]
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rbp + 0x1070], ymm0
lea r15, [rsi + 1]
cmp r15, 0x10
jb 0x14004a99a
cmp rsi, 0xffffffffffffffff
jl 0x14004a96c
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov edi, 0x16
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x14004aa49
lea rcx, [rdi + 0x28]
vzeroupper
call fcn.140060b80
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14004aa58
lea rbx, [rbp + 0x1070]
mov edi, 0xf
jmp 0x14004a9c1
lea rbx, [rbp + 0x1070]
mov edi, 0xf
jmp 0x14004aa5f
lea rcx, [rdi + 1]
vzeroupper
call fcn.140060b80
mov rbx, rax
mov qword [rbp + 0x1070], rbx
cmp r12, 0x10
lea rdx, [rbp + 0x1040]
cmovae rdx, r14
mov qword [rbp + 0x1080], r15
mov qword [rbp + 0x1088], rdi
mov rcx, rbx
mov r8, rsi
vzeroupper
call fcn.14008a510
mov word [rbx + rsi], 0x76
mov r8, qword [rbp + 0x1030]
cmp qword [rbp + 0x1038], 0x10
jb 0x14004aa0c
mov r9, qword [rbp + 0x1020]
jmp 0x14004aa13
lea r9, [rbp + 0x1020]
mov rcx, qword [rbp + 0x1080]
mov rax, qword [rbp + 0x1088]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14004aae3
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x1070]
mov rdx, r8
call fcn.140007be0
jmp 0x14004aade
lea rcx, [rdi + 1]
vzeroupper
call fcn.140060b80
mov rbx, rax
mov qword [rbp + 0x1070], rbx
cmp r12, 0x10
lea rdx, [rbp + 0x1020]
cmovae rdx, r14
mov qword [rbp + 0x1080], r15
mov qword [rbp + 0x1088], rdi
mov rcx, rbx
mov r8, rsi
vzeroupper
call fcn.14008a510
mov word [rbx + rsi], 0x76
mov r8, qword [rbp + 0x1050]
cmp qword [rbp + 0x1058], 0x10
jb 0x14004aaaa
mov r9, qword [rbp + 0x1040]
jmp 0x14004aab1
lea r9, [rbp + 0x1040]
mov rcx, qword [rbp + 0x1080]
mov rax, qword [rbp + 0x1088]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14004aae3
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x1070]
mov rdx, r8
call fcn.140007be0
mov rsi, rax
jmp 0x14004ab16
lea rdi, [rcx + r8]
mov qword [rbp + 0x1080], rdi
lea rsi, [rbp + 0x1070]
mov rbx, rsi
cmp rax, 0x10
jb 0x14004ab05
mov rbx, qword [rbp + 0x1070]
add rcx, rbx
mov rdx, r9
call fcn.14008a510
add rdi, rbx
mov byte [rdi], 0
vmovdqu ymm0, ymmword [rsi]
vmovdqu ymmword [rbp - 0x50], ymm0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jae 0x14004ab69
mov qword [rsp + 0x20], 5
lea r9, str..rtbz
lea rcx, [rbp - 0x50]
mov edx, 5
vzeroupper
call fcn.140007be0
jmp 0x14004ab92
lea rax, [rcx + 5]
mov qword [rbp - 0x40], rax
lea rax, [rbp - 0x50]
mov r8, rax
cmp rdx, 0x10
jb 0x14004ab82
mov r8, qword [rbp - 0x50]
mov dword [r8 + rcx], 0x6274722e
mov word [r8 + rcx + 4], 0x7a
mov rsi, qword [rax]
vmovdqu xmm6, xmmword [rax + 8]
mov rdi, qword [rax + 0x18]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rax, qword [rbp + 0x10c8]
cmp rax, 0x10
jb 0x14004abf9
mov rcx, qword [rbp + 0x10b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004abf1
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.140060c2c
mov qword [rbp + 0x10b0], rsi
vmovdqu xmmword [rbp + 0x10b8], xmm6
mov qword [rbp + 0x10c8], rdi
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x14004ac51
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004ac49
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.140060c2c
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rax, qword [rbp + 0x10a0]
cmp qword [rbp + 0x10a8], rax
mov rax, qword [rbp + 0x1088]
cmp rax, 0x10
jb 0x14004acbb
mov rcx, qword [rbp + 0x1070]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004acb3
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
vzeroupper
call fcn.140060c2c
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x10b0]
vzeroupper
call fcn.14004da00
mov rax, qword [rbp + 0x10d0]
lea r8, [rax + 0x18]
lea rdx, [rax + 8]
lea rcx, [rbp - 0x50]
mov r9d, 1
call fcn.140050d80
mov rdi, rax
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea rcx, vtable.TBFile.0
mov qword [rbp + rax - 0x50], rcx
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xd0]
mov dword [rbp + rax - 0x54], ecx
mov rax, qword [rbp + 0x70]
cmp rax, 0x10
mov r12, qword [rbp + 0xfd0]
jb 0x14004ad5b
mov rcx, qword [rbp + 0x58]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004ad56
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
lea rsi, [rbp + 0x80]
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0xf
mov byte [rbp + 0x58], 0
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea rcx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax - 0x50], rcx
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x54], ecx
lea rcx, [rbp - 0x40]
call fcn.140003f20
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x80], rax
mov rcx, rsi
call fcn.140061230
test rdi, rdi
mov rsi, qword [rbp + 0x10d0]
je 0x14004b7e4
inc rdi
movzx eax, byte [rsi + 0x34]
test rax, rax
setne cl
cmp byte [rsi + 0x37], 0
setne dl
and dl, cl
mov byte [rbp + 0x1018], dl
lea r13, [rsi + 0x38]
lea rax, [rax + rax*2]
inc rax
mov qword [rbp + 0x1010], rax
lea r14, [rsi + 0xb8]
lea rax, [rsi + 0x118]
mov qword [rbp + 0xfc8], rax
lea rax, [rsi + 0xbc]
mov qword [rbp + 0xfc0], rax
vpxor xmm6, xmm6, xmm6
vpbroadcastb xmm7, byte [0x14008f680]
xor r15d, r15d
mov qword [rbp + 0x1008], r14
mov r12, rdi
mov qword [rbp + 0x1098], r13
jmp 0x14004ae81
mov rax, qword [rbp + 0x1068]
inc rax
mov qword [r10 + rax*8 + 0xa0], rdi
mov r15, qword [rbp + 0x10a8]
inc r15
mov rbx, qword [rbp + 0x1010]
cmp r15, rbx
mov r13, qword [rbp + 0x1098]
mov r14, qword [rbp + 0x1008]
mov r12, qword [rbp + 0x10a0]
je 0x14004b3aa
cmp byte [rsi + 0x34], 0
mov eax, 0
cmovne rax, r15
mov rcx, rax
shl rcx, 8
lea rdi, [rcx + rax*8]
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [r13 + rdi + 0x30], ymm0
vmovdqu ymmword [r13 + rdi + 0x20], ymm0
vmovdqu ymmword [r13 + rdi], ymm0
mov rcx, qword [r13 + rdi + 0x50]
test rcx, rcx
je 0x14004aef1
mov rdx, qword [r13 + rdi + 0x60]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14004aee9
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14004a83d
add rdx, 0x27
mov rcx, rax
vzeroupper
call fcn.140060c2c
lea rax, [rdi + r13]
add rax, 0x50
vmovdqu xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov rcx, qword [r13 + rdi + 0x68]
test rcx, rcx
je 0x14004af44
mov rdx, qword [r13 + rdi + 0x78]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14004af3c
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14004a83d
add rdx, 0x27
mov rcx, rax
vzeroupper
call fcn.140060c2c
lea rax, [rdi + r13]
add rax, 0x68
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [rax + 0x80], ymm0
vmovdqu ymmword [rax + 0x60], ymm0
vmovdqu ymmword [rax + 0x40], ymm0
vmovdqu ymmword [rax + 0x20], ymm0
vmovdqu ymmword [rax], ymm0
movzx ecx, byte [r12]
cmp byte [rbp + 0x1018], 0
je 0x14004af90
movzx eax, byte [r12 + 1]
and eax, 0xf
mov r8d, 2
jmp 0x14004af9b
mov r8d, 1
mov eax, 0xf
lea r9, [r12 + r8]
mov r11d, dword [rsi + 0x30]
cmp byte [rsi + 0x34], 0
mov r10, r15
mov edx, 0
cmove r10, rdx
test r11d, r11d
mov qword [rbp + 0x10a8], r15
jle 0x14004b010
cmp r11d, 0x20
jb 0x14004aff4
mov rdx, r10
shl rdx, 8
lea rdi, [rdx + r10*8]
lea rdx, [r14 + rdi]
lea rbx, [r8 + r11]
add rbx, r12
cmp rdx, rbx
jae 0x14004b0cb
lea rdx, [rdi + r11*4]
add rdx, r14
cmp r9, rdx
jae 0x14004b0cb
xor edx, edx
test r11b, 1
jne 0x14004b040
mov r8, rdx
jmp 0x14004b068
mov rdx, r10
shl rdx, 8
lea rdx, [rdx + r10*8]
lea r8, [rdx + r13]
add r8, 0xe0
mov dword [r13 + rdx + 0xe0], 1
xor edx, edx
jmp 0x14004b210
movzx r8d, byte [r9]
and r8d, 0xf
mov rdi, r10
shl rdi, 8
lea rdi, [rdi + r10*8]
add rdi, r13
mov dword [rdi + rdx*4 + 0x80], r8d
mov r8, rdx
or r8, 1
inc r9
not rdx
add rdx, r11
je 0x14004b160
mov rdx, r11
sub rdx, r8
mov rdi, r10
shl rdi, 8
lea r10, [rdi + r10*8]
lea r8, [r10 + r8*4]
add r8, qword [rbp + 0xfc0]
xor r10d, r10d
nop word cs:[rax + rax]
movzx edi, byte [r9 + r10]
and edi, 0xf
mov dword [r8 + r10*4 - 4], edi
movzx edi, byte [r9 + r10 + 1]
and edi, 0xf
mov dword [r8 + r10*4], edi
add r10, 2
cmp rdx, r10
jne 0x14004b0a0
add r9, r10
jmp 0x14004b160
mov edx, r11d
and edx, 0xffffffe0
add r9, rdx
add rdi, qword [rbp + 0xfc8]
add r8, r12
add r8, 0x18
xor ebx, ebx
nop word cs:[rax + rax]
vmovq xmm0, qword [r8 + rbx - 0x18]
vmovq xmm1, qword [r8 + rbx - 0x10]
vmovq xmm2, qword [r8 + rbx - 8]
vmovq xmm3, qword [r8 + rbx]
vpand xmm0, xmm0, xmm7
vpand xmm1, xmm1, xmm7
vpand xmm2, xmm2, xmm7
vpand xmm3, xmm3, xmm7
vpmovzxbd ymm0, xmm0
vpmovzxbd ymm1, xmm1
vpmovzxbd ymm2, xmm2
vpmovzxbd ymm3, xmm3
vmovdqu ymmword [rdi + rbx*4 - 0x60], ymm0
vmovdqu ymmword [rdi + rbx*4 - 0x40], ymm1
vmovdqu ymmword [rdi + rbx*4 - 0x20], ymm2
vmovdqu ymmword [rdi + rbx*4], ymm3
add rbx, 0x20
cmp rdx, rbx
jne 0x14004b0f0
cmp rdx, r11
jne 0x14004aff6
nop dword [rax + rax]
movzx ebx, byte [rsi + 0x34]
movzx r14d, byte [rsi + 0x35]
xor edx, edx
test bl, bl
mov r10, r15
cmove r10, rdx
mov r8, r10
shl r8, 8
lea rdi, [r8 + r10*8]
lea r8, [rdi + r13]
add r8, 0xe0
mov dword [r13 + rdi + 0xe0], 1
cmp r11d, 2
jl 0x14004b210
cmp r14b, 1
mov r11d, 3
sbb r11d, 0
xor edx, edx
test bl, bl
cmovne r11d, edx
lea r14, [rsi + rdi]
mov r15d, 0x2f
jmp 0x14004b1e6
movsxd rbx, edx
lea r12, [rdi + r13]
inc dword [r12 + rbx*4 + 0xe0]
movsxd rbx, dword [rsi + 0x30]
lea r12, [r15 + 1]
add r15, 0xffffffffffffffd3
dec r11d
cmp r15, rbx
mov r15, r12
jge 0x14004b210
cmp r11d, 1
jg 0x14004b1c0
mov ebx, dword [r14 + r15*4]
cmp ebx, dword [r14 + r15*4 - 4]
je 0x14004b1c0
movsxd rbx, edx
inc edx
lea r12, [rdi + r13]
mov dword [r12 + rbx*4 + 0xe4], 1
jmp 0x14004b1cf
mov qword [rbp + 0x10a0], r9
movsxd r11, edx
mov r9, r10
shl r9, 8
lea r14, [r9 + r10*8]
lea r10, [r14 + r13]
mov qword [rbp + 0x1068], r11
mov dword [r10 + r11*4 + 0xe4], 0
cmp byte [rsi + 0x34], 0
setne r11b
cmp byte [rsi + 0x37], 0
setne r9b
xor r15d, r15d
mov ebx, dword [r8]
and r9b, r11b
je 0x14004b25f
mov r15d, dword [r13 + r14 + 0xe4]
and ecx, 0xf
movzx r11d, r9b
inc r11d
test cl, cl
sete r9b
cmp r11d, edx
jle 0x14004b285
test cl, cl
je 0x14004b285
mov edi, 1
test eax, eax
jne 0x14004ae40
mov rdi, qword [rbp + 0x1098]
add r14, rdi
add r14, 0xa8
add ebx, r15d
mov r13d, 0x40
sub r13d, ebx
mov r15d, 1
sub r15d, ecx
mov edi, 1
xor ebx, ebx
nop word cs:[rax + rax]
mov r12d, ebx
lea ecx, [rax + r12]
test r9b, 1
je 0x14004b300
mov qword [r14 - 8], rdi
cmp byte [rsi + 0x34], 0
je 0x14004b337
movsxd r9, dword [r8]
shl r9, 4
lea rbx, [0x1401e19a0]
add r9, rbx
mov rbx, qword [rbp + 0x10a8]
mov r9d, dword [r9 + rbx*4]
jmp 0x14004b377
test ecx, ecx
je 0x14004b34c
movsxd r11, r11d
mov qword [r10 + r11*8 + 0xa0], rdi
movsxd rsi, dword [r10 + r11*4 + 0xe0]
movsxd r13, r13d
mov r9, rsi
shl r9, 8
lea rbx, [0x1401e0ca0]
add r9, rbx
mov r9d, dword [r9 + r13*4]
inc r11d
sub r13d, esi
jmp 0x14004b370
cmp byte [rsi + 0x35], 0
mov r9d, 0x7a64
mov ebx, 0x1ce
cmove r9d, ebx
jmp 0x14004b377
mov qword [r14], rdi
movsxd r9, dword [r14 + 0x3c]
movsxd rbx, dword [r8]
mov esi, 0x30
sub rsi, rbx
shl r9, 8
lea rbx, [0x1401e0ca0]
add r9, rbx
mov r9d, dword [r9 + rsi*4]
mov rsi, qword [rbp + 0x10d0]
movsxd r9, r9d
imul rdi, r9
cmp r15d, r12d
sete r9b
lea ebx, [r12 - 1]
cmp r11d, edx
jle 0x14004b2c0
cmp r15d, r12d
je 0x14004b2c0
cmp ecx, 1
je 0x14004b2c0
jmp 0x14004ae40
mov eax, r12d
and eax, 1
add rax, r12
xor edi, edi
mov r12, qword [rbp + 0xfd0]
nop dword [rax]
cmp byte [rsi + 0x34], 0
je 0x14004b3d0
mov rcx, rdi
jmp 0x14004b3d2
xor ecx, ecx
mov rdx, rcx
shl rdx, 8
lea rcx, [rdx + rcx*8]
add rcx, r13
mov rdx, rax
vzeroupper
call fcn.140050fa0
inc rdi
cmp rdi, rbx
mov rsi, qword [rbp + 0x10d0]
jne 0x14004b3c0
mov qword [rsi + 0x10], rax
movzx ecx, byte [rsi + 0x34]
xor edx, edx
movzx r8d, byte [0x1401e1a54]
mov r10, rax
jmp 0x14004b542
mov esi, r10d
and esi, 1
lea r11, [r10 + rsi]
mov edi, r11d
sub edi, eax
shr edi, 1
inc edi
mov word [r13 + r9 + 0x100], di
movzx r10d, word [r10 + rsi]
mov esi, r10d
shr esi, 8
test r8b, r8b
mov edi, esi
cmove edi, r10d
cmovne esi, r10d
shl edi, 8
movzx r10d, sil
or r10d, edi
movzx esi, r10w
lea r10, [r11 + rsi*2]
add r10, 2
mov edi, r10d
sub edi, eax
shr edi, 1
inc edi
mov word [r13 + r9 + 0x102], di
movzx r11d, word [r11 + rsi*2 + 2]
mov esi, r11d
shr esi, 8
test r8b, r8b
mov edi, esi
cmove edi, r11d
cmovne esi, r11d
shl edi, 8
movzx r11d, sil
or r11d, edi
movzx esi, r11w
lea r11, [r10 + rsi*2]
add r11, 2
mov edi, r11d
sub edi, eax
shr edi, 1
inc edi
mov word [r13 + r9 + 0x104], di
movzx r10d, word [r10 + rsi*2 + 2]
mov esi, r10d
shr esi, 8
test r8b, r8b
mov edi, esi
cmove edi, r10d
cmovne esi, r10d
shl edi, 8
movzx r10d, sil
or r10d, edi
movzx r10d, r10w
lea rsi, [r11 + r10*2]
add rsi, 2
mov edi, esi
sub edi, eax
shr edi, 1
inc edi
mov word [r13 + r9 + 0x106], di
movzx r9d, word [r11 + r10*2 + 2]
mov r10d, r9d
shr r10d, 8
test r8b, r8b
mov r11d, r10d
cmove r11d, r9d
cmovne r10d, r9d
shl r11d, 8
movzx r9d, r10b
or r9d, r11d
movzx r9d, r9w
lea r10, [rsi + r9*2]
add r10, 2
mov rsi, qword [rbp + 0x10d0]
inc rdx
cmp rbx, rdx
je 0x14004b5f4
test cl, cl
mov r9d, 0
cmovne r9, rdx
mov r11, r9
shl r11, 8
lea r9, [r11 + r9*8]
movzx r11d, byte [r13 + r9]
test r11b, 2
je 0x14004b536
test r11b, 0x10
jne 0x14004b420
mov r11d, r10d
sub r11d, eax
inc r11d
mov word [r13 + r9 + 0x100], r11w
movzx r11d, byte [r10]
lea rsi, [r11 + r10]
lea rdi, [r11 + r10]
inc rdi
sub edi, eax
inc edi
mov word [r13 + r9 + 0x102], di
movzx r10d, byte [r11 + r10 + 1]
lea r11, [r10 + rsi]
inc r11
lea rdi, [r10 + rsi]
add rdi, 2
sub edi, eax
inc edi
mov word [r13 + r9 + 0x104], di
movzx r10d, byte [r10 + rsi + 2]
lea rsi, [r10 + r11]
inc rsi
lea rdi, [r10 + r11]
add rdi, 2
sub edi, eax
inc edi
mov word [r13 + r9 + 0x106], di
movzx r9d, byte [r10 + r11 + 2]
lea r10, [r9 + rsi]
add r10, 2
jmp 0x14004b52f
mov eax, r10d
and eax, 1
add rax, r10
mov rdx, rbx
dec rdx
je 0x14004be96
mov r9d, ebx
and r9d, 4
xor r10d, r10d
xor r8d, r8d
nop word cs:[rax + rax]
lea r11, [r8 + 1]
test cl, cl
mov rsi, r8
cmove rsi, r10
cmove r11, r10
mov rdi, rsi
shl rdi, 8
lea rsi, [rdi + rsi*8]
mov rdi, qword [r13 + rsi + 0x40]
lea rdi, [rdi + rdi*2]
lea rdi, [rax + rdi*2]
mov qword [r13 + rsi + 0x38], rax
mov rax, r11
shl rax, 8
lea r11, [rax + r11*8]
mov rax, qword [r13 + r11 + 0x40]
lea rax, [rax + rax*2]
lea rax, [rdi + rax*2]
mov qword [r13 + r11 + 0x38], rdi
add r8, 2
cmp r8, r9
jne 0x14004b620
mov rsi, qword [rbp + 0x10d0]
test bl, 1
je 0x14004b6a6
xor r9d, r9d
test cl, cl
cmove r8, r9
mov r9, r8
shl r9, 8
lea r8, [r9 + r8*8]
mov r9, qword [r13 + r8 + 0x40]
lea r9, [r9 + r9*2]
mov qword [r13 + r8 + 0x38], rax
lea rax, [rax + r9*2]
test rdx, rdx
je 0x14004bea7
mov r9d, ebx
and r9d, 4
xor r10d, r10d
xor r8d, r8d
nop dword [rax]
lea r11, [r8 + 1]
test cl, cl
mov rsi, r8
cmove rsi, r10
cmove r11, r10
mov rdi, rsi
shl rdi, 8
lea rsi, [rdi + rsi*8]
mov edi, dword [r13 + rsi + 0x30]
lea rdi, [rax + rdi*2]
mov qword [r13 + rsi + 0x28], rax
mov rax, r11
shl rax, 8
lea r11, [rax + r11*8]
mov eax, dword [r13 + r11 + 0x30]
lea rax, [rdi + rax*2]
mov qword [r13 + r11 + 0x28], rdi
add r8, 2
cmp r8, r9
jne 0x14004b6c0
mov rsi, qword [rbp + 0x10d0]
test bl, 1
je 0x14004b73a
xor r9d, r9d
test cl, cl
cmove r8, r9
mov r9, r8
shl r9, 8
lea r8, [r9 + r8*8]
mov r9d, dword [r13 + r8 + 0x30]
mov qword [r13 + r8 + 0x28], rax
lea rax, [rax + r9*2]
test rdx, rdx
je 0x14004beb8
mov r8d, ebx
and r8d, 4
xor r9d, r9d
xor edx, edx
nop
test cl, cl
mov r10, rdx
cmove r10, r9
lea r11, [rdx + 1]
cmove r11, r9
mov rsi, r10
shl rsi, 8
lea r10, [rsi + r10*8]
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov esi, dword [r13 + r10 + 4]
mov qword [r13 + r10 + 0x48], rax
imul rsi, qword [r13 + r10 + 8]
mov r10, r11
shl r10, 8
lea r10, [r10 + r11*8]
lea r11, [rax + rsi]
add r11, 0x3f
and r11, 0xffffffffffffffc0
mov eax, dword [r13 + r10 + 4]
imul rax, qword [r13 + r10 + 8]
add rax, r11
mov qword [r13 + r10 + 0x48], r11
add rdx, 2
cmp rdx, r8
jne 0x14004b750
mov rsi, qword [rbp + 0x10d0]
test bl, 1
je 0x14004b7e4
xor r8d, r8d
test cl, cl
cmove rdx, r8
mov rcx, rdx
shl rcx, 8
lea rcx, [rcx + rdx*8]
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov qword [r13 + rcx + 0x48], rax
mov byte [rsi], 1
mov rsi, qword [rsi + 8]
mov rax, qword [rbp + 0x1038]
cmp rax, 0x10
jb 0x14004b830
mov rcx, qword [rbp + 0x1020]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004b82b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
mov rax, qword [rbp + 0x1058]
cmp rax, 0x10
jb 0x14004b875
mov rcx, qword [rbp + 0x1040]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004b870
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
mov rax, qword [rbp + 0x10c8]
cmp rax, 0x10
jb 0x14004b8ba
mov rcx, qword [rbp + 0x10b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14004b8b5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14004a83d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140060c2c
lea rcx, [0x1401e1a58]
call fcn.140062588
mov rdx, qword [rbp + 0xff8]
xor eax, eax
test rsi, rsi
mov r9, qword [rbp + 0x10d0]
je 0x14004b9fb
mov r8, qword [r9 + 0x20]
mov rdi, qword [r9 + 0x28]
cmp r8, rdi
sete cl
mov eax, dword [r12 + 0x364]
test eax, eax
setne dl
and dl, cl
mov rcx, qword [r12 + 0x358]
cmp qword [rcx + 8], r8
setne cl
or cl, dl
movzx ecx, cl
mov r10, r9
xor esi, esi
test cl, cl
mov edx, 0x38
cmove edx, esi
lea r9d, [rcx*8]
xor eax, ecx
movzx r15d, byte [r10 + 0x34]
test r15b, r15b
je 0x14004ba21
mov ecx, dword [r10 + 0xb8]
xor ecx, r9d
sar ecx, 3
movsxd rcx, ecx
mov r11, qword [r12 + 0x108]
and r11, qword [r12 + rcx*8 + 0x140]
xor r14d, r14d
mov rcx, r11
nop dword [rax]
mov r10, r14
tzcnt rsi, rcx
xor esi, edx
inc r14
blsr rcx, rcx
mov dword [rbp + r10*4 + 0x10b0], esi
jne 0x14004b960
test r10d, r10d
je 0x14004ba29
mov qword [rbp + 0x10a0], rdi
mov byte [rbp + 0x10a8], r15b
lea rdi, [rbp + 0x10b4]
mov esi, dword [rbp + 0x10b0]
mov r10d, r14d
lea rbx, [r10*4 - 4]
lea r13, [rbp + 0x10b0]
lea r15, [0x1401e12a0]
mov dword [rbp + 0x1068], esi
jmp 0x14004b9e0
add rdi, 4
mov esi, r10d
mov r13, r12
add rbx, 0xfffffffffffffffc
je 0x14004ba06
movsxd r10, dword [rdi]
movsxd r12, esi
mov ecx, dword [r15 + r12*4]
mov r12, rdi
cmp ecx, dword [r15 + r10*4]
jl 0x14004b9d0
mov r10d, esi
mov r12, r13
jmp 0x14004b9d0
mov dword [rdx], 0
jmp 0x14004c618
mov r10d, dword [r12]
movzx r15d, byte [rbp + 0x10a8]
mov rdi, qword [rbp + 0x10a0]
mov ecx, dword [rbp + 0x1068]
jmp 0x14004ba3a
xor r11d, r11d
xor r14d, r14d
jmp 0x14004ba5f
lea r12, [rbp + 0x10b0]
mov r10d, dword [rbp + 0x10b0]
mov ecx, r10d
mov dword [rbp + 0x10b0], r10d
mov dword [r12], ecx
mov ecx, dword [rbp + 0x10b0]
and ecx, 7
mov esi, ecx
xor esi, 7
cmp esi, ecx
cmovge esi, ecx
mov r12, qword [rbp + 0xfd0]
cmp r8, rdi
sete cl
xor r10d, r10d
test r15b, r15b
sete r8b
mov edi, esi
cmovne r10, rdi
mov rsi, r10
shl rsi, 8
lea rbx, [rsi + r10*8]
mov rsi, qword [rbp + 0x10d0]
movzx r10d, byte [rsi + rbx + 0x38]
and r10d, 1
cmp eax, r10d
je 0x14004baaf
and cl, r8b
jne 0x14004baaf
mov rax, qword [rbp + 0xff8]
mov dword [rax], 0xffffffff
xor eax, eax
jmp 0x14004c618
mov byte [rbp + 0x10a8], r15b
mov qword [rbp + 0x1008], rdi
lea r13, [rsi + 0x38]
xor r11, qword [r12 + 0x100]
mov qword [rbp + 0x1068], rbx
lea rax, [rsi + rbx]
add rax, 0x38
mov qword [rbp + 0x1018], rax
movsxd r10, r14d
mov rcx, r10
shl rcx, 0x20
movabs rax, 0xffffffff00000000
add rax, rcx
movabs rsi, 0x100000000
mov r8, r10
nop word cs:[rax + rax]
add rax, rsi
tzcnt rcx, r11
mov edi, ecx
xor edi, edx
mov dword [rbp + r8*4 + 0x10b0], edi
mov ecx, dword [r12 + rcx*4]
xor ecx, r9d
mov dword [rbp + r8*4 + 0x1040], ecx
inc r8
blsr r11, r11
jne 0x14004bb10
lea edx, [r8 - 1]
cmp r14d, edx
jge 0x14004bbc3
mov r9, rax
sar r9, 0x20
mov rcx, qword [rbp + 0x1068]
lea r11, [rcx + r13]
mov rsi, r10
jmp 0x14004bb9a
mov r15d, dword [rbp + rdi*4 + 0x1040]
mov dword [rbp + rdi*4 + 0x1040], ebx
mov dword [rbp + rcx*4 + 0x1044], r15d
mov ebx, dword [rbp + rdi*4 + 0x10b0]
mov r15d, dword [rbp + rcx*4 + 0x10b4]
mov dword [rbp + rdi*4 + 0x10b0], r15d
mov dword [rbp + rcx*4 + 0x10b4], ebx
cmp rsi, r9
je 0x14004bbc3
mov rdi, rsi
inc rsi
mov ebx, dword [r11 + rdi*4 + 0x80]
mov rcx, rdi
nop dword [rax + rax]
cmp ebx, dword [rbp + rcx*4 + 0x1044]
je 0x14004bb60
inc rcx
cmp rcx, r9
jl 0x14004bbb0
jmp 0x14004bb95
mov r9d, dword [rbp + 0x10b0]
test edx, edx
js 0x14004bc98
mov ecx, r9d
and ecx, 4
je 0x14004bc98
mov r9d, r8d
mov r11d, r8d
cmp r9, 0x20
jae 0x14004bbf2
xor r9d, r9d
jmp 0x14004bc80
mov esi, r8d
and esi, 0x1f
sub r9, rsi
mov ecx, r8d
and ecx, 0x1f
mov rdi, r11
sub rdi, rcx
xor ecx, ecx
vpbroadcastd ymm0, dword [0x14008f784]
nop word cs:[rax + rax]
vpxor ymm1, ymm0, ymmword [rbp + rcx*4 + 0x10b0]
vpxor ymm2, ymm0, ymmword [rbp + rcx*4 + 0x10d0]
vpxor ymm3, ymm0, ymmword [rbp + rcx*4 + 0x10f0]
vpxor ymm4, ymm0, ymmword [rbp + rcx*4 + 0x1110]
vmovdqu ymmword [rbp + rcx*4 + 0x10b0], ymm1
vmovdqu ymmword [rbp + rcx*4 + 0x10d0], ymm2
vmovdqu ymmword [rbp + rcx*4 + 0x10f0], ymm3
vmovdqu ymmword [rbp + rcx*4 + 0x1110], ymm4
add rcx, 0x20
cmp rdi, rcx
jne 0x14004bc20
test rsi, rsi
je 0x14004bc91
nop word cs:[rax + rax]
xor byte [rbp + r9*4 + 0x10b0], 7
inc r9
cmp r11, r9
jne 0x14004bc80
mov r9d, dword [rbp + 0x10b0]
cmp byte [rbp + 0x10a8], 0
mov rsi, qword [rbp + 0x1068]
mov qword [rbp + 0x1010], r13
je 0x14004bd76
movsxd rax, r9d
mov rcx, r10
shl rcx, 8
lea rdx, [0x1401e13a0]
add rdx, rcx
movsxd rax, dword [rdx + rax*4]
mov qword [rbp + 0x1098], rax
lea rsi, [r10*4 + 0x10b0]
add rsi, rbp
cmp r14d, 0x21
jg 0x14004bd9c
cmp r14d, 1
je 0x14004be83
cmp r14d, 2
je 0x14004be5f
lea r15, [rbp + 0x10b8]
lea rbx, [0x1401e12a0]
mov r12, r15
jmp 0x14004bd39
mov r8, r12
lea rdi, [rbp + 0x10b4]
sub r8, rdi
mov rcx, r15
mov rdx, rdi
vzeroupper
call fcn.14008a510
mov dword [rdi], r13d
add r12, 4
cmp r12, rsi
je 0x14004be52
mov r13d, dword [r12]
movsxd rcx, dword [rbp + 0x10b4]
movsxd rax, r13d
mov r8d, dword [rbx + rax*4]
cmp r8d, dword [rbx + rcx*4]
jl 0x14004bd0e
movsxd rdx, dword [r12 - 4]
mov rdi, r12
cmp r8d, dword [rbx + rdx*4]
jge 0x14004bd29
nop
mov dword [rdi], edx
movsxd rdx, dword [rdi - 8]
mov r8d, dword [rbx + rax*4]
add rdi, 0xfffffffffffffffc
cmp r8d, dword [rbx + rdx*4]
jl 0x14004bd60
jmp 0x14004bd29
test edx, edx
js 0x14004c020
cmp r9d, 0x20
jl 0x14004c020
mov ecx, r8d
cmp rcx, 0x20
jae 0x14004bf78
xor ecx, ecx
jmp 0x14004bffe
lea r15, [r10*4 - 4]
sar r15, 2
mov rax, r15
shr rax, 1
mov rbx, r15
sub rbx, rax
cmp rbx, 0x400
jbe 0x14004be0a
mov rax, rbx
shr rax, 0x3e
jne 0x14004bdf8
lea rdi, [0x14008fc50]
lea rcx, [rbx*4]
mov rdx, rdi
vzeroupper
call fcn.140060bbc
test rax, rax
jne 0x14004c099
mov rax, rbx
shr rax, 1
cmp rbx, 1
mov rbx, rax
ja 0x14004bdcd
xor eax, eax
mov rcx, rax
vzeroupper
call fcn.140060c1c
mov ebx, 0x400
lea rax, [rbp - 0x40]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rbx
lea rcx, [0x1400517b0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
lea rcx, [rbp + 0x10b4]
mov rdx, rsi
mov r8, r15
mov r9, rax
vzeroupper
call fcn.140051b80
cmp qword [rbp - 0x48], 0x401
jb 0x14004be52
mov rcx, qword [rbp - 0x50]
call fcn.140060c1c
cmp r14d, 2
mov r13, qword [rbp + 0x1010]
jl 0x14004be83
mov eax, r14d
dec rax
cmp r14d, 2
jne 0x14004bec8
mov ecx, 1
mov rsi, qword [rbp + 0x10d0]
mov rdx, qword [rbp + 0x1098]
jmp 0x14004bf43
mov rsi, qword [rbp + 0x10d0]
mov rdx, qword [rbp + 0x1098]
jmp 0x14004c2fd
xor r8d, r8d
test bl, 1
jne 0x14004b680
jmp 0x14004b6a6
xor r8d, r8d
test bl, 1
jne 0x14004b718
jmp 0x14004b73a
xor edx, edx
test bl, 1
jne 0x14004b7c3
jmp 0x14004b7e4
mov rdi, rax
and rdi, 0xfffffffffffffffe
neg rdi
mov ecx, 1
lea r8, [0x1401e0ea0]
lea r9, [0x1401e12a0]
mov rsi, qword [rbp + 0x10d0]
mov rdx, qword [rbp + 0x1098]
nop word cs:[rax + rax]
movsxd r10, dword [rbp + rcx*4 + 0x10b0]
movsxd r10, dword [r9 + r10*4]
movsxd r10, dword [r8 + r10*4 - 0x100]
add r10, rdx
movsxd r11, dword [rbp + rcx*4 + 0x10b4]
movsxd r11, dword [r9 + r11*4]
movsxd rdx, dword [r8 + r11*4]
add rdx, r10
add r8, 0x200
lea r10, [rdi + rcx]
add r10, 2
add rcx, 2
cmp r10, 1
jne 0x14004bf00
test al, 1
je 0x14004c2fd
movsxd rax, dword [rbp + rcx*4 + 0x10b0]
lea r8, [0x1401e12a0]
movsxd rax, dword [r8 + rax*4]
shl rcx, 8
lea r8, [0x1401e0ca0]
add r8, rcx
movsxd rax, dword [r8 + rax*4]
add rdx, rax
jmp 0x14004c2fd
mov r9d, r8d
and r9d, 0x1f
sub rcx, r9
mov r10d, r8d
mov r11d, r8d
and r11d, 0x1f
sub r10, r11
xor r11d, r11d
vpbroadcastd ymm0, dword [0x14008f788]
nop dword [rax + rax]
vpxor ymm1, ymm0, ymmword [rbp + r11*4 + 0x10b0]
vpxor ymm2, ymm0, ymmword [rbp + r11*4 + 0x10d0]
vpxor ymm3, ymm0, ymmword [rbp + r11*4 + 0x10f0]
vpxor ymm4, ymm0, ymmword [rbp + r11*4 + 0x1110]
vmovdqu ymmword [rbp + r11*4 + 0x10b0], ymm1
vmovdqu ymmword [rbp + r11*4 + 0x10d0], ymm2
vmovdqu ymmword [rbp + r11*4 + 0x10f0], ymm3
vmovdqu ymmword [rbp + r11*4 + 0x1110], ymm4
add r11, 0x20
cmp r10, r11
jne 0x14004bfa0
test r9, r9
je 0x14004c020
mov r8d, r8d
nop word cs:[rax + rax]
xor byte [rbp + rcx*4 + 0x10b0], 0x38
inc rcx
cmp r8, rcx
jne 0x14004c010
mov r11d, dword [r13 + rsi + 0xe0]
test r11d, r11d
jle 0x14004c177
movsxd r8, edx
lea rcx, [r8 + 1]
lea r9, [rbp + 0x1110]
xor r10d, r10d
nop word cs:[rax + rax]
mov esi, dword [r9 - 0x60]
mov edi, esi
sar edi, 3
and esi, 7
cmp edi, esi
jne 0x14004c074
inc r10
dec rcx
add r9, 4
cmp r11, r10
jne 0x14004c050
jmp 0x14004c177
cmp r10d, edx
jg 0x14004c177
cmp edi, esi
jle 0x14004c177
sub r8, r10
inc r8
cmp r8, 0x20
jae 0x14004c0ab
mov rcx, r10
jmp 0x14004c14a
cmp rbx, 0x400
ja 0x14004be0e
jmp 0x14004bdfa
mov rdx, r8
and rdx, 0xffffffffffffffe0
and rcx, 0xffffffffffffffe0
add rcx, r10
vpbroadcastd ymm0, dword [0x14008f78c]
mov r10, rdx
vmovdqu ymm1, ymmword [r9 - 0x60]
vmovdqu ymm2, ymmword [r9 - 0x40]
vmovdqu ymm3, ymmword [r9 - 0x20]
vmovdqu ymm4, ymmword [r9]
vpsrld ymm5, ymm1, 3
vpsrld ymm6, ymm2, 3
vpsrld ymm7, ymm3, 3
vpsrld ymm8, ymm4, 3
vpslld ymm1, ymm1, 3
vpor ymm1, ymm5, ymm1
vpslld ymm2, ymm2, 3
vpor ymm2, ymm6, ymm2
vpslld ymm3, ymm3, 3
vpor ymm3, ymm7, ymm3
vpslld ymm4, ymm4, 3
vpor ymm4, ymm8, ymm4
vpand ymm1, ymm1, ymm0
vpand ymm2, ymm2, ymm0
vpand ymm3, ymm3, ymm0
vpand ymm4, ymm4, ymm0
vmovdqu ymmword [r9 - 0x60], ymm1
vmovdqu ymmword [r9 - 0x40], ymm2
vmovdqu ymmword [r9 - 0x20], ymm3
vmovdqu ymmword [r9], ymm4
sub r9, 0xffffffffffffff80
add r10, 0xffffffffffffffe0
jne 0x14004c0c5
cmp r8, rdx
je 0x14004c177
sar rax, 0x20
dec rcx
mov edx, dword [rbp + rcx*4 + 0x10b4]
mov r8d, edx
shr r8d, 3
shl edx, 3
or edx, r8d
and edx, 0x3f
mov dword [rbp + rcx*4 + 0x10b4], edx
inc rcx
cmp rcx, rax
jl 0x14004c151
mov rsi, qword [rbp + 0x10d0]
cmp byte [rsi + 0x35], 0
je 0x14004c222
mov r9d, dword [rbp + 0x10b0]
mov edx, dword [rbp + 0x10b4]
xor r8d, r8d
cmp edx, r9d
setg r11b
mov ecx, dword [rbp + 0x10b8]
xor eax, eax
cmp ecx, r9d
setg al
xor r10d, r10d
cmp ecx, edx
setg r10b
add eax, r10d
neg eax
mov r10d, r9d
sar r10d, 3
mov esi, r9d
and esi, 7
cmp r10d, esi
jne 0x14004c252
mov r9d, edx
sar r9d, 3
mov esi, edx
and esi, 7
cmp r9d, esi
jne 0x14004c294
mov r8b, r11b
mov edx, ecx
sar edx, 3
mov r11d, ecx
and r11d, 7
cmp edx, r11d
mov rsi, qword [rbp + 0x10d0]
jne 0x14004c2ce
imul ecx, r10d, 0x2a
sub r9d, r8d
lea r8d, [r9 + r9*2]
add ecx, edx
lea ecx, [rcx + r8*2]
add eax, ecx
add eax, 0x79bc
jmp 0x14004c2fa
movsxd rax, dword [rbp + 0x10b0]
lea rcx, [0x1401e01a0]
movsxd rax, dword [rcx + rax*4]
movsxd rcx, dword [rbp + 0x10b4]
shl rax, 8
lea rdx, [0x1401e02a0]
add rdx, rax
movsxd rdx, dword [rdx + rcx*4]
jmp 0x14004c2fd
movsxd r8, r9d
xor r10d, r10d
cmp edx, r9d
setg r10b
lea r9, [0x1401e01a0]
mov r8d, dword [r9 + r8*4]
mov r9d, r8d
shl r9d, 6
sub r9d, r8d
sub edx, r10d
add edx, r9d
lea r8d, [rdx + rdx]
shl edx, 6
sub edx, r8d
add eax, ecx
add eax, edx
movsxd rdx, eax
mov rsi, qword [rbp + 0x10d0]
jmp 0x14004c2fd
movsxd rdx, edx
lea r8d, [r10 + r10*8]
lea r8d, [r8 + r8*2]
add r8d, r10d
lea r9, [0x1401e00a0]
add r8d, dword [r9 + rdx*4]
lea edx, [r8 + r8]
shl r8d, 6
sub r8d, edx
add eax, ecx
add eax, r8d
add eax, 0x5b8c
movsxd rdx, eax
mov rsi, qword [rbp + 0x10d0]
jmp 0x14004c2fd
movsxd rax, ecx
imul ecx, r10d, 0xc4
sub r9d, r8d
lea edx, [r9 + r9*8]
lea edx, [rdx + rdx*2]
add r9d, ecx
add r9d, edx
lea rcx, [0x1401e00a0]
mov eax, dword [rcx + rax*4]
add eax, r9d
add eax, 0x76ac
movsxd rdx, eax
movzx ebx, byte [rsi + 0x34]
test bl, bl
je 0x14004c30f
cmp byte [rsi + 0x37], 0
setne r12b
jmp 0x14004c312
xor r12d, r12d
mov r8, qword [rbp + 0x1068]
imul rdx, qword [r13 + r8 + 0xa0]
mov eax, dword [r13 + r8 + 0xe4]
test eax, eax
je 0x14004c596
mov qword [rbp + 0x1098], rdx
movsxd rcx, dword [r13 + r8 + 0xe0]
lea r14, [rcx*4 + 0x10b0]
add r14, rbp
lea rdi, [r13 + r8 + 0xe4]
mov ecx, 1
lea rsi, [rbp + 0x10b0]
lea rbx, [0x1401e0ca0]
vpbroadcastq ymm0, qword [0x14008f608]
vmovdqu ymmword [rbp + 0xfd0], ymm0
jmp 0x14004c3d2
xor r9d, r9d
mov r13, qword [rbp + 0x1010]
mov rcx, qword [rbp + 0x1068]
add rcx, r13
mov rdx, qword [rbp + 0x10a0]
imul r9, qword [rcx + rdx*8 + 0xa0]
add qword [rbp + 0x1098], r9
cdqe
lea r14, [r14 + rax*4]
lea rdi, [rcx + rdx*4]
add rdi, 0xe4
mov eax, dword [rcx + rdx*4 + 0xe4]
lea rcx, [rdx + 1]
xor r12d, r12d
test eax, eax
je 0x14004c57b
mov qword [rbp + 0x10a0], rcx
cdqe
lea rdx, [r14 + rax*4]
mov rcx, r14
vzeroupper
call fcn.140052980
mov eax, dword [rdi]
test eax, eax
jle 0x14004c380
not r12b
movzx ecx, r12b
and ecx, 1
lea rcx, [rcx*8 - 8]
mov rdx, r14
sub rdx, rsi
add rdx, 0xfffffffffffffffc
mov r8, rdx
shr r8, 2
inc r8
mov r10, r8
and r10, 0xfffffffffffffff0
lea r9, [r10*4 + 0x10b0]
add r9, rbp
mov qword [rbp + 0x10a8], r9
xor r13d, r13d
xor r9d, r9d
jmp 0x14004c473
mov r12d, dword [rbp + r13*4 + 0x10b0]
xor edi, edi
mov r11, rcx
sub r11, rdi
inc r13
movsxd rdi, r12d
add rdi, r11
mov r11, r13
shl r11, 8
add r11, rbx
movsxd r11, dword [r11 + rdi*4]
add r9, r11
cmp r13, rax
je 0x14004c383
cmp rsi, r14
je 0x14004c440
mov r12d, dword [r14 + r13*4]
cmp rdx, 0x3c
jae 0x14004c490
xor edi, edi
mov r11, rsi
jmp 0x14004c560
vmovd xmm0, r12d
vpbroadcastd xmm1, xmm0
vpxor xmm0, xmm0, xmm0
xor edi, edi
vpxor xmm2, xmm2, xmm2
vpxor xmm3, xmm3, xmm3
vpxor xmm4, xmm4, xmm4
vmovdqu ymm7, ymmword [rbp + 0xfd0]
nop word cs:[rax + rax]
vpcmpgtd xmm5, xmm1, xmmword [rbp + rdi*4 + 0x10b0]
vpmovzxdq ymm5, xmm5
vpand ymm5, ymm5, ymm7
vpcmpgtd xmm6, xmm1, xmmword [rbp + rdi*4 + 0x10c0]
vpaddq ymm0, ymm0, ymm5
vpmovzxdq ymm5, xmm6
vpand ymm5, ymm5, ymm7
vpaddq ymm2, ymm2, ymm5
vpcmpgtd xmm5, xmm1, xmmword [rbp + rdi*4 + 0x10d0]
vpmovzxdq ymm5, xmm5
vpand ymm5, ymm5, ymm7
vpaddq ymm3, ymm3, ymm5
vpcmpgtd xmm5, xmm1, xmmword [rbp + rdi*4 + 0x10e0]
vpmovzxdq ymm5, xmm5
vpand ymm5, ymm5, ymm7
vpaddq ymm4, ymm4, ymm5
add rdi, 0x10
cmp r10, rdi
jne 0x14004c4c0
vpaddq ymm0, ymm2, ymm0
vpaddq ymm0, ymm3, ymm0
vpaddq ymm0, ymm4, ymm0
vextracti128 xmm1, ymm0, 1
vpaddq xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 0xee
vpaddq xmm0, xmm0, xmm1
vmovq rdi, xmm0
mov r11, qword [rbp + 0x10a8]
cmp r8, r10
je 0x14004c44a
nop word cs:[rax + rax]
xor r15d, r15d
cmp r12d, dword [r11]
setg r15b
add rdi, r15
add r11, 4
cmp r11, r14
jne 0x14004c560
jmp 0x14004c44a
mov rsi, qword [rbp + 0x10d0]
movzx ebx, byte [rsi + 0x34]
mov rcx, qword [rbp + 0x1018]
mov rdx, qword [rbp + 0x1098]
jmp 0x14004c59d
mov rcx, qword [rbp + 0x1018]
vzeroupper
call fcn.1400517d0
xor ecx, ecx
test bl, bl
mov rdx, qword [rbp + 0x1008]
cmove rdx, rcx
mov rcx, rdx
shl rcx, 8
lea rdx, [rcx + rdx*8]
movzx r10d, byte [r13 + rdx]
test r10b, 2
mov r9d, dword [rbp + 0x1004]
je 0x14004c606
mov rcx, qword [rsi + 0x10]
add r13, rdx
movsxd rdx, r9d
lea r8, [0x14008f770]
movsxd rdx, dword [r8 + rdx*4 + 8]
movzx r8d, word [r13 + rdx*2 + 0x100]
mov edx, eax
add rdx, r8
test r10b, 0x10
jne 0x14004c602
movzx eax, byte [rcx + rdx]
jmp 0x14004c606
movzx eax, word [rcx + rdx*2]
cmp r9d, 2
jne 0x14004c644
mov ecx, r10d
and ecx, 4
jne 0x14004c644
add eax, eax
inc eax
vmovaps xmm6, xmmword [rbp + 0x10e0]
vmovaps xmm7, xmmword [rbp + 0x10f0]
vmovaps xmm8, xmmword [rbp + 0x1100]
add rsp, 0x1198
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp r9d, 1
je 0x14004c614
cmp r9d, 0xffffffff
je 0x14004c614
cmp r9d, 0xfffffffe
jne 0x14004c616
test r10b, 8
je 0x14004c614
jmp 0x14004c616
lea rcx, [0x1401e1aa8]
mov esi, r8d
mov rdi, rdx
call fcn.140060c68
xor eax, eax
mov rdx, rdi
mov r8d, esi
cmp dword [0x1401e1aa8], 0xffffffff
jne 0x14004a4af
mov dword [0x1401e1a58], 0
lea rcx, [0x1401e1a58]
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [0x1401e1a60], ymm0
vmovdqu ymmword [0x1401e1a80], ymm0
mov qword [0x1401e1aa0], 0
mov edx, 2
vzeroupper
call fcn.14006256c
lea rcx, [0x140053830]
call fcn.140060df0
lea rcx, [0x1401e1aa8]
call fcn.140060d1c
xor eax, eax
mov rdx, rdi
mov r8d, esi
jmp 0x14004a4af
mov ecx, 5
call fcn.140061824
mov dword [0x1401e1aa4], 0x7ffffffe
mov ecx, 6
call fcn.140061824
call fcn.140005230
call fcn.140005230
int3