Function at 0x140001160
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x150
mov rax, qword [0x140022018]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rsi, 0xffffffffffffffff
lea rbx, str.8AE233944E860E09D66ED9DDB133D947F59780A29B763F0DC57A060653EFD371DE216CD6F0C6CFB367977D35362DB4526BBB8845EAD71759A491FAB86F7816E73FE85893C93E803525C3FD0D657E93E8766A91AA4D1859BF8684C358DE0ECA7BF650136E913D669F071ECDE681C618D9A719C827C8891CBDD47EB85E4D5A0371BA5EE967AEB3F485E5A7AE601B83D49F9F3250707A7F6EDD22F800D64F738003966DD91AB8971F573A3F8A5547084176654D06B96456D09009D5DB9C24EA7351C66BF455BE5991E44AF96C701186EA7338183D86CDDBFB1CFB7C4643A10AF7FAFFF6868289143B676D5B5DF45BAAF1723B529BB154AD0AAE5178187856352DDA1C6ECC9F5341DA43D6161C1AF44BCBF2D48A7855E0A4C5A1AF998139FC7135B2640D3B07CFE7AEA658ECB70BD6DE652884F7DF3A2D073029CDB6431214D1ABF5C6380F417565D8D23D0ABDEB2241FD353D8F2FF74B5A22029C3F6539C301D4DB17DCBAF0AF30E3B2247BE51E77DE6AB851023EDC050D1254B91F9F474CD82AEE02F3E5D61EEF1DD8D7917E1BFD9678EBDED0E39091827E2B33AFB808F1888ABD4AD275A063F9CEB835C7E3A24B7D53979225D2C1003029A2D31012DFB67F9C1DD47D37D07530CD5B8214FE9E6BBFC54C3BD558782608B873428286BDA7FBFE30535CD9A8CC8E856530816DD8DA65D0A21DA1D3DF9C966618578F324B2E6F09EE8E22467110425E298C36F91ED7506202EAF2F9DB52A32F47B96AE7E3785BBDD68837FC3012FC9F17A71F85BAC4B9B17FB8B96F826952A2F7069641E77BA55ECD28C05DDACD734C052AC294660D0DB3EDC99C10A3DB921036AB432FBD74558EFBB9661F0F345CAD6381040AD4F93C2E45238DE22B8A1C5145ECF58CD4ABED8B492FF782F4A06406FE721FB767F7913619DDACEE525E7DB12A111EE7BABAE7E75198EAA13DB1423C3E2A169A654F978E6551D7D3EDB35EABDCCA19F2F3BF999CCED752AED1808A8029E565DEDA2BB7E80DEE6353BB25A9613E4229E21A3F96C37C8C905FBAB7594C72
mov rdi, rsi
mov r12, rdx
mov rbp, rcx
inc rdi
cmp byte [rbx + rdi], 0
jne 0x1400011a2
mov rcx, rdi
call fcn.140002724
cmp byte [str.8AE233944E860E09D66ED9DDB133D947F59780A29B763F0DC57A060653EFD371DE216CD6F0C6CFB367977D35362DB4526BBB8845EAD71759A491FAB86F7816E73FE85893C93E803525C3FD0D657E93E8766A91AA4D1859BF8684C358DE0ECA7BF650136E913D669F071ECDE681C618D9A719C827C8891CBDD47EB85E4D5A0371BA5EE967AEB3F485E5A7AE601B83D49F9F3250707A7F6EDD22F800D64F738003966DD91AB8971F573A3F8A5547084176654D06B96456D09009D5DB9C24EA7351C66BF455BE5991E44AF96C701186EA7338183D86CDDBFB1CFB7C4643A10AF7FAFFF6868289143B676D5B5DF45BAAF1723B529BB154AD0AAE5178187856352DDA1C6ECC9F5341DA43D6161C1AF44BCBF2D48A7855E0A4C5A1AF998139FC7135B2640D3B07CFE7AEA658ECB70BD6DE652884F7DF3A2D073029CDB6431214D1ABF5C6380F417565D8D23D0ABDEB2241FD353D8F2FF74B5A22029C3F6539C301D4DB17DCBAF0AF30E3B2247BE51E77DE6AB851023EDC050D1254B91F9F474CD82AEE02F3E5D61EEF1DD8D7917E1BFD9678EBDED0E39091827E2B33AFB808F1888ABD4AD275A063F9CEB835C7E3A24B7D53979225D2C1003029A2D31012DFB67F9C1DD47D37D07530CD5B8214FE9E6BBFC54C3BD558782608B873428286BDA7FBFE30535CD9A8CC8E856530816DD8DA65D0A21DA1D3DF9C966618578F324B2E6F09EE8E22467110425E298C36F91ED7506202EAF2F9DB52A32F47B96AE7E3785BBDD68837FC3012FC9F17A71F85BAC4B9B17FB8B96F826952A2F7069641E77BA55ECD28C05DDACD734C052AC294660D0DB3EDC99C10A3DB921036AB432FBD74558EFBB9661F0F345CAD6381040AD4F93C2E45238DE22B8A1C5145ECF58CD4ABED8B492FF782F4A06406FE721FB767F7913619DDACEE525E7DB12A111EE7BABAE7E75198EAA13DB1423C3E2A169A654F978E6551D7D3EDB35EABDCCA19F2F3BF999CCED752AED1808A8029E565DEDA2BB7E80DEE6353BB25A9613E4229E21A3F96C37C8C905FBAB7594C72], 0
mov r15, rax
mov r10, rax
je 0x140001245
mov edx, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x28]
nop
movsx r8d, byte [rbx + 1]
test r8b, r8b
je 0x140001245
movsx r9d, byte [rbx]
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x1400011ec
lea edx, [r9 - 0x30]
jmp 0x140001206
lea eax, [r9 - 0x41]
cmp al, 5
ja 0x1400011fa
lea edx, [r9 - 0x37]
jmp 0x140001206
lea eax, [r9 - 0x61]
cmp al, 5
ja 0x140001206
lea edx, [r9 - 0x57]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x140001214
lea ecx, [r8 - 0x30]
jmp 0x14000122e
lea eax, [r8 - 0x41]
cmp al, 5
ja 0x140001222
lea ecx, [r8 - 0x37]
jmp 0x14000122e
lea eax, [r8 - 0x61]
cmp al, 5
ja 0x14000122e
lea ecx, [r8 - 0x57]
movzx eax, dl
add rbx, 2
shl al, 4
add al, cl
mov byte [r10], al
inc r10
cmp byte [rbx], 0
jne 0x1400011d0
shr rdi, 1
mov rcx, rdi
call fcn.140002724
mov ecx, dword [rbp]
lea rdx, [rsp + 0x40]
xor ebx, ebx
mov dword [rsp + 0x28], ecx
mov r8d, ebx
mov ecx, ebx
mov r14, rax
nop word [rax + rax]
mov byte [rdx], cl
lea rdx, [rdx + 1]
inc ecx
cmp ecx, 0x100
jl 0x140001270
mov r9d, ebx
lea r10, [rsp + 0x40]
nop dword [rax + rax]
movzx r11d, byte [r10]
mov eax, r9d
and eax, 3
movzx ecx, byte [rsp + rax + 0x28]
add r8d, ecx
add r8d, r11d
and r8d, 0x800000ff
jge 0x1400012bb
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rax, r8d
lea rcx, [rsp + 0x40]
add rcx, rax
inc r9d
movzx eax, byte [rcx]
mov byte [r10], al
inc r10
mov byte [rcx], r11b
cmp r9d, 0x100
jl 0x140001290
movsxd rbp, edi
mov eax, ebx
mov r8d, ebx
mov r11, rbx
test edi, edi
jle 0x14000135a
nop dword [rax]
inc eax
and eax, 0x800000ff
jge 0x140001302
dec eax
or eax, 0xffffff00
inc eax
movsxd rcx, eax
lea r10, [rsp + 0x40]
add r10, rcx
movzx r9d, byte [r10]
add r8d, r9d
and r8d, 0x800000ff
jge 0x14000132a
dec r8d
or r8d, 0xffffff00
inc r8d
movsxd rcx, r8d
lea rdx, [rsp + 0x40]
add rdx, rcx
movzx ecx, byte [rdx]
mov byte [r10], cl
mov byte [rdx], r9b
movzx ecx, byte [r10]
add r9, rcx
movzx ecx, r9b
movzx edx, byte [rsp + rcx + 0x40]
mov byte [r11 + r14], dl
inc r11
cmp r11, rbp
jl 0x1400012f0
mov rcx, rdi
call fcn.140002724
mov rbp, rax
cmp rdi, 8
jb 0x140001462
lea eax, [rdi - 1]
cdqe
lea rcx, [rax + r15]
lea rdx, [rax + rbp]
cmp rbp, rcx
ja 0x14000138a
cmp rdx, r15
jae 0x140001462
add rax, r14
cmp rbp, rax
ja 0x14000139b
cmp rdx, r14
jae 0x140001462
mov rdx, r14
sub rdx, r15
cmp rdi, 0x40
jb 0x14000142a
mov r9, rdi
mov r10, rdi
and r9d, 0x3f
sub r10, r9
mov r8, rbp
lea rcx, [r15 + 0x10]
sub r8, r15
movdqu xmm0, xmmword [rcx - 0x10]
add ebx, 0x40
movdqu xmm1, xmmword [rdx + rcx - 0x10]
movsxd rax, ebx
movdqu xmm2, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmmword [r8 + rcx - 0x50], xmm1
xorps xmm2, xmm0
movdqu xmm0, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
movdqu xmmword [r8 + rcx - 0x40], xmm2
xorps xmm1, xmm0
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm2, xmmword [rdx + rcx - 0x20]
movdqu xmmword [r8 + rcx - 0x30], xmm1
xorps xmm2, xmm0
movdqu xmmword [r8 + rcx - 0x20], xmm2
cmp rax, r10
jb 0x1400013c2
cmp r9, 8
jb 0x140001462
mov r8, rdi
and r8, 0xfffffffffffffff8
movsxd rcx, ebx
mov r9, rbp
add rcx, r15
sub r9, r15
nop dword [rax]
movq xmm1, qword [rdx + rcx]
add ebx, 8
movq xmm0, qword [rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movsxd rax, ebx
movq qword [rcx + r9 - 8], xmm1
cmp rax, r8
jb 0x140001440
movsxd rax, ebx
cmp rax, rdi
jae 0x140001498
sub r14, r15
lea rcx, [rax + r15]
mov rdx, rbp
sub rdx, r15
nop word [rax + rax]
movzx eax, byte [rcx + r14]
inc ebx
xor al, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
movsxd rax, ebx
cmp rax, rdi
jb 0x140001480
mov rbx, rsi
nop dword [rax + rax]
inc rbx
cmp byte [rbx + rbp], 0
jne 0x1400014a0
mov rcx, rbx
call fcn.140008794
mov r8, rbx
mov rdx, rbp
mov rcx, rax
mov rdi, rax
call fcn.140005eb0
mov ecx, dword [rdi]
lea r8, [rsp + 0x20]
mov dword [rsp + 0x30], ecx
movabs rax, 0x53534543435553
movzx ecx, word [rdi + 4]
mov word [rsp + 0x34], cx
movzx ecx, byte [rdi + 6]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x30]
mov byte [rsp + 0x36], cl
sub r8, rax
mov byte [rsp + 0x37], 0
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140001513
inc rax
test ecx, ecx
jne 0x140001500
test edx, edx
jne 0x140001550
inc rsi
cmp byte [rdi + rsi], 0
jne 0x140001517
sub rsi, 8
mov rcx, rsi
call fcn.140008794
lea rdx, [rdi + 8]
mov r8, rsi
mov rcx, rax
mov rbx, rax
call fcn.140005eb0
mov r8, rsi
mov rdx, rbx
mov rcx, r12
call fcn.140005eb0
mov al, 1
jmp 0x14000156a
mov rcx, rbp
call fcn.140002480
mov rcx, r15
call fcn.140002480
mov rcx, rdi
call fcn.140002480
xor al, al
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140002460
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret