Function at 0x140041a73
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0xf0]
add rsp, 0x2cff6214
sub rsp, 0x2cff6404
xor r14d, r14d
xor sil, sil
mov qword [rdx], r14
mov r13, rcx
cmp qword [rcx + 0x300], r14
jne 0x140041a5b
test dword [rcx + 0x2d8], 0x2000
pushf
mov eax, 0x1137d50
xor eax, 0x49bcbb82
xor eax, 0x3150622c
xor eax, 0x79ffa401
popf
pushf
mov edi, 0x60f7cd98
xor edi, 0x5e4a17f4
sub edi, 0x2ed3ac9b
sub edi, 0xfe92dd2
popf
pushf
mov edx, 0x45f7e9ab
sub edx, 0x18a5e3d3
add edx, 0x22dabc72
xor edx, 0x502cc25a
popf
cmovne edi, eax
mov ecx, edi
shl rcx, 4
call fcn.1400c19f0
mov rcx, rax
movaps xmm0, xmmword [0x1404ed590]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
sub rdi, 1
jne 0x140041a3c
mov qword [r13 + 0x300], rcx
mov rax, qword [0x1404ec4d0]
movabs rcx, 0x5052130803c588d0
xor rcx, 0x6caef3a3
xor rcx, 0x66f54b73
add rcx, 0x6ac707b2
xor rax, rcx
movabs rcx, 0x33d0173c72ecc97b
xor rcx, 0x2e2eb5f7
sub rcx, 0xffcdeb0
add rcx, 0x76602783
sub rax, rcx
movabs rcx, 0x386d999709ab096d
xor rcx, 0x3318eaaa
add rcx, 0x9df07ec
add rcx, 0xb6b3dbc
xor rax, rcx
movabs rcx, 0xefdb95830f9af813
xor rcx, 0x709f3b1
add rcx, 0x127fb14f
add rcx, 0x7fffffff
add rcx, 0x4cbadd91
add rax, rcx
xor ecx, ecx
call rax
mov qword [rbp + 0x148], rax
mov r15, rax
test rax, rax
je 0x14004314d
mov rax, qword [0x1404ec4f8]
movabs rcx, 0xccf3220e7cfe769a
xor rcx, 0x20482401
xor rcx, 0x3fdfd6a8
sub rcx, 0x462cb636
add rax, rcx
mov qword [rsp + 0x1e8], r12
rol rax, 0x1f
mov edi, 0x370bdaf7
xor edi, 0x34f7c982
xor edi, 0x79f45037
sub edi, 0x7a084341
not rax
mov qword [rbp + 0xd0], r14
ror rax, 3
mov edx, edi
mov rcx, r15
call rax
lea r8, [r13 + 0x298]
mov rcx, r13
lea rdx, [rbp + 0x50]
call fcn.14003ffa0
mov qword [rsp + 0x40], rax
mov r12, rax
test rax, rax
je 0x1400430de
mov rax, qword [0x1404ec510]
movabs rcx, 0x4ed650b652c14a96
sub rcx, 0x25f5bcff
xor rcx, 0x668b7bac
add rcx, 0x6955718e
mov rdx, qword [r12]
xor rax, rcx
movabs rcx, 0x565d08a59113c15
sub rcx, 0x45888262
xor rcx, 0x6e3bd9
add rcx, 0x7fffffff
xor rcx, 0xcb7577b
add rax, rcx
movabs rcx, 0xa18a9e3b3dfdc19c
xor rcx, 0x3a78d93
xor rcx, 0x79394185
xor rax, rcx
mov rcx, r15
call rax
mov rax, qword [0x1404ec520]
movabs rcx, 0x50782dd9210a79ae
add rcx, 0x3ee1bdd1
xor rcx, 0x72c25a93
add rcx, 0x540c9fee
ror rax, 3
mov edx, 0x493ebed4
sub edx, 0x168fc61c
sub edx, 0x2206bf1b
xor edx, 0x1057c662
add rax, rcx
movabs rcx, 0x68e9e79c4c046c52
xor rcx, 0x1d1ced66
sub rcx, 0x14dad759
xor rax, rcx
mov rcx, r15
not rax
call rax
mov rax, qword [0x1404ec528]
movabs rcx, 0x56c967475b6620e2
xor rcx, 0x7fb5d7ac
add rcx, 0x4088f2a7
add rcx, 0x7fffffff
add rcx, 0x150306f4
not rax
xor edx, edx
ror rax, 0xf
xor rax, rcx
movabs rcx, 0x28a0eee307416645
add rcx, 0x46e8ec24
sub rcx, 0x219d1da8
add rax, rcx
mov rcx, r15
call rax
mov rax, qword [0x1404ec530]
movabs rcx, 0x2c64142e1ccdadb0
add rcx, 0x5d3f442f
xor rcx, 0x4cd0aed3
add rcx, 0x7fffffff
xor rcx, 0x3d609222
not rax
xor edx, edx
add rax, rcx
movabs rcx, 0x2d7c20c63c0989fb
sub rcx, 0x2238e417
add rcx, 0x7fffffff
sub rcx, 0x106f721a
xor rax, rcx
mov rcx, r15
ror rax, 0x21
call rax
mov eax, 0x52119105
sub eax, 0x4d8b7a68
add eax, 0x29ccd98d
sub eax, 0x2e52f00a
lea r9, [rbp + 0x10]
mov dword [rbp + 0x140], eax
lea rdx, [rbp + 0x140]
mov rax, qword [0x1404ec538]
movabs rcx, 0x24d777da53d9531d
add rcx, 0x25570d85
sub rcx, 0x17a8dc22
rol rax, 0x10
mov r8d, edi
add rcx, rax
movabs rax, 0x1880ce97589181aa
xor rax, 0x6cdb522e
sub rax, 0x30752df8
xor rax, 0x15ff8c94
ror rcx, 0x1c
add rax, rcx
mov rcx, r15
call rax
mov eax, dword [rbp + 0x10]
cdq
and edx, 3
add eax, edx
sar eax, 2
inc eax
xor eax, 0x5d9f74cd
mov dword [r13 + 0x2f4], eax
mov eax, dword [r13 + 0x2d8]
bt eax, 0xd
jae 0x140041f17
mov edx, 0x1a62c527
add edx, 0x5a1b6c74
sub edx, 0x747e318b
mov dword [r12 + 0x10], 0x16f95c56
add dword [r12 + 0x10], 0x2e269e27
add dword [r12 + 0x10], 0xd5fe080
sub dword [r12 + 0x10], 0x527fda9d
mov ecx, 0x6807290e
sub ecx, 0x97b7d67
xor ecx, 0x5e8bab65
call fcn.1400c19f0
movdqa xmm4, xmmword [0x140002780]
mov rcx, rax
movdqa xmm5, xmmword [0x140002790]
mov edx, 0x5d48fb2f
xor edx, 0x448ca53d
xor edx, 0x19c45e1a
mov qword [r12 + 8], rax
nop dword [rax + rax]
lea eax, [rdx - 8]
movq xmm2, xmm5
movd xmm0, eax
lea rcx, [rcx + 0x20]
pshufd xmm0, xmm0, 0
lea eax, [rdx - 4]
paddd xmm0, xmm4
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm0, eax
pshufd xmm0, xmm0, 0
lea eax, [rdx + 4]
movq qword [rcx - 0x20], xmm3
paddd xmm0, xmm4
pshufhw xmm0, xmm0, 0xd8
movq xmm2, xmm5
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm0, edx
movq qword [rcx - 0x18], xmm3
movq xmm2, xmm5
pshufd xmm0, xmm0, 0
nop
sub edx, 0xa577f5a
add edx, 0xa577f6a
paddd xmm0, xmm4
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movd xmm0, eax
lea eax, [rdx - 8]
pshufd xmm0, xmm0, 0
pshufd xmm3, xmm1, 0xd8
paddd xmm0, xmm4
pshufhw xmm0, xmm0, 0xd8
paddw xmm3, xmm2
movq qword [rcx - 0x10], xmm3
movq xmm2, xmm5
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movq qword [rcx - 8], xmm3
cmp eax, 0x60
jl 0x140041e3d
mov word [rcx], r14w
mov rax, qword [rbp + 0xd0]
jmp 0x1400426e8
bt eax, 0xf
jae 0x1400422d1
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x39d54aa6
add dword [rsp + 0x30], 0x22a951d3
xor dword [rsp + 0x30], 0xcb75b5a
xor dword [rsp + 0x30], 0x15c8bd65
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x34], 0xe21e1f8
sub dword [rsp + 0x34], 0x72fd140
add dword [rsp + 0x34], 0x39c829dd
add dword [rsp + 0x34], 0x105325cf
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x38], 0x57157424
xor dword [rsp + 0x38], 0x78994b6c
add dword [rsp + 0x38], 0x26aef437
mov word [rsp + 0x3c], 0x1626
add word [rsp + 0x3c], 0x3a09
sub word [rsp + 0x3c], 0x463e
xor word [rsp + 0x3c], 0x7fb2
mov eax, 0x1f27ae27
sub eax, 0x7ff7cd
xor eax, 0x1ea7b655
mov byte [rsp + 0x3e], 0x38
sub byte [rsp + 0x3e], 0x38
add byte [rsp + 0x3e], 0x18
sub byte [rsp + 0x3e], 0xd
mov qword [rsp + 0x50], rcx
mov qword [rbp - 0x78], rax
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
cmp rcx, rdx
je 0x140041fef
call fcn.1400c1b60
mov rax, qword [rbp - 0x78]
lea rdx, [rsp + 0x58]
xorps xmm0, xmm0
mov qword [rsp + 0x50], rdx
mov rcx, r14
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
test rax, rax
je 0x140042033
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp - 0x78]
jb 0x14004201d
lea r8, [rsp + 0x50]
mov rcx, r13
lea rdx, [rbp + 0x50]
call fcn.14003ffa0
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
cmp rcx, rax
jne 0x14004207c
lea rdi, [rsp + 0x58]
xor eax, eax
mov ecx, 0x1442198
add ecx, 0x2da5ceaf
add ecx, 0x4e418f8
sub ecx, 0x33ce090f
rep stosb byte [rdi], al
jmp 0x140042081
call fcn.1400c1b60
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x30391ebf
add dword [rsp + 0x30], 0x20b6d671
sub dword [rsp + 0x30], 0x49fd07b5
add dword [rsp + 0x30], 0x5b4f52cb
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x34], 0x13624ab4
sub dword [rsp + 0x34], 0x22e4504
add dword [rsp + 0x34], 0x46f12d92
lea rdx, [rbp - 0x68]
mov dword [rsp + 0x38], 0x220382b6
xor dword [rsp + 0x38], 0x2b41cc8c
add dword [rsp + 0x38], 0x7c8d0b2
add dword [rsp + 0x38], 0x43005c93
mov qword [rbp - 0x70], rcx
mov eax, 0x62f85702
add eax, 0xe3aa068
xor eax, 0x6ed45857
xor eax, 0x1fe6af31
mov qword [rbp - 0x38], rax
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
cmp rcx, rdx
je 0x14004211e
call fcn.1400c1b60
mov rax, qword [rbp - 0x38]
lea rdx, [rbp - 0x68]
xorps xmm0, xmm0
mov qword [rbp - 0x70], rdx
mov rcx, r14
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
test rax, rax
je 0x140042157
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp - 0x38]
jb 0x140042141
lea r8, [rbp - 0x70]
mov rcx, r13
lea rdx, [rbp + 0x50]
call fcn.14003ffa0
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x68]
cmp rcx, rax
jne 0x140042196
lea rdi, [rbp - 0x68]
xor eax, eax
mov ecx, 0x14478943
add ecx, 0x5ea902ed
xor ecx, 0x72f08c00
rep stosb byte [rdi], al
jmp 0x14004219b
call fcn.1400c1b60
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x27caf8a5
xor dword [rsp + 0x30], 0x447e4594
sub dword [rsp + 0x30], 0x513ecac9
add dword [rsp + 0x30], 0x3d987fde
lea rcx, [rbp - 0x28]
mov dword [rsp + 0x34], 0x3c62ca28
sub dword [rsp + 0x34], 0x5512203
add dword [rsp + 0x34], 0x3930d559
lea rdx, [rbp - 0x28]
mov dword [rsp + 0x38], 0xf715000
add dword [rsp + 0x38], 0xa5df16e
xor dword [rsp + 0x38], 0x47c5260a
mov byte [rsp + 0x3c], 0x41
sub byte [rsp + 0x3c], 0x32
xor byte [rsp + 0x3c], 6
add byte [rsp + 0x3c], 0x5f
mov eax, 0x514a1c10
sub eax, 0x1602acb8
xor eax, 0x3b476f55
mov qword [rbp - 0x30], rcx
mov qword [rbp + 8], rax
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
cmp rcx, rdx
je 0x14004223f
call fcn.1400c1b60
mov rax, qword [rbp + 8]
lea rdx, [rbp - 0x28]
xorps xmm0, xmm0
mov qword [rbp - 0x30], rdx
mov rcx, r14
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
test rax, rax
je 0x140042287
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp + 8]
jb 0x140042271
lea r8, [rbp - 0x30]
mov rcx, r13
lea rdx, [rbp + 0x50]
call fcn.14003ffa0
mov rcx, qword [rbp - 0x30]
lea rax, [rbp - 0x28]
cmp rcx, rax
jne 0x1400422cc
lea rdi, [rbp - 0x28]
xor eax, eax
mov ecx, 0x5128a60f
sub ecx, 0x3782cc3b
add ecx, 0x2cac85bf
sub ecx, 0x46525f63
rep stosb byte [rdi], al
jmp 0x1400422d1
call fcn.1400c1b60
mov rax, qword [0x1404ec580]
movabs rdi, 0x15f88331432f3392
sub rdi, 0x127ba5e4
xor rdi, 0x4b23ccb
add rdi, 0x7fffffff
add rdi, 0x3d59fef6
ror rax, 2
movabs rbx, 0x83a1968e62976202
sub rbx, 0x87ab2f5
sub rbx, 0x4c2ac70
sub rbx, 0x45dd1a8e
add rax, rdi
xor edx, edx
xor rax, rbx
mov rcx, r15
call rax
mov ecx, eax
call fcn.1400c1e00
mov rdx, rax
mov qword [r12 + 0x18], rax
mov rax, qword [0x1404ec580]
mov rcx, r15
ror rax, 2
add rax, rdi
xor rax, rbx
call rax
mov rax, qword [r12 + 0x18]
mov edx, 0x47cd6a3f
xor edx, 0x4ac03763
add edx, 0x9e315e1
xor edx, 0x16f0732d
mov eax, dword [rax + 8]
mov dword [r12 + 0x10], eax
inc eax
movsxd rdi, eax
neg rdi
add rdi, 0xfffffffffffffff1
neg rdi
and rdi, 0xfffffffffffffff0
add rdi, rdi
mov rcx, rdi
call fcn.1400c19f0
mov r8, rdi
mov qword [r12 + 8], rax
xor edx, edx
mov rcx, rax
call fcn.1400c2100
mov rax, qword [r12 + 0x18]
mov rdx, qword [r12 + 8]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x140042419
mov r9, r14
mov r10d, ecx
nop word [rax + rax]
movzx edi, word [rax + r9 + 0x12]
movzx ecx, r14w
movzx r8d, word [rax + r9 + 0x10]
cmp r14w, di
jae 0x14004240b
nop word [rax + rax]
lea eax, [r8 + rcx]
inc cx
mov word [rdx], ax
sub rdx, 0xfffffffffffffffe
cmp cx, di
jb 0x1400423ef
mov rax, qword [r12 + 0x18]
add r9, 4
sub r10, 1
jne 0x1400423cb
mov rax, qword [rbp + 0xd0]
mov r8d, 0x60bcb65b
sub r8d, 0x49ece93b
xor r8d, 0x6ef1c300
sub r8d, 0x783e0e1f
mov ebx, r8d
cmp r8, rax
jae 0x1400426e8
lea r14, [rbp + 0x88]
xor r13d, r13d
movabs r12, 0x15f88331276702c1
xor r12, 0x58e11cbd
add r12, 0x71d591de
nop
mov rax, qword [0x1404ec510]
movabs rcx, 0x4ed650b63c139de9
sub rcx, 0x973a3c7
xor rcx, 0x602226f2
add rcx, 0x60d88af9
mov rdx, qword [r14 - 0x18]
xor rax, rcx
movabs rcx, 0x565d08a3703ce20
add rcx, 0x11ce7f6b
sub rcx, 0x34664ae0
add rcx, 0x7fffffff
add rcx, 0xae5d268
add rax, rcx
movabs rcx, 0xa18a9e3b526f055c
sub rcx, 0x3c548c82
sub rcx, 0x3b3a5ba
add rcx, 0x34fc3a6a
xor rax, rcx
mov rcx, r15
call rax
mov rax, qword [0x1404ec580]
movabs rdi, 0x83a1968e50b3ecf4
sub rdi, 0x3e88cbdb
sub rdi, 0x2ae390a
ror rax, 2
xor edx, edx
add rax, r12
mov rcx, r15
xor rax, rdi
call rax
mov ecx, eax
call fcn.1400c1e00
mov rdx, rax
mov qword [r14], rax
mov rax, qword [0x1404ec580]
mov rcx, r15
ror rax, 2
add rax, r12
xor rax, rdi
call rax
mov rax, qword [r14]
mov edx, 0x4fcacdc
add edx, 0x7012578c
sub edx, 0x750f0458
mov edi, dword [rax + 8]
inc edi
nop
add rdi, 0x4b2ae68f
sub rdi, 0x4b2ae680
and rdi, 0xfffffffffffffff0
add rdi, rdi
mov rcx, rdi
call fcn.1400c19f0
mov r8, rdi
mov qword [r14 - 0x10], rax
xor edx, edx
mov rcx, rax
call fcn.1400c2100
mov rax, qword [r14]
mov r10, qword [r14 - 0x10]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x14004269f
mov rsi, r13
mov r15d, ecx
nop word [rax + rax]
movzx ecx, word [rax + rsi + 0x12]
movzx r9d, word [rax + rsi + 0x10]
cmp r13w, cx
jae 0x14004267f
mov r11d, ecx
nop dword [rax + rax]
movsx eax, r9w
xor r8b, r8b
mov rdi, r13
movd xmm1, eax
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
test rbx, rbx
je 0x140042660
nop dword [rax]
mov rcx, rdi
shl rcx, 5
mov rax, qword [rbp + rcx + 0x58]
movsxd rcx, dword [rbp + rcx + 0x60]
lea rdx, [rax + rcx*2]
cmp rax, rdx
jae 0x14004264b
nop word [rax + rax]
lea rcx, [rax + 0x10]
prefetcht0 byte [rcx]
movdqa xmm0, xmm1
pcmpeqw xmm0, xmmword [rax]
pmovmskb eax, xmm0
test eax, eax
jne 0x140042639
mov rax, rcx
cmp rcx, rdx
jb 0x14004260d
jmp 0x14004264b
mov r8b, 0x4c
sub r8b, 8
xor r8b, 0x73
sub r8b, 0x36
mov rdi, rbx
inc rdi
cmp rdi, rbx
jb 0x1400425e9
test r8b, r8b
jne 0x14004266e
mov word [r10], r9w
neg r10
add r10, 0xfffffffffffffffe
neg r10
inc r9w
sub r11, 1
jne 0x1400425c5
mov rax, qword [r14]
nop
add rsi, 0x86c29e8
sub rsi, 0x86c29e4
sub r15, 1
jne 0x1400425a5
mov r15, qword [rbp + 0x148]
mov rax, qword [r14 - 0x10]
cmp r10, rax
je 0x1400426b9
sub r10, rax
sar r10, 1
dec r10d
mov dword [r14 - 8], r10d
mov rax, qword [rbp + 0xd0]
inc rbx
neg r14
add r14, 0xffffffffffffffe0
neg r14
cmp rbx, rax
jb 0x14004246a
mov r13, qword [rbp + 0x130]
xor sil, sil
mov r12, qword [rsp + 0x40]
xor r14d, r14d
test rax, rax
lea rcx, [rbp + 0x50]
cmove rcx, r14
je 0x140042709
shl rax, 5
lea rdx, [rbp + 0x50]
add rdx, rax
jmp 0x14004270c
mov rdx, r14
cmp rcx, rdx
je 0x140042743
mov eax, dword [r13 + 0x30c]
nop word [rax + rax]
xor eax, 0x5d9f74cd
add eax, dword [rcx + 0x10]
add rcx, 0x20
xor eax, 0x5d9f74cd
cmp rcx, rdx
jne 0x140042722
mov dword [r13 + 0x30c], eax
cmp dword [r13 + 0x2e8], 0x5d9f74cd
jne 0x140042816
cmp dword [r13 + 0x2ec], 0x5d9f74cd
jne 0x140042816
mov eax, dword [r13 + 0x2f0]
mov ecx, 0x1f3983f4
add ecx, 0x5619a957
sub ecx, 0x75532d0b
mov edx, dword [r13 + 0x30c]
xor eax, 0x5d9f74cd
xor edx, 0x5d9f74cd
mov dword [r13 + 0x2e8], 0x5bfa18de
xor dword [r13 + 0x2e8], 0x449e484c
xor dword [r13 + 0x2e8], 0x739ec914
xor dword [r13 + 0x2e8], 0x3165fd4b
imul edx, eax
mov dword [r13 + 0x2ec], 0x5520cde7
add dword [r13 + 0x2ec], 0x14f3631d
sub dword [r13 + 0x2ec], 0xc74cc37
imul edx, eax
mov eax, ecx
imul eax, ecx
cmp edx, eax
jle 0x140042802
add ecx, ecx
cmp ecx, 0x1000
jle 0x1400427e2
jmp 0x140042816
xor ecx, 0x5d9f74cd
mov dword [r13 + 0x2e8], ecx
mov dword [r13 + 0x2ec], ecx
mov r14d, dword [r13 + 0x2ec]
lea r9, [rsp + 0x48]
mov ebx, dword [r13 + 0x2e8]
lea rdx, [rbp + 0x18]
xor edi, edi
mov dword [rbp + 0x18], 0x1dea190
add dword [rbp + 0x18], 0x566743a2
sub dword [rbp + 0x18], 0x5845e50a
movabs rcx, 0x4082e6770d80d069
add rcx, 0x4520f3a7
sub rcx, 0x4dd4a862
mov dword [rsp + 0x28], edi
xorps xmm0, xmm0
mov qword [rbp + 0x3c], rdi
xor r14d, 0x5d9f74cd
mov qword [rbp + 0x24], 0x67195bf6
sub qword [rbp + 0x24], 0xd0041d1
sub qword [rbp + 0x24], 0x59f91a24
mov eax, r14d
mov qword [rsp + 0x20], rdi
neg eax
xor ebx, 0x5d9f74cd
mov dword [rbp + 0x20], eax
xor r8d, r8d
mov rax, qword [0x1404ec4e0]
xor rax, rcx
mov dword [rbp + 0x1c], ebx
rol rax, 0x15
movabs rcx, 0x2ab0896c64128485
sub rcx, 0x24c5ed8a
add rcx, 0x10a99002
add rcx, 0x63acd0a7
xor rax, rcx
mov rcx, r15
ror rax, 0xe
movdqu xmmword [rbp + 0x2c], xmm0
call rax
mov qword [rsp + 0x30], rax
mov r15, rax
test rax, rax
je 0x1400430d7
mov rax, qword [0x1404ec510]
movabs rcx, 0x4ed650b602dbd3c1
add rcx, 0x7bfa761
xor rcx, 0x2f8cff5d
add rcx, 0x7fffffff
add rcx, 0xe7ee34b
xor rax, rcx
mov rdx, r15
movabs rcx, 0x565d08a08f210d4
add rcx, 0x24680678
add rcx, 0x71f7bdc6
add rax, rcx
movabs rcx, 0xa18a9e3b362c97c2
add rcx, 0x4c78381
add rcx, 0xd01e627
xor rcx, 0x950ce0
xor rax, rcx
mov rcx, qword [rbp + 0x148]
call rax
mov eax, dword [r13 + 0x2f4]
lea r9, [rsp + 0x40]
mov r8, r12
mov dword [rsp + 0x44], edi
mov r12, qword [rbp + 0x148]
xor eax, 0x5d9f74cd
mov rdx, r12
mov dword [rsp + 0x40], eax
mov rcx, r13
call fcn.1400440d0
test al, al
je 0x14004305b
mov rax, qword [rbp + 0xd0]
lea rdi, [rbp + 0x70]
test rax, rax
pushf
mov ecx, 0x8244fed
add ecx, 0x3a8d630c
xor ecx, 0x42b1b2d9
popf
cmove rdi, rcx
je 0x1400429da
shl rax, 5
lea rsi, [rbp + 0x50]
add rsi, rax
jmp 0x1400429dc
xor esi, esi
cmp rdi, rsi
jae 0x140042a07
nop
lea r9, [rsp + 0x40]
mov r8, rdi
mov rdx, r12
mov rcx, r13
call fcn.1400440d0
add rdi, 0x20
cmp rdi, rsi
jb 0x1400429e7
mov eax, r14d
mov edi, 0x11f27faf
add edi, 0x3f7a6cd2
xor edi, 0x1952a539
sub edi, 0x483e49b4
imul eax, ebx
movsxd rcx, eax
mov eax, edi
mul rcx
pushf
movabs rcx, 0xffffffff57ac6543
xor rcx, 0x46f23d8b
add rcx, 0x7fffffff
add rcx, 0x6ea1a738
popf
cmovb rax, rcx
mov rcx, rax
call fcn.1400c1980
mov r10, rax
mov rax, qword [rbp + 0x138]
mov qword [rax], r10
test r14d, r14d
jle 0x140042c0a
movdqa xmm2, xmmword [0x1400027a0]
lea eax, [rbx - 1]
movsxd rcx, eax
xor esi, esi
sub rdi, rcx
movsxd r13, ebx
mov r12, r10
lea r15, [rcx*4]
lea rax, [r10 + rdi*4]
mov r8, r15
mov qword [rbp + 0x138], rax
sub r12, r15
lea rax, [r13*4]
xor edi, edi
test ebx, ebx
jle 0x140042bee
cmp ebx, 0x10
jb 0x140042b9d
mov rdx, qword [rsp + 0x48]
lea rcx, [r12 + r8]
mov r9, r8
sub r9, r15
add r9, rdx
lea rax, [rdx + r8]
cmp rcx, rax
ja 0x140042aea
lea rax, [r10 + r8]
cmp rax, r9
jae 0x140042ba2
mov ecx, ebx
and ecx, 0x8000000f
jge 0x140042aff
dec ecx
or ecx, 0xfffffff0
inc ecx
mov rdx, qword [rsp + 0x48]
mov eax, ebx
sub eax, ecx
xor ecx, ecx
movsxd r11, eax
mov rax, qword [rbp + 0x138]
add rax, r8
sub rdx, r10
nop dword [rax]
movdqu xmm0, xmmword [rax + rdx - 0x10]
nop
sub edi, 0x465bfdae
add edi, 0x465bfdbe
nop
add rcx, 0x7708a926
sub rcx, 0x7708a916
movdqu xmm1, xmmword [rax + rdx]
lea rax, [rax + 0x40]
pslld xmm0, 0x18
pslld xmm1, 0x18
orps xmm0, xmm2
orps xmm1, xmm2
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [rax + rdx - 0x30]
movdqu xmmword [rax - 0x40], xmm1
pslld xmm0, 0x18
orps xmm0, xmm2
movdqu xmm1, xmmword [rax + rdx - 0x20]
movdqu xmmword [rax - 0x30], xmm0
pslld xmm1, 0x18
orps xmm1, xmm2
movdqu xmmword [rax - 0x20], xmm1
cmp rcx, r11
jl 0x140042b21
cmp edi, ebx
jge 0x140042be6
mov rdx, qword [rsp + 0x48]
movsxd rcx, edi
mov eax, ebx
add rcx, rsi
shl rcx, 2
sub eax, edi
mov edi, eax
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rdx + rcx]
lea rcx, [rcx + 4]
shl eax, 0x18
or eax, 0xffffff
mov dword [r10 + rcx - 4], eax
sub rdi, 1
je 0x140042be6
mov rdx, qword [rsp + 0x48]
jmp 0x140042bbe
lea rax, [r13*4]
add r8, rax
add rsi, r13
sub r14, 1
jne 0x140042aab
mov r15, qword [rsp + 0x30]
mov r13, qword [rbp + 0x130]
mov eax, dword [r13 + 0x2d8]
test al, 2
je 0x140042ed4
mov r8d, dword [r13 + 0x2e8]
mov r11d, 0x501c7624
add r11d, 0x2d38b755
sub r11d, 0x4e42461b
sub r11d, 0x2f12e75e
mov esi, dword [r13 + 0x2ec]
xor r8d, 0x5d9f74cd
xor esi, 0x5d9f74cd
jle 0x14004304c
mov r9d, esi
shl r9, 2
mov rax, r10
xor edi, edi
sub rax, r9
add r10, r9
test r8d, r8d
jle 0x140042ec3
mov rbx, r10
lea rdx, [rax + 4]
sub rbx, rax
test dword [rdx + r9 - 4], 0xff000000
setne cl
test dword [rdx + r9 - 4], 0xffffff
setne al
test al, cl
je 0x140042eae
test r11d, r11d
je 0x140042d53
test dword [rdx - 4], 0xff000000
setne cl
test dword [rdx - 4], 0xffffff
setne al
test al, cl
jne 0x140042cdb
mov dword [rdx - 4], 0x53dfbf5a
sub dword [rdx - 4], 0x3a3e0a6
sub dword [rdx - 4], 0x17a547a6
xor dword [rdx - 4], 0xc796970e
test edi, edi
je 0x140042d1b
test dword [rdx - 8], 0xff000000
setne cl
test dword [rdx - 8], 0xffffff
setne al
test al, cl
jne 0x140042d1b
mov dword [rdx - 8], 0x1fa5052f
xor dword [rdx - 8], 0xc87d28d
xor dword [rdx - 8], 0x4b26b7e9
xor dword [rdx - 8], 0xa704604b
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140042d53
test dword [rdx], 0xff000000
setne cl
test dword [rdx], 0xffffff
setne al
test al, cl
jne 0x140042d53
mov dword [rdx], 0x2e260bbd
add dword [rdx], 0x1eb6696a
add dword [rdx], 0xb2238ad9
lea eax, [rsi - 1]
cmp r11d, eax
jge 0x140042e18
test dword [rbx + rdx - 4], 0xff000000
setne cl
test dword [rbx + rdx - 4], 0xffffff
setne al
test al, cl
jne 0x140042d95
mov dword [rbx + rdx - 4], 0x34d2ec8b
xor dword [rbx + rdx - 4], 0x1675168
add dword [rbx + rdx - 4], 0xc94a421d
test edi, edi
je 0x140042ddb
test dword [rbx + rdx - 8], 0xff000000
setne cl
test dword [rbx + rdx - 8], 0xffffff
setne al
test al, cl
jne 0x140042ddb
mov dword [rbx + rdx - 8], 0x3b0c8053
add dword [rbx + rdx - 8], 0x15a6a20c
sub dword [rbx + rdx - 8], 0x10a9b567
xor dword [rbx + rdx - 8], 0xbf096cf8
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140042e18
test dword [rbx + rdx], 0xff000000
setne cl
test dword [rbx + rdx], 0xffffff
setne al
test al, cl
jne 0x140042e18
mov dword [rbx + rdx], 0x5dc28c57
xor dword [rbx + rdx], 0x416d2b0b
xor dword [rbx + rdx], 0xe3afa75c
test edi, edi
je 0x140042e64
test dword [r9 + rdx - 8], 0xff000000
setne cl
test dword [r9 + rdx - 8], 0xffffff
setne al
test al, cl
jne 0x140042e64
mov dword [r9 + rdx - 8], 0x1497b183
add dword [r9 + rdx - 8], 0x12f0de18
add dword [r9 + rdx - 8], 0x3cef40e7
xor dword [r9 + rdx - 8], 0x9b77d082
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140042eae
test dword [rdx + r9], 0xff000000
setne cl
test dword [rdx + r9], 0xffffff
setne al
test al, cl
jne 0x140042eae
mov dword [rdx + r9], 0x2f28cb7d
add dword [rdx + r9], 0x3e5ce8a0
sub dword [rdx + r9], 0x4ca88f7
add dword [rdx + r9], 0x9644d4da
inc edi
neg rdx
add rdx, 0xfffffffffffffffc
neg rdx
cmp edi, r8d
jl 0x140042c7a
inc r11d
cmp r11d, esi
jl 0x140042c5c
jmp 0x14004304c
test al, 1
je 0x14004304c
mov r8d, dword [r13 + 0x2e8]
mov r11d, 0x5e7cb34a
xor r11d, 0x79e5f29a
add r11d, 0x2308c5d2
xor r11d, 0x4aa207a2
mov ebx, dword [r13 + 0x2ec]
xor r8d, 0x5d9f74cd
xor ebx, 0x5d9f74cd
jle 0x14004304c
nop dword [rax]
nop dword [rax + rax]
xor edi, edi
lea rsi, [r10 + rbx*4]
test r8d, r8d
jle 0x14004303d
mov r9, rsi
lea rdx, [r10 + 4]
sub r9, r10
nop dword [rax]
test dword [rdx - 4], 0xff000000
setne cl
test dword [rdx - 4], 0xffffff
setne al
test al, cl
je 0x14004302e
lea eax, [rbx - 1]
cmp r11d, eax
jge 0x140042ff6
test dword [r9 + rdx - 4], 0xff000000
setne cl
test dword [r9 + rdx - 4], 0xffffff
setne al
test al, cl
jne 0x140042fa7
mov dword [r9 + rdx - 4], 0x1b23fc08
xor dword [r9 + rdx - 4], 0x6063c95b
add dword [r9 + rdx - 4], 0x83bfcaad
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140042ff6
test dword [r9 + rdx], 0xffffff
setne cl
test dword [r9 + rdx], 0xff000000
setne al
test al, cl
jne 0x140043002
mov dword [r9 + rdx], 0x41384fcf
sub dword [r9 + rdx], 0x380612c
sub dword [r9 + rdx], 0x14e7ba3f
xor dword [r9 + rdx], 0xd7d03464
jmp 0x140043002
lea eax, [r8 - 1]
cmp edi, eax
jge 0x14004302e
test dword [rdx], 0xffffff
setne cl
test dword [rdx], 0xff000000
setne al
test al, cl
jne 0x14004302e
mov dword [rdx], 0x58059598
xor dword [rdx], 0x6693d02
add dword [rdx], 0xa0935766
inc edi
add rdx, 4
cmp edi, r8d
jl 0x140042f44
inc r11d
mov r10, rsi
cmp r11d, ebx
jl 0x140042f24
mov sil, 0x61
sub sil, 0xf
sub sil, 0x46
sub sil, 0xb
mov rax, qword [0x1404ec568]
movabs rcx, 0x7de5dce925cc1577
add rcx, 0x20d7294a
sub rcx, 0x423fbd1c
add rcx, 0x4ce483ba
not rax
xor rax, rcx
movabs rcx, 0x32c4ea0c60e4b409
xor rcx, 0x530c2220
xor rcx, 0x5660e2f7
add rcx, 0x7fffffff
sub rcx, 0x1ccd5411
add rax, rcx
movabs rcx, 0x74ce10307044bc1d
add rcx, 0x68465b6
sub rcx, 0x2735759c
xor rcx, 0x73dc8e4d
xor rax, rcx
mov rcx, r15
call rax
mov r15, qword [rbp + 0x148]
mov rdx, qword [0x1404ec570]
movabs rax, 0x55136d502e856f08
sub rax, 0x1a96541f
xor rax, 0x546523cd
add rax, 0x7fffffff
add rax, 0x2338d843
rol rdx, 0x17
mov rcx, r15
add rdx, rax
movabs rax, 0xd3f270187ed1bb83
sub rax, 0x78f0ec64
add rax, 0x15e330fd
add rax, 0x7fffffff
add rax, 0x5d5a3710
ror rdx, 0xc
add rdx, rax
call rdx
lea rcx, [rbp + 0x50]
call fcn.14003ebc0
mov r12, qword [rsp + 0x1e8]
movzx eax, sil
sub rsp, 0x75e6eaa7
add rsp, 0x75e6ec97
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret