Function at 0x140034c78
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]
sub rsp, 0x9b0ea0
add rsp, 0x9b0cb0
xor r14d, r14d
xor r13b, r13b
mov qword [rdx], r14
mov rsi, rcx
cmp qword [rcx + 0x300], r14
jne 0x140034c5a
test dword [rcx + 0x2d8], 0x2000
pushf
mov eax, 0x6312e20b
sub eax, 0x110b9a5e
xor eax, 0x52074752
popf
pushf
mov edi, 0x3d0a97ea
xor edi, 0x549b264c
sub edi, 0x6990b1a7
popf
pushf
mov edx, 0x72f1a38d
sub edx, 0x4274b656
xor edx, 0x307ced27
popf
cmovne edi, eax
mov ecx, edi
shl rcx, 4
call fcn.140098670
mov rcx, rax
movaps xmm0, xmmword [0x1404a8590]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
sub rdi, 1
jne 0x140034c3b
mov qword [rsi + 0x300], rcx
mov rdx, qword [0x1404a74d0]
movabs rcx, 0x1596174a609d3f0f
xor rcx, 0x2569fd44
add rcx, 0x36aaa82b
sub rcx, 0x7b64e0f0
add rdx, rcx
movabs rax, 0x612a6b730157bf64
xor rax, 0x533566e6
sub rax, 0x190baf8a
add rax, 0xe359778
not rdx
xor ecx, ecx
sub rdx, rax
not rdx
call rdx
mov qword [rbp + 0x148], rax
mov r15, rax
test rax, rax
je 0x140036309
mov rax, qword [0x1404a74f8]
movabs rcx, 0x3ccd5a2a6dcc2b5a
sub rcx, 0x4a88a762
add rcx, 0x4819ee0c
add rcx, 0x7fffffff
sub rcx, 0x1580ec4c
rol rax, 4
mov edi, 0x2b961bd0
add edi, 0x30f4bd61
sub edi, 0x202dda5f
sub edi, 0x3c5cfed1
xor rax, rcx
mov qword [rsp + 0x1e8], r12
rol rax, 8
movabs rcx, 0x9857c9cc46fbbf0c
add rcx, 0x2ac59998
sub rcx, 0x9f5c030
add rax, rcx
mov qword [rbp + 0xd0], r14
mov rcx, r15
mov edx, edi
call rax
lea r8, [rsi + 0x298]
mov rcx, rsi
lea rdx, [rbp + 0x50]
call fcn.140033780
mov qword [rsp + 0x48], rax
mov r12, rax
test rax, rax
je 0x140036291
mov rax, qword [0x1404a7510]
movabs rcx, 0x722c3c8a569261ba
xor rcx, 0x10fec88c
add rcx, 0x1a940b9
add rcx, 0x7fffffff
add rcx, 0x1cef15c8
mov rdx, qword [r12]
rol rax, 0x32
not rax
sub rax, rcx
mov rcx, r15
ror rax, 0xa
call rax
mov rax, qword [0x1404a7520]
movabs rcx, 0x38d87798106e41e4
add rcx, 0xe68f580
add rcx, 0x5e56975f
not rax
mov edx, 0x390d43d6
add edx, 0x22f311be
sub edx, 0x5b005595
add rax, rcx
movabs rcx, 0x48fe17125313952c
xor rcx, 0x65d55c09
add rcx, 0x7fffffff
xor rcx, 0x3737a614
xor rax, rcx
movabs rcx, 0x3f0323e55da3ee6d
xor rcx, 0x791625d0
sub rcx, 0x18c239d2
add rcx, 0x7fffffff
xor rcx, 0x21a159cd
add rax, rcx
mov rcx, r15
call rax
mov rax, qword [0x1404a7528]
movabs rcx, 0x1533fe721321410
xor rcx, 0x2c07c1e1
add rcx, 0x261aded3
add rcx, 0x7fffffff
add rcx, 0x15387886
not rax
xor edx, edx
sub rax, rcx
mov rcx, r15
ror rax, 0x39
not rax
call rax
mov rax, qword [0x1404a7530]
movabs rcx, 0x172e55016504a20f
sub rcx, 0x26ec22a7
add rcx, 0x183480bd
xor rcx, 0x246fc612
xor rax, rcx
xor edx, edx
movabs rcx, 0x53ee9ca8750254c2
sub rcx, 0x5f111afb
add rcx, 0x7fffffff
add rcx, 0x3bd7fca4
add rax, rcx
movabs rcx, 0x782c6e5a3c0e0fbd
add rcx, 0x324d3395
sub rcx, 0x2eb82edc
xor rax, rcx
movabs rcx, 0x529ded83521f8157
sub rcx, 0x3060bb8a
xor rcx, 0x5a2217ec
sub rax, rcx
mov rcx, r15
call rax
mov eax, 0x32b82c6f
sub eax, 0x12f96274
xor eax, 0x660267c
sub eax, 0x19deef67
lea r9, [rbp + 0x10]
mov dword [rbp + 0x140], eax
lea rdx, [rbp + 0x140]
mov rax, qword [0x1404a7538]
movabs rcx, 0x913258fa789f4c5d
sub rcx, 0x12020009
sub rcx, 0x30f6ba8f
add rcx, 0x140dd142
add rax, rcx
mov r8d, edi
not rax
movabs rcx, 0x27b965860fa86531
add rcx, 0x60caa00c
xor rcx, 0x4cd77047
add rcx, 0x7fffffff
add rcx, 0x2914e6e9
add rax, rcx
mov rcx, r15
rol rax, 0x37
call rax
mov eax, dword [rbp + 0x10]
cdq
and edx, 3
add eax, edx
sar eax, 2
inc eax
xor eax, 0x63c4968
mov dword [rsi + 0x2f4], eax
mov eax, dword [rsi + 0x2d8]
bt eax, 0xd
jae 0x1400350df
mov ecx, 0x35706eac
sub ecx, 0x7c4d319
xor ecx, 0x4cc44879
xor ecx, 0x616fd328
mov dword [r12 + 0x10], 0x6776f097
sub dword [r12 + 0x10], 0x1995a9f4
xor dword [r12 + 0x10], 0x4de146c3
call fcn.1400985f0
movdqa xmm4, xmmword [0x140001bd0]
mov rcx, rax
movdqa xmm5, xmmword [0x140001be0]
mov edx, 0x6d10ef49
sub edx, 0x1a124fd9
sub edx, 0x308499c3
xor edx, 0x227a05a5
mov qword [r12 + 8], rax
nop dword [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
sub edx, 0xfffffff0
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 0x14003500f
mov word [rcx], r14w
mov rax, qword [rbp + 0xd0]
jmp 0x1400358e5
bt eax, 0xf
jae 0x14003548a
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0xb210c95
add dword [rsp + 0x30], 0x6bc18722
sub dword [rsp + 0x30], 0x468e5c11
sub dword [rsp + 0x30], 0xc700242
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x34], 0x129ff196
add dword [rsp + 0x34], 0x492ae525
sub dword [rsp + 0x34], 0x23e2a775
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x38], 0x1dd4ec35
add dword [rsp + 0x38], 0x4ce96ec6
sub dword [rsp + 0x38], 0x39dfde9e
mov word [rsp + 0x3c], 0x6ec2
xor word [rsp + 0x3c], 0x5123
sub word [rsp + 0x3c], 0x680
mov eax, 0x74a39af5
xor eax, 0x7eede44
sub eax, 0x734d44a2
mov byte [rsp + 0x3e], 0x74
xor byte [rsp + 0x3e], 0x3f
add byte [rsp + 0x3e], 0xa3
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 0x1400351a3
call fcn.140098730
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 0x1400351e7
nop word [rax + rax]
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp - 0x78]
jb 0x1400351d1
lea r8, [rsp + 0x50]
mov rcx, rsi
lea rdx, [rbp + 0x50]
call fcn.140033780
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
cmp rcx, rax
jne 0x140035230
lea rdi, [rsp + 0x58]
xor eax, eax
mov ecx, 0x4a51978
add ecx, 0x4f439714
xor ecx, 0x2fcd7307
sub ecx, 0x7c25c35b
rep stosb byte [rdi], al
jmp 0x140035235
call fcn.140098730
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x4b50b28a
sub dword [rsp + 0x30], 0x153383fa
sub dword [rsp + 0x30], 0x33de35ce
add dword [rsp + 0x30], 0x26816a2
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x34], 0x382c754f
sub dword [rsp + 0x34], 0x199aea6d
xor dword [rsp + 0x34], 0x2051f682
lea rdx, [rbp - 0x68]
mov dword [rsp + 0x38], 0xfd1c457
xor dword [rsp + 0x38], 0x7dac51da
add dword [rsp + 0x38], 0x74f87c3
xor dword [rsp + 0x38], 0x4b23290d
mov qword [rbp - 0x70], rcx
mov eax, 0x3b8c5503
xor eax, 0x50dbcb4
sub eax, 0x4fff9d7
sub eax, 0x3981efd4
mov qword [rbp - 0x38], rax
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
cmp rcx, rdx
je 0x1400352d2
call fcn.140098730
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 0x14003530b
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp - 0x38]
jb 0x1400352f5
lea r8, [rbp - 0x70]
mov rcx, rsi
lea rdx, [rbp + 0x50]
call fcn.140033780
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x68]
cmp rcx, rax
jne 0x140035350
lea rdi, [rbp - 0x68]
xor eax, eax
mov ecx, 0x636c7ac3
sub ecx, 0x17437ba9
add ecx, 0x1ff7332f
xor ecx, 0x6c203279
rep stosb byte [rdi], al
jmp 0x140035355
call fcn.140098730
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x6e08b23c
xor dword [rsp + 0x30], 0x6bdbe36b
xor dword [rsp + 0x30], 0x33386c33
lea rcx, [rbp - 0x28]
mov dword [rsp + 0x34], 0x7d42c1f2
sub dword [rsp + 0x34], 0x3709235b
sub dword [rsp + 0x34], 0x2f926c3b
lea rdx, [rbp - 0x28]
mov dword [rsp + 0x38], 0x1b649ea9
add dword [rsp + 0x38], 0x465e8494
sub dword [rsp + 0x38], 0x1102650e
sub dword [rsp + 0x38], 0x17d195e9
mov byte [rsp + 0x3c], 0x74
xor byte [rsp + 0x3c], 8
xor byte [rsp + 0x3c], 0x71
add byte [rsp + 0x3c], 0x3d
mov eax, 0x5110e5e9
xor eax, 0x3e1d106e
xor eax, 0x132600b0
sub eax, 0x7c2bf52a
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 0x1400353fe
call fcn.140098730
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 0x140035446
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 0x140035430
lea r8, [rbp - 0x30]
mov rcx, rsi
lea rdx, [rbp + 0x50]
call fcn.140033780
mov rcx, qword [rbp - 0x30]
lea rax, [rbp - 0x28]
cmp rcx, rax
jne 0x140035485
lea rdi, [rbp - 0x28]
xor eax, eax
mov ecx, 0x9f9dac6
add ecx, 0x4e9ad241
sub ecx, 0x5894acd7
rep stosb byte [rdi], al
jmp 0x14003548a
call fcn.140098730
mov rax, qword [0x1404a7580]
movabs rbx, 0x6a59249c483f2c76
add rbx, 0x2e2edc26
sub rbx, 0x175911a8
xor rbx, 0x94eda82
rol rax, 0x29
movabs rdi, 0x20480315239e2c74
sub rdi, 0xab3e8d4
add rdi, 0x312365bf
add rdi, 0x7fffffff
xor rdi, 0x771997f7
xor rax, rbx
xor edx, edx
rol rax, 0x35
mov rcx, r15
add rax, rdi
call rax
mov ecx, eax
call fcn.1400989e0
mov rdx, rax
mov qword [r12 + 0x18], rax
mov rax, qword [0x1404a7580]
mov rcx, r15
rol rax, 0x29
xor rax, rbx
rol rax, 0x35
add rax, rdi
call rax
mov rax, qword [r12 + 0x18]
mov eax, dword [rax + 8]
mov dword [r12 + 0x10], eax
inc eax
movsxd rcx, eax
mov eax, 0x47170b23
xor eax, 0x516e43a3
add eax, 0x1fb14bd2
sub eax, 0x362a9450
mul rcx
pushf
movabs rcx, 0xffffffff37317b26
add rcx, 0x2e1b968d
sub rcx, 0x44a3d08a
add rcx, 0x7fffffff
add rcx, 0x5f56bed7
popf
cmovb rax, rcx
mov rcx, rax
call fcn.1400985f0
mov qword [r12 + 8], rax
mov rdx, rax
mov rax, qword [r12 + 0x18]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x140035602
mov r9, r14
mov r10d, ecx
nop dword [rax]
nop word [rax + rax]
movzx edi, word [rax + r9 + 0x12]
movzx ecx, r14w
movzx r8d, word [rax + r9 + 0x10]
cmp r14w, di
jae 0x1400355e9
nop word [rax + rax]
lea eax, [r8 + rcx]
inc cx
mov word [rdx], ax
nop
sub rdx, 0x31161fe6
add rdx, 0x31161fe8
cmp cx, di
jb 0x1400355c2
mov rax, qword [r12 + 0x18]
nop
add r9, 0x5d7dfa7
sub r9, 0x5d7dfa3
sub r10, 1
jne 0x14003559e
mov r8d, 0x5c1b5890
add r8d, 0xac23da0
sub r8d, 0xa5674e0
sub r8d, 0x5c87214f
mov word [rdx], r14w
mov rax, qword [rbp + 0xd0]
mov esi, r8d
cmp r8, rax
jae 0x1400358de
lea rdi, [rbp + 0x88]
movabs r12, 0x204803152ac9156d
add r12, 0xd4af374
xor r12, 0x268d9e8c
add r12, 0x7fffffff
xor r12, 0x238da8c5
mov qword [rsp + 0x30], rdi
mov rax, qword [0x1404a7510]
movabs rcx, 0x722c3c8a5d737717
sub rcx, 0x1714634e
add rcx, 0x23d40544
add rcx, 0x7fffffff
xor rcx, 0xf37e6ba
mov rdx, qword [rdi - 0x18]
rol rax, 0x32
not rax
sub rax, rcx
mov rcx, r15
ror rax, 0xa
call rax
mov rax, qword [0x1404a7580]
xor edx, edx
rol rax, 0x29
mov rcx, r15
xor rax, rbx
rol rax, 0x35
add rax, r12
call rax
mov ecx, eax
call fcn.1400989e0
mov rdx, rax
mov qword [rdi], rax
mov rax, qword [0x1404a7580]
mov rcx, r15
rol rax, 0x29
xor rax, rbx
rol rax, 0x35
add rax, r12
call rax
mov rax, qword [rdi]
nop
movabs rcx, 0xffffffff73e26a76
sub rcx, 0x3f5db327
add rcx, 0x7fffffff
add rcx, 0x4b7b48b1
mov edx, dword [rax + 8]
mov eax, 0x4b62ccb6
sub eax, 0x41651dc6
add eax, 0x192e081a
xor eax, 0x232bb708
inc edx
mul rdx
cmovb rax, rcx
mov rcx, rax
call fcn.1400985f0
mov qword [rdi - 0x10], rax
mov rbx, rax
mov rax, qword [rdi]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x140035879
mov r12, r14
mov r13d, ecx
nop
movzx r15d, word [rax + r12 + 0x10]
movzx r11d, r14w
movzx r14d, word [rax + r12 + 0x12]
xor ecx, ecx
cmp cx, r14w
jae 0x14003582b
nop dword [rax + rax]
xor r10b, r10b
lea edi, [r15 + r11]
test rsi, rsi
je 0x140035803
lea r8, [rbp + 0x60]
mov r9, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r8 - 8]
movsxd rcx, dword [r8]
lea rdx, [rax + rcx*2]
cmp rax, rdx
je 0x1400357e1
cmp word [rax], di
je 0x1400357d2
neg rax
add rax, 0xfffffffffffffffe
neg rax
cmp rax, rdx
jne 0x1400357b1
jmp 0x1400357e1
mov r10b, 0x4a
sub r10b, 0x20
add r10b, 0x26
sub r10b, 0x4f
nop
add r8, 0x41dc7c00
sub r8, 0x41dc7be0
sub r9, 1
jne 0x14003579d
test r10b, r10b
jne 0x140035815
mov word [rbx], di
nop
sub rbx, 0x50513b4f
add rbx, 0x50513b51
inc r11w
cmp r11w, r14w
jb 0x140035779
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi]
neg r12
add r12, 0xfffffffffffffffc
neg r12
mov r14d, 0x328c58c0
sub r14d, 0x2d232741
xor r14d, 0x569317f
sub r13, 1
jne 0x140035755
mov r15, qword [rbp + 0x148]
movabs r12, 0x2048031548102506
add r12, 0x2358ea2b
xor r12, 0xb50a431
add r12, 0x5cda93a9
mov word [rbx], r14w
mov rax, qword [rdi - 0x10]
cmp rbx, rax
je 0x140035895
sub rbx, rax
sar rbx, 1
dec ebx
mov dword [rdi - 8], ebx
mov rax, qword [rbp + 0xd0]
neg rdi
add rdi, 0xffffffffffffffe0
neg rdi
inc rsi
mov qword [rsp + 0x30], rdi
movabs rbx, 0x6a59249c3ace0131
xor rbx, 0x2cf37715
add rbx, 0xb13c227
add rbx, 0x3508f42b
cmp rsi, rax
jb 0x140035666
mov r12, qword [rsp + 0x48]
xor r13b, r13b
mov rsi, qword [rbp + 0x130]
test rax, rax
lea rcx, [rbp + 0x50]
cmove rcx, r14
je 0x140035906
shl rax, 5
lea rdx, [rbp + 0x50]
add rdx, rax
jmp 0x140035909
mov rdx, r14
cmp rcx, rdx
je 0x14003594e
mov eax, dword [rsi + 0x30c]
nop word [rax + rax]
xor eax, 0x63c4968
add eax, dword [rcx + 0x10]
nop
sub rcx, 0x4143e8dc
add rcx, 0x4143e8fc
xor eax, 0x63c4968
cmp rcx, rdx
jne 0x140035923
mov dword [rsi + 0x30c], eax
cmp dword [rsi + 0x2e8], 0x63c4968
jne 0x140035a24
cmp dword [rsi + 0x2ec], 0x63c4968
jne 0x140035a24
mov eax, dword [rsi + 0x2f0]
mov ecx, 0x7916e325
xor ecx, 0x171218d4
sub ecx, 0x6e04fbb1
mov edx, dword [rsi + 0x30c]
xor eax, 0x63c4968
xor edx, 0x63c4968
mov dword [rsi + 0x2e8], 0x78e77b7a
sub dword [rsi + 0x2e8], 0x12c15660
xor dword [rsi + 0x2e8], 0x278abe
sub dword [rsi + 0x2e8], 0x5fc5563c
imul edx, eax
mov dword [rsi + 0x2ec], 0x73e0940d
xor dword [rsi + 0x2ec], 0x7bb86929
xor dword [rsi + 0x2ec], 0x481aa8d1
sub dword [rsi + 0x2ec], 0x3a05fc8d
imul edx, eax
nop word [rax + rax]
mov eax, ecx
imul eax, ecx
cmp edx, eax
jle 0x140035a12
add ecx, ecx
cmp ecx, 0x1000
jle 0x1400359f2
jmp 0x140035a24
xor ecx, 0x63c4968
mov dword [rsi + 0x2e8], ecx
mov dword [rsi + 0x2ec], ecx
mov r14d, dword [rsi + 0x2ec]
lea r9, [rsp + 0x40]
mov ebx, dword [rsi + 0x2e8]
lea rdx, [rbp + 0x18]
xor edi, edi
mov dword [rbp + 0x18], 0x772ba1ae
sub dword [rbp + 0x18], 0x6d9b9620
add dword [rbp + 0x18], 0x1ee3e914
sub dword [rbp + 0x18], 0x2873f47a
xorps xmm0, xmm0
mov dword [rsp + 0x28], edi
xor r14d, 0x63c4968
mov qword [rbp + 0x3c], rdi
mov eax, r14d
mov qword [rbp + 0x24], 0x592b3040
sub qword [rbp + 0x24], 0x13093ced
sub qword [rbp + 0x24], 0x4601f352
neg eax
mov qword [rsp + 0x20], rdi
mov dword [rbp + 0x20], eax
movabs rcx, 0x522fdf2b6a2f3050
add rcx, 0x129b566e
sub rcx, 0xa4eeace
sub rcx, 0xe288c37
mov rax, qword [0x1404a74e0]
xor ebx, 0x63c4968
rol rax, 0x26
xor r8d, r8d
add rcx, rax
mov dword [rbp + 0x1c], ebx
ror rcx, 0x18
movabs rax, 0xa8ca240134f1ccb0
xor rax, 0x31bca353
xor rax, 0x563f15b
add rax, rcx
mov rcx, r15
movdqu xmmword [rbp + 0x2c], xmm0
call rax
mov qword [rsp + 0x48], rax
mov r15, rax
test rax, rax
je 0x14003628a
mov rax, qword [0x1404a7510]
movabs rcx, 0x722c3c8a56a59060
xor rcx, 0x402d8deb
add rcx, 0x574eb41b
add rcx, 0x7fffffff
sub rcx, 0x8d1d1ef
rol rax, 0x32
mov rdx, r15
not rax
sub rax, rcx
mov rcx, qword [rbp + 0x148]
ror rax, 0xa
call rax
mov eax, dword [rsi + 0x2f4]
lea r9, [rsp + 0x30]
mov r8, r12
mov dword [rsp + 0x34], edi
mov r12, qword [rbp + 0x148]
xor eax, 0x63c4968
mov rdx, r12
mov dword [rsp + 0x30], eax
mov rcx, rsi
call fcn.140036ee0
test al, al
je 0x14003623e
mov rax, qword [rbp + 0xd0]
lea rdi, [rbp + 0x70]
test rax, rax
pushf
mov ecx, 0x3f913ee9
sub ecx, 0x102d8ee7
sub ecx, 0x2f63afe2
popf
cmove rdi, rcx
test rax, rax
je 0x140035bec
shl rax, 5
lea rax, [rbp + rax + 0x50]
cmp rdi, rax
jae 0x140035bec
lea r9, [rsp + 0x30]
mov r8, rdi
mov rdx, r12
mov rcx, rsi
call fcn.140036ee0
mov rax, qword [rbp + 0xd0]
nop
add rdi, 0x46d45559
sub rdi, 0x46d45539
jmp 0x140035ba3
mov eax, r14d
mov edi, 0x66426933
sub edi, 0x430e1b64
xor edi, 0x23344dcb
imul eax, ebx
movsxd rcx, eax
mov eax, edi
mul rcx
pushf
movabs rcx, 0xffffffff1996e6e4
add rcx, 0x45aebad7
sub rcx, 0x33fb9221
add rcx, 0x7fffffff
add rcx, 0x54b5f066
popf
cmovb rax, rcx
mov rcx, rax
call fcn.1400985f0
mov r10, rax
mov rax, qword [rbp + 0x138]
mov qword [rax], r10
test r14d, r14d
jle 0x140035df1
movdqa xmm2, xmmword [0x140001bf0]
lea eax, [rbx - 1]
movsxd rcx, eax
xor edx, edx
sub rdi, rcx
movsxd r13, ebx
mov r12, r10
mov esi, edx
lea r15, [rcx*4]
lea rax, [r10 + rdi*4]
mov r8, r15
mov qword [rbp + 0x138], rax
sub r12, r15
lea rax, [r13*4]
nop
mov edi, edx
test ebx, ebx
jle 0x140035dd5
cmp ebx, 0x10
jb 0x140035d82
mov rdx, qword [rsp + 0x40]
lea rcx, [r12 + r8]
mov r9, rdx
sub r9, r15
add r9, r8
lea rax, [r8 + rdx]
cmp rcx, rax
ja 0x140035cd3
lea rax, [r8 + r10]
cmp rax, r9
jae 0x140035d87
mov ecx, ebx
and ecx, 0x8000000f
jge 0x140035ce8
dec ecx
or ecx, 0xfffffff0
inc ecx
mov rdx, qword [rsp + 0x40]
mov eax, ebx
sub eax, ecx
xor ecx, ecx
movsxd r11, eax
mov rax, qword [rbp + 0x138]
add rax, r8
sub rdx, r10
nop word [rax + rax]
movdqu xmm0, xmmword [rax + rdx - 0x10]
neg edi
add edi, 0xfffffff0
neg edi
nop
add rcx, 0x7b25c437
sub rcx, 0x7b25c427
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 0x140035d0c
cmp edi, ebx
jge 0x140035dcb
mov rdx, qword [rsp + 0x40]
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 [rcx + rdx]
lea rcx, [rcx + 4]
shl eax, 0x18
or eax, 0xffffff
mov dword [r10 + rcx - 4], eax
sub rdi, 1
je 0x140035dcb
mov rdx, qword [rsp + 0x40]
jmp 0x140035da3
xor edx, edx
lea rax, [r13*4]
add r8, rax
add rsi, r13
sub r14, 1
jne 0x140035c94
mov r15, qword [rsp + 0x48]
mov rsi, qword [rbp + 0x130]
mov eax, dword [rsi + 0x2d8]
test al, 2
je 0x1400360bd
mov r8d, dword [rsi + 0x2e8]
mov ecx, 0x4a5107fe
add ecx, 0x5d1ba4e
xor ecx, 0x5022c24c
mov esi, dword [rsi + 0x2ec]
xor r8d, 0x63c4968
xor esi, 0x63c4968
mov r11d, ecx
jle 0x14003622f
mov r9d, esi
shl r9, 2
nop dword [rax]
nop dword [rax + rax]
mov rax, r10
mov edi, ecx
sub rax, r9
add r10, r9
test r8d, r8d
jle 0x1400360ac
mov rbx, r10
lea rdx, [rax + 4]
sub rbx, rax
nop
test dword [rdx + r9 - 4], 0xff000000
setne cl
test dword [rdx + r9 - 4], 0xffffff
setne al
test al, cl
je 0x140036090
test r11d, r11d
je 0x140035f3e
test dword [rdx - 4], 0xff000000
setne cl
test dword [rdx - 4], 0xffffff
setne al
test al, cl
jne 0x140035ec0
mov dword [rdx - 4], 0x5b4b057b
sub dword [rdx - 4], 0x41c249cb
add dword [rdx - 4], 0xe5774450
test edi, edi
je 0x140035f00
test dword [rdx - 8], 0xffffff
setne cl
test dword [rdx - 8], 0xff000000
setne al
test al, cl
jne 0x140035f00
mov dword [rdx - 8], 0xd4763a5
sub dword [rdx - 8], 0x396db88
add dword [rdx - 8], 0x12d1a2f3
add dword [rdx - 8], 0xe27dd4f0
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140035f3e
test dword [rdx], 0xff000000
setne cl
test dword [rdx], 0xffffff
setne al
test al, cl
jne 0x140035f3e
mov dword [rdx], 0x73722b65
xor dword [rdx], 0x4e3b475a
xor dword [rdx], 0x77e995a2
add dword [rdx], 0xb45f0663
lea eax, [rsi - 1]
cmp r11d, eax
jge 0x140036002
test dword [rbx + rdx - 4], 0xff000000
setne cl
test dword [rbx + rdx - 4], 0xffffff
setne al
test al, cl
jne 0x140035f80
mov dword [rbx + rdx - 4], 0xa1cfcbb
add dword [rbx + rdx - 4], 0x3032cdee
xor dword [rbx + rdx - 4], 0xc54fcaa9
test edi, edi
je 0x140035fbe
test dword [rdx + rbx - 8], 0xff000000
setne cl
test dword [rdx + rbx - 8], 0xffffff
setne al
test al, cl
jne 0x140035fbe
mov dword [rdx + rbx - 8], 0x523ff6a4
add dword [rdx + rbx - 8], 0x378f332
add dword [rdx + rbx - 8], 0xa947162a
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140036002
test dword [rdx + rbx], 0xff000000
setne cl
test dword [rdx + rbx], 0xffffff
setne al
test al, cl
jne 0x140036002
mov dword [rdx + rbx], 0x67e0aa3a
sub dword [rdx + rbx], 0x47c65d2
add dword [rdx + rbx], 0x1b33b7ee
xor dword [rdx + rbx], 0x8197fc56
test edi, edi
je 0x14003604e
test dword [rdx + r9 - 8], 0xff000000
setne cl
test dword [rdx + r9 - 8], 0xffffff
setne al
test al, cl
jne 0x14003604e
mov dword [rdx + r9 - 8], 0x14cb1a70
sub dword [rdx + r9 - 8], 0xc61ed07
add dword [rdx + r9 - 8], 0xdb937f2
add dword [rdx + r9 - 8], 0xe8dd9aa5
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140036090
test dword [rdx + r9], 0xff000000
setne cl
test dword [rdx + r9], 0xffffff
setne al
test al, cl
jne 0x140036090
mov dword [rdx + r9], 0x3924088e
xor dword [rdx + r9], 0xf9bf972
add dword [rdx + r9], 0xc8400e04
inc edi
nop
sub rdx, 0x3558f028
add rdx, 0x3558f02c
cmp edi, r8d
jl 0x140035e66
xor ecx, ecx
inc r11d
cmp r11d, esi
jl 0x140035e46
jmp 0x14003622f
test al, 1
je 0x14003622f
mov r8d, dword [rsi + 0x2e8]
mov eax, 0x1e54933d
xor eax, 0x6b894cca
sub eax, 0x639da12d
sub eax, 0x12403eca
mov ebx, dword [rsi + 0x2ec]
xor r8d, 0x63c4968
xor ebx, 0x63c4968
mov r11d, eax
jle 0x14003622f
nop word [rax + rax]
lea rsi, [r10 + rbx*4]
mov edi, eax
test r8d, r8d
jle 0x140036220
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 0x14003620f
lea eax, [rbx - 1]
cmp r11d, eax
jge 0x1400361d7
test dword [r9 + rdx - 4], 0xff000000
setne cl
test dword [r9 + rdx - 4], 0xffffff
setne al
test al, cl
jne 0x140036188
mov dword [r9 + rdx - 4], 0x4584f65a
xor dword [r9 + rdx - 4], 0x4684ff9b
add dword [r9 + rdx - 4], 0xfbfff63f
lea eax, [r8 - 1]
cmp edi, eax
jge 0x1400361d7
test dword [r9 + rdx], 0xff000000
setne cl
test dword [r9 + rdx], 0xffffff
setne al
test al, cl
jne 0x1400361e3
mov dword [r9 + rdx], 0x64317573
xor dword [r9 + rdx], 0x51e4aa5e
sub dword [r9 + rdx], 0x311132c2
add dword [r9 + rdx], 0xfa3b5395
jmp 0x1400361e3
lea eax, [r8 - 1]
cmp edi, eax
jge 0x14003620f
test dword [rdx], 0xff000000
setne cl
test dword [rdx], 0xffffff
setne al
test al, cl
jne 0x14003620f
mov dword [rdx], 0x2e282f03
sub dword [rdx], 0xe6e068d
xor dword [rdx], 0xe0ba2876
inc edi
add rdx, 4
cmp edi, r8d
jl 0x140036125
xor eax, eax
inc r11d
mov r10, rsi
cmp r11d, ebx
jl 0x140036105
mov r13b, 0x6e
sub r13b, 0x5c
sub r13b, 0xa
sub r13b, 7
movabs rcx, 0xde60fdb24421acb3
xor rcx, 0x121a1baf
add rcx, 0x7fffffff
xor rcx, 0x2e19e71e
movabs rax, 0x367be925664116d8
add rax, 0xd5dfb5b
xor rax, 0x43765d96
add rcx, qword [0x1404a7568]
rol rcx, 8
add rax, rcx
mov rcx, r15
rol rax, 0xd
call rax
mov r15, qword [rbp + 0x148]
mov rdx, qword [0x1404a7570]
movabs rax, 0x9573ea291e54064b
xor rax, 0x32356555
add rax, 0x37b6aca8
add rax, 0x50d663a6
add rdx, rax
mov rcx, r15
rol rdx, 0xc
movabs rax, 0x5bdb4d0f50030d44
sub rax, 0xb33292e
xor rax, 0x2af78c20
sub rax, 0x21e26fb3
xor rdx, rax
movabs rax, 0x17d617ce33934a1a
add rax, 0x3e20e85f
add rax, 0x5ab4e66a
add rdx, rax
call rdx
lea rcx, [rbp + 0x50]
call fcn.1400325a0
mov r12, qword [rsp + 0x1e8]
movzx eax, r13b
add rsp, 0x2c1b1787
sub rsp, 0x2c1b1597
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret