Function at 0x14003548f
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x640768e4
add rsp, 0x640766ec
xor r15d, r15d
xor r13b, r13b
mov qword [rdx], r15
mov r14, rcx
cmp qword [rcx + 0x300], r15
jne 0x14003545d
test dword [rcx + 0x2d8], 0x2000
lea edx, [r15 + 0x10]
pushf
mov eax, 0x5ea52f3f
sub eax, 0x32708aad
add eax, 0x5e4618d
sub eax, 0x32190520
popf
pushf
mov edi, 0x3d84895
add edi, 0x4b53e6d3
xor edi, 0x4f2cd097
popf
cmovne edi, eax
mov ecx, edi
shl rcx, 4
call fcn.1400990e0
mov rcx, rax
movaps xmm0, xmmword [0x1404a4550]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
sub rdi, 1
jne 0x14003543e
mov qword [r14 + 0x300], rcx
mov rdx, qword [0x1404a3010]
movabs rcx, 0xa1abcc0a70ab3054
sub rcx, 0x656f92f8
xor rcx, 0x7ab27847
sub rcx, 0x597aa3d6
add rdx, rcx
movabs rax, 0xf51d763b70235e66
sub rax, 0xf5b398
sub rax, 0x5cfc961f
sub rax, 0x3cea5d5
xor rdx, rax
xor ecx, ecx
not rdx
movabs rax, 0x47d16622757b2a02
xor rax, 0x6424f6d0
add rax, 0x7fffffff
add rax, 0x6a39db65
sub rdx, rax
ror rdx, 2
call rdx
mov qword [rbp + 0x148], rax
mov rdi, rax
test rax, rax
je 0x140036b49
mov rax, qword [0x1404a3038]
movabs rcx, 0x5244dc8d091f4ccb
xor rcx, 0x64bc2941
sub rcx, 0x1630b41e
sub rcx, 0x1f6e8d15
rol rax, 0xa
add rax, rcx
mov qword [rsp + 0x1f0], rsi
rol rax, 0x35
movabs rcx, 0x165095ff2bffd14f
add rcx, 0x411b78d4
sub rcx, 0x48dca5ad
add rax, rcx
mov qword [rsp + 0x1e8], r12
mov esi, 0x48a9ff0e
add esi, 0xc9cdcd5
add esi, 0xda3863a
sub esi, 0x62ea621c
mov qword [rbp + 0xd0], r15
mov rcx, rdi
mov edx, esi
call rax
lea r8, [r14 + 0x298]
mov rcx, r14
lea rdx, [rbp + 0x50]
call fcn.140033e40
mov qword [rbp + 8], rax
mov r12, rax
test rax, rax
je 0x140036acf
mov rax, qword [0x1404a3050]
movabs rcx, 0x7c286f645e839e39
add rcx, 0xa10f37e
add rcx, 0x74611970
mov rdx, qword [r12]
xor rax, rcx
ror rax, 2
movabs rcx, 0x18b9ee116b394fb5
sub rcx, 0x31b67fad
add rcx, 0x7fffffff
add rcx, 0x9b174f4
xor rax, rcx
movabs rcx, 0x3992fc9b0c06eabd
add rcx, 0x3d746df6
sub rcx, 0x1dd36497
xor rcx, 0x14da42b1
sub rax, rcx
movabs rcx, 0x75ea40e9640e0013
sub rcx, 0x57f760c
sub rcx, 0x38599f5a
add rcx, 0x64bebb45
xor rax, rcx
mov rcx, rdi
call rax
mov rax, qword [0x1404a3060]
movabs rcx, 0x573451851eeea22b
xor rcx, 0x17ba27b
add rcx, 0x7fffffff
add rcx, 0x52f76f05
not rax
mov edx, 0x436b3f97
xor edx, 0x7cf8cf05
add edx, 0x372e9a86
sub edx, 0x75c28b19
xor rax, rcx
movabs rcx, 0x5659791f0f272f06
xor rcx, 0x5cd5be2b
sub rcx, 0x23a175ad
add rcx, 0x180147e
add rax, rcx
movabs rcx, 0x1077e8fd6b14447e
xor rcx, 0x3cd2db09
sub rcx, 0x272f8290
ror rax, 0x24
not rax
sub rax, rcx
mov rcx, rdi
call rax
mov rax, qword [0x1404a3068]
movabs rcx, 0x2371a562eb66bdd
xor rcx, 0x4ebf5f5a
sub rcx, 0xb8bcab1
ror rax, 6
xor edx, edx
add rax, rcx
movabs rcx, 0x33c98d5c50749839
xor rcx, 0x4619ac52
add rcx, 0x298feec0
xor rcx, 0x9f7f001
xor rax, rcx
movabs rcx, 0x31c591413f1ef71a
add rcx, 0x1662289b
add rcx, 0x7fffffff
add rcx, 0x270f58e1
sub rax, rcx
movabs rcx, 0x676aaf9a75e3cf2c
xor rcx, 0xca2c06b
sub rcx, 0x2993c676
not rax
sub rax, rcx
mov rcx, rdi
not rax
call rax
mov rax, qword [0x1404a3070]
movabs rcx, 0x7af10b63731afdb0
sub rcx, 0x20f5bdaa
sub rcx, 0x91169b
add rcx, 0x7fffffff
add rcx, 0x197f8427
not rax
xor edx, edx
sub rax, rcx
movabs rcx, 0x679f4c2635a1e117
xor rcx, 0xbf8e2a
add rcx, 0x7fffffff
add rcx, 0x110e799f
not rax
ror rax, 0x3b
add rax, rcx
movabs rcx, 0x6a2c2ce337a0d0d0
add rcx, 0x1b12c576
sub rcx, 0x3a0bede9
add rcx, 0x624044e2
xor rax, rcx
mov rcx, rdi
not rax
call rax
mov eax, 0x7f6a0ed5
sub eax, 0x64026342
xor eax, 0x1b67abb3
lea r9, [rbp]
mov dword [rbp + 0x140], eax
lea rdx, [rbp + 0x140]
mov rax, qword [0x1404a3078]
movabs rcx, 0x4353ef8501b00d7
add rcx, 0x169ecf59
add rcx, 0x7fffffff
sub rcx, 0x2c52a1b7
add rax, rcx
mov r8d, esi
ror rax, 0x17
movabs rcx, 0x674478fa67e10a95
sub rcx, 0x3f7b6a0c
add rcx, 0x232098d6
xor rcx, 0x3b419853
not rax
sub rax, rcx
movabs rcx, 0x2bfbc7035bffe817
sub rcx, 0x44dd3b6d
add rcx, 0x43d20765
add rcx, 0x7fffffff
sub rcx, 0x2aad8efa
ror rax, 0x30
not rax
add rax, rcx
mov rcx, rdi
call rax
mov eax, dword [rbp]
cdq
and edx, 3
add eax, edx
sar eax, 2
inc eax
xor eax, 0x7c556718
mov dword [r14 + 0x2f4], eax
mov eax, dword [r14 + 0x2d8]
bt eax, 0xd
jae 0x140035903
mov ecx, 0x7982b617
sub ecx, 0x147f47b2
xor ecx, 0x65036ea7
mov dword [r12 + 0x10], 0x559bf2b0
xor dword [r12 + 0x10], 0x6e49dd19
add dword [r12 + 0x10], 0x2f23bff2
sub dword [r12 + 0x10], 0x6af5ef3b
call fcn.140099070
mov rdx, rax
mov qword [r12 + 8], rax
mov ecx, r15d
nop dword [rax]
lea eax, [rcx + 0x20]
inc ecx
mov word [rdx], ax
lea rdx, [rdx + 2]
cmp ecx, 0x60
jl 0x1400358de
mov word [rdx], r15w
mov rax, qword [rbp + 0xd0]
jmp 0x1400361b6
bt eax, 0xf
jae 0x140035ccb
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x5cd2b498
xor dword [rsp + 0x30], 0x1377cc0d
xor dword [rsp + 0x30], 0x277641cf
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x34], 0x6b8a6d98
sub dword [rsp + 0x34], 0xc03c87
add dword [rsp + 0x34], 0x1214f267
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x38], 0x42639d6c
sub dword [rsp + 0x38], 0x2fb3e549
xor dword [rsp + 0x38], 0x4484d052
add dword [rsp + 0x38], 0x25be07f2
mov word [rsp + 0x3c], 0x492c
add word [rsp + 0x3c], 0x94d
sub word [rsp + 0x3c], 0x40fd
xor word [rsp + 0x3c], 0x2423
mov eax, 0x6ffec473
sub eax, 0x57ec4b79
sub eax, 0x181278eb
mov byte [rsp + 0x3e], 0xb
xor byte [rsp + 0x3e], 0x72
sub byte [rsp + 0x3e], 0x27
add byte [rsp + 0x3e], 0x87
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x78], rax
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
cmp rcx, rdx
je 0x1400359d5
call fcn.140099240
mov rax, qword [rsp + 0x78]
lea rdx, [rsp + 0x48]
xorps xmm0, xmm0
mov qword [rsp + 0x40], rdx
mov rcx, r15
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
test rax, rax
je 0x140035a17
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rsp + 0x78]
jb 0x140035a00
lea r8, [rsp + 0x40]
mov rcx, r14
lea rdx, [rbp + 0x50]
call fcn.140033e40
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x48]
cmp rcx, rax
jne 0x140035a5a
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0x2b54fb0d
xor ecx, 0x55b6fc29
sub ecx, 0x7ee206f4
rep stosb byte [rdi], al
jmp 0x140035a5f
call fcn.140099240
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x566ebf31
add dword [rsp + 0x30], 0x1de63c63
xor dword [rsp + 0x30], 0x3bc4f8ce
lea rcx, [rbp - 0x78]
mov dword [rsp + 0x34], 0x4124fb7f
sub dword [rsp + 0x34], 0x153f7b15
add dword [rsp + 0x34], 0x4a11eff4
lea rdx, [rbp - 0x78]
mov dword [rsp + 0x38], 0x5b993e4c
sub dword [rsp + 0x38], 0x1be35277
sub dword [rsp + 0x38], 0x1e6d70ef
add dword [rsp + 0x38], 0x5890bd7d
mov qword [rbp - 0x80], rcx
mov eax, 0x302bdb8d
xor eax, 0x6285f323
xor eax, 0x52ae28a2
mov qword [rbp - 0x48], rax
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
cmp rcx, rdx
je 0x140035aef
call fcn.140099240
mov rax, qword [rbp - 0x48]
lea rdx, [rbp - 0x78]
xorps xmm0, xmm0
mov qword [rbp - 0x80], rdx
mov rcx, r15
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
test rax, rax
je 0x140035b37
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 - 0x48]
jb 0x140035b21
lea r8, [rbp - 0x80]
mov rcx, r14
lea rdx, [rbp + 0x50]
call fcn.140033e40
mov rcx, qword [rbp - 0x80]
lea rax, [rbp - 0x78]
cmp rcx, rax
jne 0x140035b7c
lea rdi, [rbp - 0x78]
xor eax, eax
mov ecx, 0x4aba57c5
sub ecx, 0x238dcb19
add ecx, 0x39fd3b33
sub ecx, 0x6129c7af
rep stosb byte [rdi], al
jmp 0x140035b81
call fcn.140099240
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x6f2df88f
sub dword [rsp + 0x30], 0x12bc5817
xor dword [rsp + 0x30], 0x7169722e
xor dword [rsp + 0x30], 0x50c4e30c
lea rcx, [rbp - 0x38]
mov dword [rsp + 0x34], 0x71a9b6ed
sub dword [rsp + 0x34], 0x7e346e7
sub dword [rsp + 0x34], 0xc3631a4
lea rdx, [rbp - 0x38]
mov dword [rsp + 0x38], 0x6aa55068
xor dword [rsp + 0x38], 0x1b933013
sub dword [rsp + 0x38], 0x17c33afb
add dword [rsp + 0x38], 0x1a64fef8
mov byte [rsp + 0x3c], 0x63
xor byte [rsp + 0x3c], 0x2e
add byte [rsp + 0x3c], 0x19
xor byte [rsp + 0x3c], 0x12
mov eax, 0x2c31f955
add eax, 0x24c109e9
add eax, 0x28f5c440
sub eax, 0x79e8c771
mov qword [rbp - 0x40], rcx
mov qword [rbp - 8], rax
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
cmp rcx, rdx
je 0x140035c32
call fcn.140099240
mov rax, qword [rbp - 8]
lea rdx, [rbp - 0x38]
xorps xmm0, xmm0
mov qword [rbp - 0x40], rdx
mov rcx, r15
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
test rax, rax
je 0x140035c7a
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 0x140035c64
lea r8, [rbp - 0x40]
mov rcx, r14
lea rdx, [rbp + 0x50]
call fcn.140033e40
mov rcx, qword [rbp - 0x40]
lea rax, [rbp - 0x38]
cmp rcx, rax
jne 0x140035cbf
lea rdi, [rbp - 0x38]
xor eax, eax
mov ecx, 0x7ac05caa
sub ecx, 0x22526e7a
add ecx, 0x8d18990
xor ecx, 0x613f77f0
rep stosb byte [rdi], al
jmp 0x140035cc4
call fcn.140099240
mov rdi, qword [rbp + 0x148]
mov rax, qword [0x1404a30c0]
movabs rcx, 0xd80fd6801e46c7d
add rcx, 0x72fdf687
add rcx, 0x332e804f
movabs rbx, 0xc2b79cf03372e8ca
xor rbx, 0xa8682b8
add rbx, 0x7fffffff
xor rbx, 0x1305daac
movabs rsi, 0x412485812ed3682
xor rsi, 0x788e30aa
xor rsi, 0x7676ee2
add rsi, 0x3e4412cb
add rax, rbx
xor edx, edx
rol rax, 0x19
sub rax, rsi
ror rax, 8
xor rax, rcx
mov rcx, rdi
call rax
mov ecx, eax
call fcn.140099540
mov rdx, rax
mov qword [r12 + 0x18], rax
mov rax, qword [0x1404a30c0]
movabs rcx, 0xd80fd6831719caa
add rcx, 0x47137863
xor rcx, 0x602c5ab3
add rcx, 0x7fffffff
add rcx, 0xf679396
add rax, rbx
rol rax, 0x19
sub rax, rsi
ror rax, 8
xor rax, rcx
mov rcx, 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, 0x221644b6
add eax, 0x1bccca5d
sub eax, 0x3de30f11
mul rcx
pushf
movabs rcx, 0xffffffff1d7a9eb8
xor rcx, 0x76131bdd
add rcx, 0x7fffffff
add rcx, 0x14967a9b
popf
cmovo rax, rcx
mov rcx, rax
call fcn.140099070
mov qword [r12 + 8], rax
mov rdx, rax
mov rax, qword [r12 + 0x18]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x140035e6f
mov r9, r15
mov r10d, ecx
nop dword [rax]
nop dword [rax + rax]
movzx edi, word [rax + r9 + 0x12]
movzx ecx, r15w
movzx r8d, word [rax + r9 + 0x10]
cmp r15w, di
jae 0x140035e5a
nop word [rax + rax]
lea eax, [r8 + rcx]
inc cx
mov word [rdx], ax
nop
add rdx, 0x1a65af34
sub rdx, 0x1a65af32
cmp cx, di
jb 0x140035e33
mov rax, qword [r12 + 0x18]
sub r9, 0xfffffffffffffffc
sub r10, 1
jne 0x140035e0f
mov rdi, qword [rbp + 0x148]
mov r8d, 0x5c9ecb05
add r8d, 0x37cfbfa
add r8d, 0x1ae25142
sub r8d, 0x7afe1840
mov word [rdx], r15w
mov rax, qword [rbp + 0xd0]
mov esi, r8d
cmp r8, rax
jae 0x1400361b6
lea r13, [rbp + 0x88]
movabs r14, 0x412485801ac5ae6
add r14, 0x43ed3bed
add r14, 0x65aee4c2
movabs r12, 0xd80fd683f8a472a
add r12, 0x2acd9437
sub r12, 0x5b07596d
add r12, 0x7fffffff
add r12, 0x18c06160
mov rax, qword [0x1404a3050]
movabs rcx, 0x7c286f64722f5b7e
add rcx, 0x6436ece
add rcx, 0x6482e0db
mov rdx, qword [r13 - 0x18]
xor rax, rcx
ror rax, 2
movabs rcx, 0x18b9ee1106265a19
add rcx, 0x29704cec
add rcx, 0x22aa6fcc
add rcx, 0x70f32e2a
xor rax, rcx
movabs rcx, 0x3992fc9b19e0699d
xor rcx, 0xfeb4206
xor rcx, 0x7bb01839
sub rcx, 0x2e3d7cf5
sub rax, rcx
movabs rcx, 0x75ea40e901e2bb2b
add rcx, 0x6c279302
add rcx, 0x1ce957c5
xor rax, rcx
mov rcx, rdi
call rax
mov rax, qword [0x1404a30c0]
xor edx, edx
add rax, rbx
mov rcx, rdi
rol rax, 0x19
sub rax, r14
ror rax, 8
xor rax, r12
call rax
mov ecx, eax
call fcn.140099540
mov rdx, rax
mov qword [r13], rax
mov rax, qword [0x1404a30c0]
mov rcx, rdi
add rax, rbx
rol rax, 0x19
sub rax, r14
ror rax, 8
xor rax, r12
call rax
mov rax, qword [r13]
nop
movabs rcx, 0xffffffff5215b3e0
sub rcx, 0xeba6789
add rcx, 0x7fffffff
add rcx, 0x3ca4b3a9
mov edx, dword [rax + 8]
mov eax, 0x3ee3fd08
sub eax, 0x590c79f
add eax, 0x44dabf70
sub eax, 0x7e2df4d7
inc edx
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.140099070
mov qword [r13 - 0x10], rax
mov rbx, rax
mov rax, qword [r13]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x14003614a
xor edx, edx
mov qword [rsp + 0x30], rcx
mov r12d, edx
nop word [rax + rax]
movzx r14d, word [rax + r12 + 0x12]
movzx r11d, dx
movzx r15d, word [rax + r12 + 0x10]
cmp dx, r14w
jae 0x1400360f7
nop word [rax + rax]
xor r10b, r10b
lea edi, [r15 + r11]
test rsi, rsi
je 0x1400360cc
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 0x1400360b5
cmp word [rax], di
je 0x1400360aa
add rax, 2
cmp rax, rdx
jne 0x14003608f
jmp 0x1400360b5
mov r10b, 0x63
sub r10b, 0x36
xor r10b, 0x2c
sub r8, 0xffffffffffffffe0
sub r9, 1
jne 0x14003607b
test r10b, r10b
jne 0x1400360de
mov word [rbx], di
nop
add rbx, 0x3e876ed4
sub rbx, 0x3e876ed2
inc r11w
cmp r11w, r14w
jb 0x140036057
mov rax, qword [r13]
xor edx, edx
mov rcx, qword [rsp + 0x30]
neg r12
add r12, 0xfffffffffffffffc
neg r12
sub rcx, 1
mov qword [rsp + 0x30], rcx
jne 0x140036033
mov rdi, qword [rbp + 0x148]
xor r15d, r15d
movabs r14, 0x4124858618e2aa8
add r14, 0x1e689fa3
add r14, 0x2b51b14a
movabs r12, 0xd80fd68536b317c
add r12, 0x13b44b9f
add r12, 0x40f16638
mov word [rbx], r15w
mov rax, qword [r13 - 0x10]
cmp rbx, rax
je 0x140036167
sub rbx, rax
sar rbx, 1
dec ebx
mov dword [r13 - 8], ebx
mov rax, qword [rbp + 0xd0]
inc rsi
nop
add r13, 0x3922562d
sub r13, 0x3922560d
movabs rbx, 0xc2b79cf0535eefe5
xor rbx, 0x77fbdb45
add rbx, 0x4e83918d
add rbx, 0x37c8eab0
cmp rsi, rax
jb 0x140035ee6
mov r14, qword [rbp + 0x130]
xor r13b, r13b
mov r12, qword [rbp + 8]
test rax, rax
lea rcx, [rbp + 0x50]
cmove rcx, r15
je 0x1400361d7
shl rax, 5
lea rdx, [rbp + 0x50]
add rdx, rax
jmp 0x1400361da
mov rdx, r15
cmp rcx, rdx
je 0x14003620b
mov eax, dword [r14 + 0x30c]
xor eax, 0x7c556718
add eax, dword [rcx + 0x10]
add rcx, 0x20
xor eax, 0x7c556718
cmp rcx, rdx
jne 0x1400361ea
mov dword [r14 + 0x30c], eax
cmp dword [r14 + 0x2e8], 0x7c556718
jne 0x1400362d9
cmp dword [r14 + 0x2ec], 0x7c556718
jne 0x1400362d9
mov eax, dword [r14 + 0x2f0]
mov ecx, 0x7d8db4dd
sub ecx, 0x7233d808
xor ecx, 0x758d14b2
sub ecx, 0x7ed4c827
mov edx, dword [r14 + 0x30c]
xor eax, 0x7c556718
xor edx, 0x7c556718
mov dword [r14 + 0x2e8], 0x1fba11f6
xor dword [r14 + 0x2e8], 0x44a93bf
add dword [r14 + 0x2e8], 0x6064f4cf
imul edx, eax
mov dword [r14 + 0x2ec], 0x5a6c9daf
sub dword [r14 + 0x2ec], 0x5a022f27
xor dword [r14 + 0x2ec], 0x7c3f1990
imul edx, eax
mov eax, ecx
imul eax, ecx
cmp edx, eax
jle 0x1400362c5
add ecx, ecx
cmp ecx, 0x1000
jle 0x1400362a5
jmp 0x1400362d9
xor ecx, 0x7c556718
mov dword [r14 + 0x2e8], ecx
mov dword [r14 + 0x2ec], ecx
mov esi, dword [r14 + 0x2ec]
lea r9, [rbp + 0x10]
mov ebx, dword [r14 + 0x2e8]
lea rdx, [rbp + 0x18]
movabs rcx, 0x57dd593e1438e3a5
sub rcx, 0x765a87a
xor rcx, 0x3eb86902
mov dword [rsp + 0x28], r15d
xorps xmm0, xmm0
mov qword [rbp + 0x3c], r15
xor esi, 0x7c556718
mov dword [rbp + 0x18], 0x3e3a232b
add dword [rbp + 0x18], 0x387ba98a
sub dword [rbp + 0x18], 0x76b5cc8d
mov eax, esi
mov qword [rbp + 0x24], 0x548a277d
sub qword [rbp + 0x24], 0x151ffb54
sub qword [rbp + 0x24], 0x3f4a2c28
neg eax
mov qword [rsp + 0x20], r15
mov dword [rbp + 0x20], eax
xor ebx, 0x7c556718
mov rax, qword [0x1404a3020]
xor r8d, r8d
rol rax, 0x17
xor rax, rcx
mov dword [rbp + 0x1c], ebx
ror rax, 0x1a
movabs rcx, 0x6bd602103679c04a
sub rcx, 0x30ee2c97
xor rcx, 0x2709c028
add rcx, 0xb7e0a1c
xor rax, rcx
movabs rcx, 0x6dd1ed372e84a692
sub rcx, 0x2746a845
xor rcx, 0x6848ce5a
add rcx, 0x7fffffff
sub rcx, 0x6a25ff8a
rol rax, 0x32
add rax, rcx
mov rcx, rdi
movdqu xmmword [rbp + 0x2c], xmm0
call rax
mov r15, rax
test rax, rax
je 0x140036acf
mov rax, qword [0x1404a3050]
movabs rcx, 0x7c286f641a44cc44
sub rcx, 0xa2f585a
add rcx, 0x15a3397a
add rcx, 0x7fffffff
add rcx, 0x373cfdc4
xor rax, rcx
mov rdx, r15
ror rax, 2
movabs rcx, 0x18b9ee1137da807f
xor rcx, 0x368a9153
xor rcx, 0x1df72500
add rcx, 0x7fffffff
xor rcx, 0x5f9370d0
xor rax, rcx
movabs rcx, 0x3992fc9b38ed6b6c
xor rcx, 0x3778fac0
add rcx, 0x58b9eb36
xor rcx, 0x5732ca4f
sub rax, rcx
movabs rcx, 0x75ea40e967025edd
sub rcx, 0x45201c58
add rcx, 0x11ec6a8e
add rcx, 0x5724f8df
xor rax, rcx
mov rcx, rdi
call rax
mov eax, dword [r14 + 0x2f4]
lea r9, [rbp + 0x130]
xor eax, 0x7c556718
mov dword [rbp + 0x134], 0x26644c60
xor dword [rbp + 0x134], 0x148dd212
sub dword [rbp + 0x134], 0x20338d6b
sub dword [rbp + 0x134], 0x12b61107
mov r8, r12
mov dword [rbp + 0x130], eax
mov rdx, rdi
mov rcx, r14
call fcn.1400376f0
test al, al
je 0x140036a60
mov rax, qword [rbp + 0xd0]
lea rdi, [rbp + 0x70]
mov r12, qword [rbp + 0x148]
test rax, rax
pushf
mov ecx, 0x25c7c5e9
add ecx, 0x360b4e6c
sub ecx, 0x5bd31435
popf
cmove rdi, rcx
test rax, rax
je 0x140036543
shl rax, 5
lea rax, [rbp + rax + 0x50]
cmp rdi, rax
jae 0x140036543
lea r9, [rbp + 0x130]
mov r8, rdi
mov rdx, r12
mov rcx, r14
call fcn.1400376f0
mov rax, qword [rbp + 0xd0]
sub rdi, 0xffffffffffffffe0
jmp 0x140036503
mov eax, esi
imul eax, ebx
movsxd rcx, eax
mov eax, 0x5007a93
add eax, 0x3265106c
add eax, 0x1e3cec72
xor eax, 0x55a27775
mul rcx
pushf
movabs rcx, 0xffffffff46bff971
add rcx, 0x6a12fce
add rcx, 0x7fffffff
xor rcx, 0x329ed6c1
popf
cmovo rax, rcx
mov rcx, rax
call fcn.140099070
mov r10, rax
mov rax, qword [rbp + 0x138]
mov qword [rax], r10
test esi, esi
jle 0x1400365fb
xor r8d, r8d
movsxd r11, ebx
shl r11, 2
mov r9d, esi
nop dword [rax]
test ebx, ebx
jle 0x1400365ee
mov rdx, r8
mov edi, ebx
nop dword [rax]
mov rax, qword [rbp + 0x10]
lea rdx, [rdx + 4]
mov ecx, dword [rdx + rax - 4]
shl ecx, 0x18
or ecx, 0xffffff
mov dword [rdx + r10 - 4], ecx
sub rdi, 1
jne 0x1400365ca
add r8, r11
sub r9, 1
jne 0x1400365b6
mov eax, dword [r14 + 0x2d8]
test al, 2
je 0x1400368ce
mov r8d, dword [r14 + 0x2e8]
mov r11d, 0x56a8e428
xor r11d, 0x267dfa81
sub r11d, 0x2250589c
xor r11d, 0x4e84c60d
mov esi, dword [r14 + 0x2ec]
xor r8d, 0x7c556718
xor esi, 0x7c556718
jle 0x140036a52
mov r9d, esi
shl r9, 2
nop word [rax + rax]
mov rax, r10
xor edi, edi
sub rax, r9
add r10, r9
test r8d, r8d
jle 0x1400368bd
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 0x1400368a8
test r11d, r11d
je 0x140036756
test dword [rdx - 4], 0xff000000
setne cl
test dword [rdx - 4], 0xffffff
setne al
test al, cl
jne 0x1400366d8
mov dword [rdx - 4], 0x51682e86
sub dword [rdx - 4], 0x25b2096d
add dword [rdx - 4], 0x4e553820
add dword [rdx - 4], 0x84f4a2c7
test edi, edi
je 0x140036718
test dword [rdx - 8], 0xff000000
setne cl
test dword [rdx - 8], 0xffffff
setne al
test al, cl
jne 0x140036718
mov dword [rdx - 8], 0x48daeca1
sub dword [rdx - 8], 0x1f1c998a
sub dword [rdx - 8], 0x20d85520
add dword [rdx - 8], 0xf61a0209
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140036756
test dword [rdx], 0xff000000
setne cl
test dword [rdx], 0xffffff
setne al
test al, cl
jne 0x140036756
mov dword [rdx], 0x18924690
add dword [rdx], 0x40ec8c0b
xor dword [rdx], 0x7bb0dc83
xor dword [rdx], 0xddce0e18
lea eax, [rsi - 1]
cmp r11d, eax
jge 0x14003681b
test dword [rdx + rbx - 4], 0xff000000
setne cl
test dword [rdx + rbx - 4], 0xffffff
setne al
test al, cl
jne 0x140036798
mov dword [rdx + rbx - 4], 0x6a9e68be
sub dword [rdx + rbx - 4], 0x2d2a457a
add dword [rdx + rbx - 4], 0xc18bdcbc
test edi, edi
je 0x1400367de
test dword [rdx + rbx - 8], 0xff000000
setne cl
test dword [rdx + rbx - 8], 0xffffff
setne al
test al, cl
jne 0x1400367de
mov dword [rdx + rbx - 8], 0x4326a0eb
sub dword [rdx + rbx - 8], 0x3f800544
add dword [rdx + rbx - 8], 0x34d16cf6
add dword [rdx + rbx - 8], 0xc687f763
lea eax, [r8 - 1]
cmp edi, eax
jge 0x14003681b
test dword [rbx + rdx], 0xff000000
setne cl
test dword [rbx + rdx], 0xffffff
setne al
test al, cl
jne 0x14003681b
mov dword [rbx + rdx], 0x31215707
sub dword [rbx + rdx], 0x24972825
add dword [rbx + rdx], 0xf275d11e
test edi, edi
je 0x14003685e
test dword [r9 + rdx - 8], 0xff000000
setne cl
test dword [r9 + rdx - 8], 0xffffff
setne al
test al, cl
jne 0x14003685e
mov dword [r9 + rdx - 8], 0x61b2def2
xor dword [r9 + rdx - 8], 0x4508bb04
add dword [r9 + rdx - 8], 0xda459a0a
lea eax, [r8 - 1]
cmp edi, eax
jge 0x1400368a8
test dword [rdx + r9], 0xff000000
setne cl
test dword [rdx + r9], 0xffffff
setne al
test al, cl
jne 0x1400368a8
mov dword [rdx + r9], 0x1b56cfbf
xor dword [rdx + r9], 0x628d9463
xor dword [rdx + r9], 0x10824eaa
xor dword [rdx + r9], 0x96591576
inc edi
neg rdx
add rdx, 0xfffffffffffffffc
neg rdx
cmp edi, r8d
jl 0x140036677
inc r11d
cmp r11d, esi
jl 0x140036657
jmp 0x140036a52
test al, 1
je 0x140036a52
mov r8d, dword [r14 + 0x2e8]
mov r11d, 0x50f8890d
xor r11d, 0x69575ab3
add r11d, 0x34922e16
sub r11d, 0x6e4201d4
mov ebx, dword [r14 + 0x2ec]
xor r8d, 0x7c556718
xor ebx, 0x7c556718
jle 0x140036a52
nop dword [rax]
nop dword [rax + rax]
xor edi, edi
lea rsi, [r10 + rbx*4]
test r8d, r8d
jle 0x140036a43
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 0x140036a2e
lea eax, [rbx - 1]
cmp r11d, eax
jge 0x1400369f0
test dword [r9 + rdx - 4], 0xff000000
setne cl
test dword [r9 + rdx - 4], 0xffffff
setne al
test al, cl
jne 0x1400369a1
mov dword [r9 + rdx - 4], 0x71464a79
xor dword [r9 + rdx - 4], 0xdaa9a44
add dword [r9 + rdx - 4], 0x82132fc3
lea eax, [r8 - 1]
cmp edi, eax
jge 0x1400369f0
test dword [r9 + rdx], 0xff000000
setne cl
test dword [r9 + rdx], 0xffffff
setne al
test al, cl
jne 0x1400369fc
mov dword [r9 + rdx], 0x6b25eb26
sub dword [r9 + rdx], 0x1aaa153f
sub dword [r9 + rdx], 0x476f345b
add dword [r9 + rdx], 0xf5f35e74
jmp 0x1400369fc
lea eax, [r8 - 1]
cmp edi, eax
jge 0x140036a2e
test dword [rdx], 0xff000000
setne cl
test dword [rdx], 0xffffff
setne al
test al, cl
jne 0x140036a2e
mov dword [rdx], 0x622dfdee
sub dword [rdx], 0x3aa95346
xor dword [rdx], 0x2cb3ad3c
add dword [rdx], 0xf3c8f86c
inc edi
neg rdx
add rdx, 0xfffffffffffffffc
neg rdx
cmp edi, r8d
jl 0x14003693e
inc r11d
mov r10, rsi
cmp r11d, ebx
jl 0x14003691e
mov r13b, 0x63
sub r13b, 0x25
xor r13b, 0x3f
mov rdi, r12
mov rax, qword [0x1404a30a8]
movabs rcx, 0x41cda0f402511749
add rcx, 0x64ef3047
sub rcx, 0x340cdea7
sub rcx, 0xa9b8f7b
xor rax, rcx
movabs rcx, 0x2ae4e651e69ff81
xor rcx, 0xac0c259
xor rcx, 0x19fe3a7c
add rcx, 0x5d55fa67
add rax, rcx
movabs rcx, 0xefa8ffff11176270
xor rcx, 0x439d58e
xor rcx, 0x9875701
ror rax, 0x2e
add rax, rcx
mov rcx, r15
call rax
mov rdx, qword [0x1404a30b0]
movabs rax, 0x69c2c0af39249089
sub rax, 0x2d4c44e3
xor rax, 0x1202697b
add rax, 0x7fffffff
add rax, 0x204fe0b
xor rdx, rax
mov rcx, rdi
not rdx
movabs rax, 0x55550d7d4565820c
add rax, 0x3141e507
sub rax, 0x54db0d18
add rax, 0x7fffffff
xor rax, 0x7721a2e5
ror rdx, 0x3e
sub rdx, rax
ror rdx, 0x3c
call rdx
lea rcx, [rbp + 0x50]
call fcn.140032d00
mov r12, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f0]
movzx eax, r13b
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret