Function at 0x14016e1e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
nop
push 0x4a512f14
mov qword [rsp], rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
lea rbp, [rsp - 0x2138]
mov eax, 0x45cc41fe
add eax, 0x1a0cf5be
sub eax, 0xcdcd8a0
add eax, 0x2373789b
xor eax, 0x2fd7d72a
add eax, 0x231f3869
sub eax, 0x459fa330
xor eax, 0x3737b7ee
call fcn.1401fc980
sub rsp, rax
mov r14, rcx
xor r13d, r13d
lea rsi, [r13 - 1]
cmp qword [rcx + 0x50], r13
jne 0x14016f1c9
xorps xmm0, xmm0
xchg r8, rbp
movups xmmword [r8 - 0x40], xmm0
xchg r8, rbp
xchg r13, r10
mov qword [rbp - 0x30], r10
xchg r13, r10
mov qword [rbp - 0x28], 0x315c07a7
sub qword [rbp - 0x28], 0x23ed5fce
xor qword [rbp - 0x28], 0x7c43a5c0
xor qword [rbp - 0x28], 0x27705f1f
sub qword [rbp - 0x28], 0xc56dab8
add qword [rbp - 0x28], 0x11563fa4
sub qword [rbp - 0x28], 0x5b5cc1eb
mov word [rbp - 0x40], r13w
xchg r11, rbp
movups xmmword [r11 - 0x78], xmm0
xchg r11, rbp
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], 0x2a62ad58
add qword [rbp - 0x60], 0x245cf975
sub qword [rbp - 0x60], 0x421b476
add qword [rbp - 0x60], 0x18cbaee3
sub qword [rbp - 0x60], 0x45f9f85f
add qword [rbp - 0x60], 0x291eb780
sub qword [rbp - 0x60], 0x468e604c
mov byte [rbp - 0x78], r13b
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x40]
call fcn.1401616d0
mov dword [rsp + 0x52], 0x85428f6
xor dword [rsp + 0x52], 0x814e670
xor dword [rsp + 0x52], 0x8c8188f
add dword [rsp + 0x52], 0x5173bb99
xor dword [rsp + 0x52], 0x11042f0e
sub dword [rsp + 0x52], 0x2d3e71fc
add dword [rsp + 0x52], 0x2a2631e3
add dword [rsp + 0x52], 0xb1167863
mov dword [rsp + 0x58], 0x31a9ba03
sub dword [rsp + 0x58], 0x1665da83
sub dword [rsp + 0x58], 0x611e12b
xor dword [rsp + 0x58], 0x7017b4c6
sub dword [rsp + 0x58], 0x19ca4b1e
xor dword [rsp + 0x58], 0x5d7de4b1
add dword [rsp + 0x58], 0x2bf739e1
add dword [rsp + 0x58], 0xbd49a9c1
mov dword [rsp + 0x5c], 0x1086f817
add dword [rsp + 0x5c], 0xa37ce01
sub dword [rsp + 0x5c], 0x16b39b24
add dword [rsp + 0x5c], 0x44e1c1f
add dword [rsp + 0x5c], 0x5ae0c450
sub dword [rsp + 0x5c], 0x92f08dc
sub dword [rsp + 0x5c], 0x186665b0
xor dword [rsp + 0x5c], 0x60548679
xor dword [rsp + 0x5c], 0xde96e596
xor eax, eax
mov word [rsp + 0x60], ax
mov edx, r13d
movzx eax, word [rsp + rdx*2 + 0x58]
movzx ecx, byte [rsp + rdx + 0x52]
add cx, ax
mov word [rsp + rdx*2 + 0x58], cx
mov byte [rsp + rdx + 0x52], reloc.SHLWAPI.dll_SHCreateMemStream
xor byte [rsp + rdx + 0x52], 0x38
add byte [rsp + rdx + 0x52], 0x36
sub byte [rsp + rdx + 0x52], 0x4e
xor byte [rsp + rdx + 0x52], 0x1a
sub byte [rsp + rdx + 0x52], 6
inc rdx
cmp rdx, 4
jb 0x14016e3cf
xorps xmm0, xmm0
xchg rdi, rbp
movups xmmword [rdi + 0x90], xmm0
xchg rdi, rbp
xorps xmm1, xmm1
xchg rbp, rsi
movdqu xmmword [rsi + 0xa0], xmm1
xchg rsi, rbp
lea rax, [rsp + 0x58]
xchg rsi, rdi
mov r8, rdi
xchg rdi, rsi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x14016e43d
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x90]
call fcn.140030ce0
nop
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rdx, qword [rbp - 0x40]
xchg r8, rdi
mov rdi, qword [rbp - 0x30]
xchg r8, rdi
lea rcx, [rbp + 0x90]
call fcn.140053840
xchg r10, rax
movups xmm0, xmmword [r10]
xchg r10, rax
xchg rbp, rsi
movups xmmword [rsi + 0xd0], xmm0
xchg rsi, rbp
movups xmm1, xmmword [rax + 0x10]
xchg rbp, rdx
movups xmmword [rdx + 0xe0], xmm1
xchg rdx, rbp
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0x77e7eff8
sub qword [rax + 0x18], 0x623250dd
xor qword [rax + 0x18], 0x74367d
sub qword [rax + 0x18], 0x288c8d8
xor qword [rax + 0x18], 0x7e1e682b
sub qword [rax + 0x18], 0x68c85c03
xor qword [rax + 0x18], 0x45e2ca5
mov word [rax], r13w
lea r12, [r14 + 0x88]
lea rdx, [rbp + 0xd0]
mov rcx, r12
call fcn.140092260
mov rdx, qword [rbp + 0xe8]
cmp rdx, 8
jb 0x14016e562
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xd0]
xchg r12, rcx
mov rax, r12
xchg rcx, r12
cmp rdx, 0x1000
jb 0x14016e55d
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffffad57e6cf
sub rax, 0xffffffffad57e6d7
cmp rax, 0x1f
jbe 0x14016e55d
call fcn.1406f7948
int3
call fcn.1401fc608
movdqa xmm0, xmmword [0x140002c70]
xchg rbp, r9
movdqu xmmword [r9 + 0xe0], xmm0
xchg r9, rbp
mov word [rbp + 0xd0], r13w
xchg rdx, r10
mov r10, qword [rbp + 0xa8]
xchg r10, rdx
cmp rdx, 8
jb 0x14016e5e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e5dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14016e5dd
call fcn.140480e2c
int3
call fcn.1401fc608
movdqa xmm0, xmmword [0x140002c70]
xchg rbp, r12
movdqu xmmword [r12 + 0xa0], xmm0
xchg r12, rbp
mov word [rbp + 0x90], r13w
xchg r13, rax
mov r13, rax
xchg r13, rax
nop dword [rax + rax]
mov byte [rsp + rax + 0x58], 0x23
xor byte [rsp + rax + 0x58], 0x65
sub byte [rsp + rax + 0x58], 0x1a
sub byte [rsp + rax + 0x58], 5
xor byte [rsp + rax + 0x58], 0x4b
xor byte [rsp + rax + 0x58], 8
sub byte [rsp + rax + 0x58], 5
xor byte [rsp + rax + 0x58], 0x5f
inc rax
cmp rax, 8
jb 0x14016e60e
mov dword [rsp + 0x62], 0x306fb500
xor dword [rsp + 0x62], 0x61041836
xor dword [rsp + 0x62], 0x375e7afa
sub dword [rsp + 0x62], 0x5aef4d44
add dword [rsp + 0x62], 0xbea4fe7
add dword [rsp + 0x62], 0x11a5b76f
add dword [rsp + 0x62], 0x498e058e
xor dword [rsp + 0x62], 0x8492619a
mov dword [rsp + 0x6a], 0x9a48fd
xor dword [rsp + 0x6a], 0x1ef28903
add dword [rsp + 0x6a], 0x13497e67
add dword [rsp + 0x6a], 0x2df16182
xor dword [rsp + 0x6a], 0x37f1b173
xor dword [rsp + 0x6a], 0x6bb5eb06
xor dword [rsp + 0x6a], 0x5badc6d1
sub dword [rsp + 0x6a], 0x50ad07f0
add dword [rsp + 0x6a], 0xf7d9c9fe
mov dword [rsp + 0x6e], 0x3e21d2e5
xor dword [rsp + 0x6e], 0x7e9385e2
xor dword [rsp + 0x6e], 0x54639a65
xor dword [rsp + 0x6e], 0x4229573b
xor dword [rsp + 0x6e], 0x398f3578
xor dword [rsp + 0x6e], 0x901b5058
mov word [rsp + 0x66], 0x55ce
sub word [rsp + 0x66], 0x2971
add word [rsp + 0x66], 0x3ca3
add word [rsp + 0x66], 0xba2
xor word [rsp + 0x66], 0x4d66
add word [rsp + 0x66], 0x222c
sub word [rsp + 0x66], 0x11d8
add word [rsp + 0x66], 0xacde
mov dword [rsp + 0x72], 0x65fdf62
xor dword [rsp + 0x72], 0x6be4403a
sub dword [rsp + 0x72], 0x4bb9bd25
add dword [rsp + 0x72], 0x57443f62
sub dword [rsp + 0x72], 0x5710e935
sub dword [rsp + 0x72], 0x1f55919e
add dword [rsp + 0x72], 0x57fb5817
xor dword [rsp + 0x72], 0x501bcfb2
xor dword [rsp + 0x72], 0xf5b7ce00
mov byte [rsp + 0x68], 0x4c
xor byte [rsp + 0x68], 0x7b
xor byte [rsp + 0x68], 0x79
xor byte [rsp + 0x68], 3
sub byte [rsp + 0x68], 0x2d
sub byte [rsp + 0x68], 0xb
xor byte [rsp + 0x68], 0xe3
mov dword [rsp + 0x76], 0x560f7145
sub dword [rsp + 0x76], 0x72dcfc6
sub dword [rsp + 0x76], 0x48e822a3
xor dword [rsp + 0x76], 0x1ec73899
add dword [rsp + 0x76], 0x3c8bd59a
sub dword [rsp + 0x76], 0x4018bc6d
add dword [rsp + 0x76], 0x2faab203
add dword [rsp + 0x76], 0x2674a382
sub dword [rsp + 0x76], 0x6dcfb591
xchg rdx, r10
mov r10, r13
xchg r10, rdx
nop word [rax + rax]
movzx eax, word [rsp + rdx*2 + 0x6a]
movzx ecx, byte [rsp + rdx + 0x62]
add cx, ax
mov word [rsp + rdx*2 + 0x6a], cx
mov byte [rsp + rdx + 0x62], 0x4a
xor byte [rsp + rdx + 0x62], 0x7b
add byte [rsp + rdx + 0x62], 0x38
add byte [rsp + rdx + 0x62], 0xe
sub byte [rsp + rdx + 0x62], 0x45
add byte [rsp + rdx + 0x62], 0x10
xor byte [rsp + rdx + 0x62], 0x42
inc rdx
cmp rdx, 7
jb 0x14016e7fa
xorps xmm0, xmm0
xchg rbp, rdi
movups xmmword [rdi + 0xb0], xmm0
xchg rbp, rdi
xorps xmm1, xmm1
xchg rsi, rbp
movdqu xmmword [rsi + 0xc0], xmm1
xchg rsi, rbp
lea rax, [rsp + 0x6a]
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14016e868
lea rdx, [rsp + 0x6a]
lea rcx, [rbp + 0xb0]
call fcn.140030ce0
nop
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae rdx, qword [rbp - 0x40]
xchg r14, r8
mov r14, qword [rbp - 0x30]
xchg r14, r8
lea rcx, [rbp + 0xb0]
call fcn.140053840
xchg r10, rax
movups xmm0, xmmword [r10]
xchg r10, rax
xchg rdx, rbp
movups xmmword [rdx + 0xf0], xmm0
xchg rdx, rbp
movups xmm1, xmmword [rax + 0x10]
xchg rdx, rbp
movups xmmword [rdx + 0x100], xmm1
xchg rdx, rbp
xchg r13, r14
mov qword [rax + 0x10], r14
xchg r13, r14
mov qword [rax + 0x18], 0x57d91217
sub qword [rax + 0x18], 0x2f75bd12
xor qword [rax + 0x18], 0x3c0d36b2
sub qword [rax + 0x18], 0xafc2877
xor qword [rax + 0x18], 0x3cb21c3e
sub qword [rax + 0x18], 0x35c02777
mov word [rax], r13w
lea rdi, [r14 + 0xa8]
lea rdx, [rbp + 0xf0]
xchg rbx, rdi
mov rcx, rbx
xchg rbx, rdi
call fcn.140092260
xchg rdx, r15
mov r15, qword [rbp + 0x108]
xchg rdx, r15
cmp rdx, 8
jb 0x14016e988
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016e983
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14016e983
call fcn.140c47a92
int3
call fcn.1401fc608
movdqa xmm0, xmmword [0x140002c70]
xchg r8, rbp
movdqu xmmword [r8 + 0x100], xmm0
xchg r8, rbp
mov word [rbp + 0xf0], r13w
xchg rdx, r14
mov r14, qword [rbp + 0xc8]
xchg rdx, r14
cmp rdx, 8
jb 0x14016ea0e
lea rdx, [rdx*2 + 2]
xchg rcx, r15
mov r15, qword [rbp + 0xb0]
xchg r15, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016ea09
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14016ea09
push rax
call fcn.140ba0ed0
int3
call fcn.1401fc608
movdqa xmm0, xmmword [0x140002c70]
xchg rsi, rbp
movdqu xmmword [rsi + 0xc0], xmm0
xchg rbp, rsi
mov word [rbp + 0xb0], r13w
xchg r13, rax
mov r13, rax
xchg r13, rax
nop dword [rax + rax]
mov byte [rsp + rax + 0x6a], 0x7b
xor byte [rsp + rax + 0x6a], 0x40
sub byte [rsp + rax + 0x6a], 0x1a
sub byte [rsp + rax + 0x6a], 0x14
add byte [rsp + rax + 0x6a], 0xc
add byte [rsp + rax + 0x6a], 1
xor byte [rsp + rax + 0x6a], 0x41
xor byte [rsp + rax + 0x6a], 5
sub byte [rsp + rax + 0x6a], 0x5e
inc rax
cmp rax, 0xe
jb 0x14016ea38
xor ecx, ecx
push rsi
call fcn.1402dd5ad
cmp qword [rdi + 0x18], 8
jb 0x14016ea88
mov rdi, qword [rdi]
cmp qword [r12 + 0x18], 8
jb 0x14016ea98
mov r12, qword [r12]
mov ecx, 0x737e50a4
add ecx, 0x88a3a33
sub ecx, 0x3a1a2040
sub ecx, 0x85bace6
add ecx, 0x4282197b
sub ecx, 0x7c14d6d4
call fcn.1401fc5cc
xchg r11, rax
mov rbx, r11
xchg r11, rax
xchg rdx, rax
mov qword [rbp + 0x70], rdx
xchg rdx, rax
test rax, rax
je 0x14016eb5a
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 0x75295b4c
xor dword [rax + 8], 0x2d4577b3
add dword [rax + 8], 0x2236b28
sub dword [rax + 8], 0x4dae7f3c
xor dword [rax + 8], 0x6cc0448a
sub dword [rax + 8], 0x60215c60
mov dword [rax + 0xc], 0x774b514a
add dword [rax + 0xc], 0x5856a6e
sub dword [rax + 0xc], 0x5c04e5dd
add dword [rax + 0xc], 0x325660a7
xor dword [rax + 0xc], 0x48009c55
sub dword [rax + 0xc], 0x1b22aad6
lea rax, [0x1400035b8]
xchg r15, rax
mov qword [rbx], r15
xchg r15, rax
lea rcx, [rbx + 0x10]
mov r8, rdi
xchg rdx, rcx
mov rcx, r12
xchg rdx, rcx
call fcn.1401bf7c0
jmp 0x14016eb63
xchg r13, rbx
mov r13, rbx
xchg rbx, r13
lea rax, [rbx + 0x10]
mov qword [rbp], rax
mov qword [rbp + 8], rbx
lea rdx, [rbp]
lea rcx, [r14 + 0x50]
call fcn.140092410
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x14016ebcf
mov eax, esi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14016ebcf
mov rbx, qword [rbp + 8]
xchg rbp, rax
mov rbp, qword [rbx]
xchg rbp, rax
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call qword [rax]
mov eax, esi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14016ebcf
xchg rcx, rdi
mov rdi, qword [rbp + 8]
xchg rcx, rdi
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [0x140216fe0]
xorps xmm0, xmm0
xchg rbp, r15
movdqu xmmword [r15 + 0x30], xmm0
xchg r15, rbp
mov rax, qword [r14 + 0x58]
test rax, rax
je 0x14016ebf6
lock inc dword [rax + 8]
xchg rdi, rax
mov rdi, qword [r14 + 0x50]
xchg rdi, rax
xchg r8, rax
mov qword [rbp + 0x30], r8
xchg r8, rax
xchg rcx, rax
mov rcx, qword [r14 + 0x58]
xchg rcx, rax
xchg rdi, rax
mov qword [rbp + 0x38], rdi
xchg rdi, rax
lea rdx, [rbp + 0x30]
call fcn.14002e240
call fcn.140bf7260
int3
xchg r9, rcx
mov r9, qword [r14 + 0x50]
xchg r9, rcx
cmp byte [rcx + 0x10], 0
jne 0x14016f1ea
call fcn.1401c3c50
test al, al
je 0x14016fe9e
cmp byte [0x140217064], 0
jne 0x14016fe3c
xchg r8, rcx
mov r8, qword [r14 + 0x60]
xchg rcx, r8
test rcx, rcx
je 0x14016f27e
lea rdx, [rbp - 0x80]
call fcn.1401ad220
xchg rcx, r15
mov r15, qword [r14 + 0x50]
xchg rcx, r15
call fcn.1401c1c20
mov rax, qword [rbp - 0x80]
mov rbx, qword [rax]
cmp rbx, qword [rax + 8]
je 0x14016f287
nop dword [rax + rax]
xchg rbp, rdx
mov rbp, rbx
xchg rbp, rdx
cmp qword [rbx + 0x18], 8
jb 0x14016f258
xchg rdx, rdi
mov rdi, qword [rbx]
xchg rdi, rdx
xchg rcx, rdx
mov rdx, qword [r14 + 0x50]
xchg rdx, rcx
call fcn.1401c1b70
add rbx, 0x20
mov rax, qword [rbp - 0x80]
cmp rbx, qword [rax + 8]
jne 0x14016f23b
jmp 0x14016f287
mov rcx, qword [r14 + 0x50]
call fcn.1401c1c20
mov dword [rbp + 0x2188], r13d
mov qword [rbp + 0x2198], r13
mov dword [rbp + 0x2180], r13d
xor edx, edx
mov r8d, 0x4159eaf7
xor r8d, 0x5ae7efb
add r8d, 0xd248221
xor r8d, 0x36016b29
sub r8d, 0x13b0da23
sub r8d, 0x4b0df741
sub r8d, 0x55ea9a0
lea rcx, [rbp + 0x130]
call fcn.1401fd676
lea rax, [rbp + 0x130]
xchg rbp, rax
mov qword [rsp + 0x20], rbp
xchg rbp, rax
lea r9, [rbp + 0x2180]
lea r8, [rbp + 0x2198]
lea rdx, [rbp + 0x2188]
xchg r8, rcx
mov r8, qword [r14 + 0x50]
xchg rcx, r8
call fcn.1401c3080
test al, al
je 0x14016fe35
mov edi, dword [rbp + 0x2188]
cmp edi, 8
jb 0x14016fe35
mov byte [r14 + 0x328], 0x60
xor byte [r14 + 0x328], 0x5a
add byte [r14 + 0x328], 0x12
add byte [r14 + 0x328], 0x10
sub byte [r14 + 0x328], 0x1a
sub byte [r14 + 0x328], 0x3f
sub byte [r14 + 0x328], 2
mov dword [r14 + 0x334], edi
mov eax, dword [rbp + 0x2198]
mov dword [r14 + 0x330], eax
mov r12d, dword [rbp + 0x2180]
mov dword [r14 + 0x32c], r12d
lea rbx, [r14 + 0x338]
xor edx, edx
mov r8d, 0x1cb0345
add r8d, 0xc5d6e2a
xor r8d, 0x5b7ad7a5
sub r8d, 0x22d126ad
xor r8d, 0x549c0bcd
sub r8d, 0x18856ef0
sub r8d, 0x4c52b785
xor r8d, 0x5a2930e3
sub r8d, 0x5b6c53b8
mov rcx, rbx
call fcn.1401fd676
cmp edi, 8
jbe 0x14016fe35
cmp r12d, 0xc0000028
je 0x14016fe35
mov word [rbp + 0x32e], r13w
mov ecx, dword [r14 + 0x48]
mov qword [rbp - 0x80], r14
mov qword [rbp + 0x68], r14
xchg r14, rsi
mov qword [rbp + 0x60], rsi
xchg rsi, r14
test ecx, ecx
je 0x14016f59e
sub ecx, 1
je 0x14016f4d7
cmp ecx, 1
jne 0x14016f59e
mov rax, qword [r14 + 0x30]
movabs rdi, 0x2aaaaaaa1dd5e5cf
add rdi, 0x1654caa9
add rdi, 0x4076d0ab
xor rdi, 0x147b8b5a
sub rdi, 0x1d25b0d6
xor rdi, 0x7e3f6d95
add rdi, 0x6d1f7675
cmp rax, qword [r14 + 0x38]
jne 0x14016f4ce
mov rcx, qword [r14 + 0x40]
sub rcx, rax
mov rax, rdi
imul rcx
sar rdx, 2
xchg r8, rax
mov r8, rdx
xchg r8, rax
shr rax, 0x10
shr rax, 0x24
shr rax, 7
shr rax, 2
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016f4c5
mov edx, 0x51e99822
sub edx, 0xdadc4f6
add edx, 0x274b54fe
xor edx, 0x9f45b1
sub edx, 0x2286722
sub edx, 0x68f00625
lea rcx, [r14 + 0x30]
call fcn.140174af0
lea rcx, [rbp - 0x80]
call fcn.14009c320
mov rdx, qword [r14 + 0x30]
jmp 0x14016f67e
xchg r15, rax
mov r15, qword [r14 + 0x18]
xchg r15, rax
movabs rdi, 0x2aaaaaaa5ba9a123
xor rdi, 0x1462eeaf
sub rdi, 0x20bdbe92
xor rdi, 0x6dec3129
xor rdi, 0x7a494df6
add rdi, 0x7fffffff
sub rdi, 0xdfe4179
cmp rax, qword [r14 + 0x20]
jne 0x14016f595
mov rcx, qword [r14 + 0x28]
sub rcx, rax
xchg r12, rax
mov r12, rdi
xchg r12, rax
imul rcx
sar rdx, 1
sar rdx, 1
mov rax, rdx
shr rax, 0x32
shr rax, 2
shr rax, 1
shr rax, 4
shr rax, 1
shr rax, 3
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016f58c
mov edx, 0x59d0a29c
sub edx, 0xe7140b3
xor edx, 0x502a546d
add edx, 0x4ede8b26
sub edx, 0x11bef9db
xor edx, 0x5894c69b
lea rcx, [r14 + 0x18]
call fcn.140174af0
lea rcx, [rbp + 0x60]
call fcn.1401365f0
mov rdx, qword [r14 + 0x18]
jmp 0x14016f67e
xchg rdx, rax
mov rdx, qword [r14]
xchg rdx, rax
movabs rdi, 0x2aaaaaaa6f7145a6
sub rdi, 0x4bedebf6
sub rdi, 0xce28268
add rdi, 0x490e3ecc
sub rdi, 0x37474d3f
add rdi, 0xeb3f532
add rdi, 0x38eecaa0
add rdi, 0x3aa02204
cmp rax, qword [r14 + 8]
jne 0x14016f675
mov rcx, qword [r14 + 0x10]
sub rcx, rax
xchg r14, rax
mov r14, rdi
xchg r14, rax
imul rcx
sar rdx, 1
sar rdx, 1
xchg rdx, rbp
mov rax, rbp
xchg rdx, rbp
shr rax, 0x36
shr rax, 2
shr rax, 5
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016f66c
mov edx, 0x14838d
xor edx, 0x65e969fa
xor edx, 0x273c069
sub edx, 0x207671a0
xor edx, 0x252b4b2d
sub edx, 0x473a5c1c
xor edx, 0x6cfe8fac
sub edx, 0x6d9b367c
sub edx, 0xa60e1cb
xchg rcx, r14
mov r14, rcx
xchg r14, rcx
call fcn.140174af0
lea rcx, [rbp + 0x68]
call fcn.1400f2f50
xchg rdx, r12
mov r12, qword [r14]
xchg r12, rdx
neg rdx
add rdx, 0xfffffffffffffbb0
neg rdx
lea rcx, [rbp + 0x110]
call fcn.14007a7e0
nop
mov ecx, dword [r14 + 0x48]
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x50], r14
test ecx, ecx
je 0x14016f80f
sub ecx, 1
je 0x14016f757
cmp ecx, 1
jne 0x14016f80f
mov rax, qword [r14 + 0x30]
cmp rax, qword [r14 + 0x38]
jne 0x14016f74e
xchg r13, rcx
mov r13, qword [r14 + 0x40]
xchg rcx, r13
sub rcx, rax
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
imul rcx
sar rdx, 2
xchg rdx, rax
mov rdx, rax
xchg rdx, rax
shr rax, 0x39
shr rax, 4
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016f745
mov edx, 0x3b6a0b81
xor edx, 0x532951fb
xor edx, 0x5460fb50
add edx, 0x3c3b3df9
xor edx, 0x66067259
add edx, 0x6138fd68
xor edx, 0x161cb225
xor edx, 0x698d1893
lea rcx, [r14 + 0x30]
call fcn.140174af0
lea rcx, [rbp - 0x58]
call fcn.14009c320
mov rdx, qword [r14 + 0x30]
jmp 0x14016f8af
xchg r9, rax
mov r9, qword [r14 + 0x18]
xchg r9, rax
cmp rax, qword [r14 + 0x20]
jne 0x14016f800
xchg rbp, rcx
mov rbp, qword [r14 + 0x28]
xchg rcx, rbp
sub rcx, rax
xchg rdi, r8
mov rax, r8
xchg rdi, r8
imul rcx
sar rdx, 2
xchg r15, rax
mov r15, rdx
xchg r15, rax
shr rax, 0x1e
shr rax, 5
shr rax, 2
shr rax, 0xd
shr rax, 6
shr rax, 2
shr rax, 4
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016f7f7
mov edx, 0x5519f519
add edx, 0xb6edaca
xor edx, 0x3aa68b07
add edx, 0x23ed53e5
sub edx, 0x4c1e649
sub edx, 0x50237aaa
xor edx, 0x53e60001
sub edx, 0x27b8056f
sub edx, 0x53183214
lea rcx, [r14 + 0x18]
call fcn.140174af0
lea rcx, [rbp - 0x50]
call fcn.1401365f0
xchg rsi, rdx
mov rsi, qword [r14 + 0x18]
xchg rsi, rdx
jmp 0x14016f8af
mov rax, qword [r14]
cmp rax, qword [r14 + 8]
jne 0x14016f8a6
mov rcx, qword [r14 + 0x10]
sub rcx, rax
xchg rdi, rsi
mov rax, rsi
xchg rdi, rsi
imul rcx
sar rdx, 2
xchg rcx, rax
mov rcx, rdx
xchg rcx, rax
shr rax, 0x36
shr rax, 2
shr rax, 2
shr rax, 1
shr rax, 2
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016f89d
mov edx, 0x4b736365
add edx, 0x1aa06078
sub edx, 0x51f1ec62
xor edx, 0x2b4b5c29
add edx, 0x33268c49
sub edx, 0x5d3bf48f
xor edx, 0x41cf8d5b
sub edx, 0x549aae03
xchg rcx, r14
mov r14, rcx
xchg rcx, r14
call fcn.140174af0
lea rcx, [rbp - 0x48]
call fcn.1400f2f50
xchg r11, rdx
mov r11, qword [r14]
xchg rdx, r11
add rdx, 0x18
lea rcx, [rbp + 0x78]
call fcn.14007a7e0
nop
mov r12d, dword [rbp + 0x2180]
test r12d, r12d
jne 0x14016f8f8
xorps xmm0, xmm0
xchg rbp, rdx
movups xmmword [rdx - 0x20], xmm0
xchg rbp, rdx
movdqa xmm1, xmmword [0x140002c70]
xchg r8, rbp
movdqu xmmword [r8 - 0x10], xmm1
xchg rbp, r8
mov word [rbp - 0x20], r13w
jmp 0x14016f9ed
mov qword [rbp + 0x2190], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rax, [rbp + 0x2190]
xchg r13, rax
mov qword [rsp + 0x20], r13
xchg r13, rax
mov r9d, 0x339c46a4
xor r9d, 0x158c005
sub r9d, 0x18e376ec
xor r9d, 0x5dd97847
xor r9d, 0x71e12871
add r9d, 0x410befec
sub r9d, 0x288c413f
sub r9d, 0x4e590a30
mov r8d, r12d
xor edx, edx
mov ecx, 0x183911bf
add ecx, 0x31c61f94
sub ecx, 0x3978dede
xor ecx, 0x15de004c
xor ecx, 0x5733640
sub ecx, 0x2b5179
push rax
call fcn.140513d5c
mov r8d, eax
xorps xmm0, xmm0
xchg rbp, r9
movups xmmword [r9 + 0x40], xmm0
xchg r9, rbp
xorps xmm1, xmm1
xchg rbp, r13
movdqu xmmword [r13 + 0x50], xmm1
xchg r13, rbp
xchg rsi, rdx
mov rsi, qword [rbp + 0x2190]
xchg rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.140030ce0
mov rcx, qword [rbp + 0x2190]
call fcn.140425c0d
int3
cmp word [rbp + 0x130], 0
je 0x14016fd3f
mov ecx, dword [r14 + 0x48]
mov qword [rbp - 0x48], r14
xchg r14, rbx
mov qword [rbp - 0x58], rbx
xchg rbx, r14
mov qword [rbp - 0x50], r14
test ecx, ecx
je 0x14016fb6a
sub ecx, 1
je 0x14016faca
cmp ecx, 1
jne 0x14016fb6a
mov rax, qword [r14 + 0x30]
cmp rax, qword [r14 + 0x38]
jne 0x14016fac1
mov rcx, qword [r14 + 0x40]
sub rcx, rax
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
imul rcx
sar rdx, 1
sar rdx, 1
xchg rdx, rax
mov rdx, rax
xchg rdx, rax
shr rax, 8
shr rax, 0x27
shr rax, 0xa
shr rax, 4
shr rax, 1
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016fab8
mov edx, 0x3dbfe65a
add edx, 0x2235acdc
add edx, 0x13d2b9df
xor edx, 0x2a6f0880
sub edx, 0x37d609a1
add edx, 0x3dae697d
xor edx, 0x54c89d6f
add edx, 0xc914d7
xor edx, 0xc804ca1
lea rcx, [r14 + 0x30]
call fcn.140174af0
lea rcx, [rbp - 0x48]
call fcn.14009c320
mov rdx, qword [r14 + 0x30]
jmp 0x14016fc03
mov rax, qword [r14 + 0x18]
cmp rax, qword [r14 + 0x20]
jne 0x14016fb5b
mov rcx, qword [r14 + 0x28]
sub rcx, rax
mov rax, rdi
imul rcx
sar rdx, 1
sar rdx, 1
xchg rdx, r15
mov rax, r15
xchg r15, rdx
shr rax, 0x2c
shr rax, 1
shr rax, 9
shr rax, 4
shr rax, 1
shr rax, 3
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016fb52
mov edx, 0x2f4d9012
sub edx, 0xda17bc5
xor edx, 0x23ed3b65
xor edx, 0x5ad44068
sub edx, 0x35bb9ac6
sub edx, 0x1af009c7
sub edx, 0x78f41bf
sub edx, 0x5a88a0
lea rcx, [r14 + 0x18]
call fcn.140174af0
lea rcx, [rbp - 0x50]
call fcn.1401365f0
xchg rdx, r12
mov r12, qword [r14 + 0x18]
xchg rdx, r12
jmp 0x14016fc03
xchg rsi, rax
mov rsi, qword [r14]
xchg rsi, rax
cmp rax, qword [r14 + 8]
jne 0x14016fc00
xchg rcx, r13
mov r13, qword [r14 + 0x10]
xchg r13, rcx
sub rcx, rax
xchg rsi, rax
mov rsi, rdi
xchg rsi, rax
imul rcx
sar rdx, 2
xchg rdx, rax
mov rdx, rax
xchg rdx, rax
shr rax, 0x28
shr rax, 1
shr rax, 0xc
shr rax, 2
shr rax, 7
shr rax, 1
add rdx, rax
cmp rdx, 0x54
jae 0x14016fbf7
mov edx, 0x6ed0e420
xor edx, 0x3c99609c
sub edx, 0x427a1e69
xor edx, 0x3ab143ac
xor edx, 0x3dab87ec
xor edx, 0x345cd48e
xor edx, 0x3c8976c9
xchg rsi, rcx
mov rsi, r14
xchg rcx, rsi
call fcn.140174af0
lea rcx, [rbp - 0x58]
call fcn.1400f2f50
mov rdx, qword [r14]
add rdx, 0x3560b09d
sub rdx, 0x3560ac35
lea rcx, [rbp + 0x40]
call fcn.14007a7e0
nop
lea rcx, [rbp + 0x40]
call fcn.14007b050
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14016fc24
xchg r14, rsi
mov r8, r14
xchg r14, rsi
xchg rdi, rax
mov rdx, rdi
xchg rdi, rax
lea rcx, [rbp - 0x20]
call fcn.1401756c0
nop
lea rcx, [rbp + 0x40]
call fcn.14007ad00
lea rax, [rbp + 0x130]
mov ecx, 0x44b21968
add ecx, 0x128b6a0a
xor ecx, 0x3915121
sub ecx, 0x18ed7d64
sub ecx, 0x2514c8e2
xor ecx, 0x490137cb
sub ecx, 0x43d88f67
sub ecx, 0x1bd32c5b
nop dword [rax]
nop word [rax + rax]
xchg rdi, rax
movups xmm0, xmmword [rdi]
xchg rdi, rax
xchg rbx, r11
movups xmmword [r11], xmm0
xchg rbx, r11
movups xmm1, xmmword [rax + 0x10]
xchg rbx, r10
movups xmmword [r10 + 0x10], xmm1
xchg rbx, r10
xchg rdi, rax
movups xmm0, xmmword [rdi + 0x20]
xchg rdi, rax
xchg rbx, rsi
movups xmmword [rsi + 0x20], xmm0
xchg rsi, rbx
xchg r15, rax
movups xmm1, xmmword [r15 + 0x30]
xchg r15, rax
movups xmmword [rbx + 0x30], xmm1
xchg r13, rax
movups xmm0, xmmword [r13 + 0x40]
xchg r13, rax
xchg rbx, r12
movups xmmword [r12 + 0x40], xmm0
xchg rbx, r12
xchg rdi, rax
movups xmm1, xmmword [rdi + 0x50]
xchg rdi, rax
xchg r12, rbx
movups xmmword [r12 + 0x50], xmm1
xchg rbx, r12
xchg r15, rax
movups xmm0, xmmword [r15 + 0x60]
xchg r15, rax
movups xmmword [rbx + 0x60], xmm0
lea rbx, [rbx + 0x80]
xchg r11, rax
movups xmm1, xmmword [r11 + 0x70]
xchg r11, rax
xchg rsi, rbx
movups xmmword [rsi - 0x10], xmm1
xchg rbx, rsi
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x14016fc98
mov r12d, dword [rbp + 0x2180]
lea rsi, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rsi, qword [rbp - 0x20]
mov rbx, qword [rbp + 0x2198]
mov edi, dword [rbp + 0x2188]
lea rcx, [rbp + 0x110]
call fcn.14007b050
lea rcx, [rbp + 0x130]
xchg rcx, r9
mov qword [rsp + 0x30], r9
xchg rcx, r9
xchg rsi, rdi
mov qword [rsp + 0x28], rdi
xchg rsi, rdi
xchg rbx, r8
mov qword [rsp + 0x20], r8
xchg rbx, r8
mov r9d, r12d
mov r8d, edi
mov rdx, rax
mov rcx, r14
call fcn.14016ceb0
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14016fe06
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
xchg rbx, rcx
mov rax, rbx
xchg rbx, rcx
cmp rdx, 0x1000
jb 0x14016fe01
nop
sub rdx, 0x503201f6
add rdx, 0x5032021d
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14016fe01
call fcn.1408552ca
int3
call fcn.1401fc608
movdqa xmm0, xmmword [0x140002c70]
xchg rbp, r9
movdqu xmmword [r9 - 0x10], xmm0
xchg rbp, r9
mov word [rbp - 0x20], r13w
lea rcx, [rbp + 0x78]
call fcn.14007ad00
nop
lea rcx, [rbp + 0x110]
call fcn.14007ad00
mov byte [0x140217064], 1
mov rdx, qword gs:[0x40]
mov rcx, qword [r14 + 0x50]
call fcn.1401c37e0
xchg rcx, rbp
mov rbp, qword [r14 + 0x50]
xchg rbp, rcx
call fcn.1401c3520
test al, al
je 0x14016fe8e
mov dl, 0x12
add dl, 0x15
add dl, 0xf
sub dl, 4
xor dl, 0x10
add dl, 0x32
sub dl, 8
sub dl, 0x4b
xchg rcx, rdi
mov rdi, qword [r14 + 0x2a0]
xchg rdi, rcx
call fcn.14017abc0
mov al, 0x30
add al, 0x4a
sub al, 0x5d
sub al, 3
add al, 0x5f
sub al, 0x6d
add al, 0x44
xor al, 0x51
add rsp, 0x2238
push rdx
push rbx
push rbx
push rcx
xchg qword [rsp + 0x20], r15
add rsp, 0x28
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rbx
push rbx
xchg qword [rsp + 0x10], r13
pop rbx
pop rbx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
mov rdi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
xchg qword [rsp], rbx
add rsp, 8
push rax
push rcx
xchg qword [rsp + 0x10], rbp
pop rcx
pop rax
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]