Function at 0x1404997bd
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rsp
mov rax, rbx
xchg rsp, rbx
mov byte [rax + 0x10], dl
xchg rcx, rsi
mov qword [rax + 8], rsi
xchg rsi, rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rdi
mov dword [rsp - 0x1c], edx
lea rbp, [rax - 0x148]
add rsp, 0x3f4cfc17
sub rsp, 0x3f4cfe4f
xchg rbx, rbp
mov qword [rax + 0x18], rbp
xchg rbp, rbx
movabs rdi, 0xd6313e3757f441c
sub rdi, 0x6890379
sub rdi, 0x21bd2baa
xor rdi, 0x56ea6136
add rdi, 0x1bfffb9f
mov qword [rax - 0x18], rsi
movzx ebx, r8b
mov qword [rax - 0x20], r12
mov dword [rsp - 0x20], 0x52555b8d
mov qword [rax - 0x28], r13
xchg r13, rsi
mov rsi, rcx
xchg rsi, r13
mov rcx, qword [rcx]
xchg r15, r14
mov qword [rax - 0x30], r15
xchg r14, r15
xor rcx, rdi
mov dword [rsp - 0x30], 0x61e40f66
xchg r15, r8
mov qword [rax - 0x38], r8
xchg r15, r8
movzx r14d, dl
mov byte [rsp + 0x58], 0x4a
xor byte [rsp + 0x58], 0x58
xor byte [rsp + 0x58], 0x37
sub byte [rsp + 0x58], 0x25
lea rdx, [rsp + 0x58]
xchg r10, rdi
mov qword [rsp + 0x60], r10
xchg rdi, r10
mov dword [rsp + 0x68], 0x7b4713a2
sub dword [rsp + 0x68], 0x196e1634
xor dword [rsp + 0x68], 0x36cede27
sub dword [rsp + 0x68], 0x2957beeb
mov dword [rsp + 0x6c], 0x781eb7ba
sub dword [rsp + 0x6c], 0xe8bdbb2
sub dword [rsp + 0x6c], 0x395010d6
xor dword [rsp + 0x6c], 0x1dfcaf6c
mov rax, qword [rcx]
mov dword [rsp - 0x10], 0x8e7dacf
call qword [rax + 0x10]
test al, al
jne 0x140499297
mov edi, 0x5d65e9fa
sub edi, 0x4a68d705
add edi, 0x6c87c5d2
xor edi, 0xbf84d9c5
jmp 0x140499de6
xchg r12, r10
mov r10, qword [rsp + 0x60]
xchg r12, r10
xor r12, rdi
mov qword [rsp + 0x30], r12
movzx eax, word [r12]
mov r10, r10
xor eax, 0x2dbe645e
cmp eax, 0x2dbe3e13
je 0x1404992e6
mov dword [rsp - 0x24], 0x6e31082f
mov edi, 0xb108e6d
add edi, 0x5af08b13
xor edi, 0x68d3586d
add edi, 0xb12dbf42
jmp 0x140499de6
movsxd rsi, dword [r12 + 0x3c]
xchg rbx, rbx
add rsi, r12
mov qword [rsp + 0x48], rsi
mov eax, dword [rsi]
mov r10, r10
xor eax, 0x2dbe645e
cmp eax, 0x2dbe210e
je 0x14049932a
mov r11, r11
mov edi, 0x56bfc4dc
sub edi, 0x35b50c51
xor edi, 0x75e8240e
add edi, 0x6b1d63f6
jmp 0x140499de6
xor r15d, r15d
mov dword [rsp + 0x28], 0x33535803
xor dword [rsp + 0x28], 0x3ccd2225
add dword [rsp + 0x28], 0x2868a59c
sub dword [rsp + 0x28], 0x38071f82
xchg r15, rbp
mov qword [rsp + 0x40], rbp
xchg rbp, r15
lea r9, [rbp - 0x50]
mov eax, dword [rsi + 0x50]
lea rdx, [rsp + 0x40]
mov r10, r10
xor r8d, r8d
mov qword [rbp - 0x50], rax
nop
movabs rcx, 0xffffffff6fb6b5cf
sub rcx, 0x1f64d95a
add rcx, 0x1a9d59d8
sub rcx, 0x1d0b76fe
add rcx, 0x7fffffff
add rcx, 0x321c40b1
mov dword [rsp + 0x20], 0x1408dd55
sub dword [rsp + 0x20], 0x9fc58aa
sub dword [rsp + 0x20], 0x7ff841
sub dword [rsp + 0x20], 0x98c5c6a
call fcn.140054d20
mov edi, eax
xchg r15, r15
test eax, eax
js 0x140499de6
mov rcx, qword [rsp + 0x40]
movabs rdx, 0xd6313e376c89075
add rdx, 0x4167d41
sub rdx, 0x7154689
xor rdx, 0x12f099fa
sub rdx, 0x2965ed69
mov rax, rcx
mov dword [rsp - 0x38], edx
xor rax, rdx
mov qword [r13 + 8], rax
mov eax, dword [rsi + 0x50]
xor eax, 0x2dbe645e
mov rcx, rcx
mov dword [r13 + 0x10], eax
mov eax, dword [rsi + 0x28]
xor eax, 0x2dbe645e
mov dword [r13 + 0x14], eax
mov dword [rsp - 0x10], 0xd1208a0
test bl, bl
je 0x140499460
mov r8d, 0x1ed90b64
add r8d, 0x4beb697b
xor r8d, 0x35e4f94d
sub r8d, 0x3d3a270e
sub r8d, 0x21e65684
mov rdx, r12
mov dword [rsp - 0x24], edi
call fcn.140098bc0
mov edx, dword [rsi + 0x88]
test edx, edx
je 0x1404996a5
mov r13, r13
cmp dword [rsi + 0x8c], r15d
je 0x1404996a5
mov rcx, r12
mov dword [rsp - 0x30], 0x4581ffe2
call fcn.140077720
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
test rax, rax
je 0x1404996a5
mov edx, dword [rax + 0x20]
mov rsp, rsp
xchg r10, r12
mov rcx, r10
xchg r12, r10
call fcn.140077720
mov edx, dword [rbx + 0x24]
mov dword [rsp - 0x40], edi
xchg rcx, r9
mov r9, r12
xchg rcx, r9
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
xchg r10, rax
mov qword [rsp + 0x50], r10
xchg r10, rax
call fcn.140077720
mov dword [rsp - 0x20], edx
mov edx, dword [rbx + 0x1c]
xchg r12, rcx
mov r12, rcx
xchg rcx, r12
mov qword [rbp + 0x168], rax
mov dword [rsp - 0x30], edi
call fcn.140077720
xchg r12, r14
mov r14, rax
xchg r12, r14
mov esi, r15d
mov dword [rsp - 0xc], 0x7654c046
cmp dword [rbx + 0x18], r15d
jbe 0x140499653
lea r14, [r13 + 0x18]
mov dword [rsp - 0x40], ecx
mov r13, qword [rbp + 0x168]
xchg r8, r14
mov qword [rbp - 0x48], r8
xchg r8, r14
nop
xchg rbx, rbx
xchg rcx, r12
mov r12, qword [rsp + 0x30]
xchg r12, rcx
mov r15d, esi
mov dword [rsp - 0x24], edx
mov edx, dword [rdi + r15*4]
call fcn.140077720
xchg rdx, r14
mov rcx, rdx
xchg r14, rdx
mov rdi, rax
mov dword [rsp - 0x2c], 0x410a3b9
call fcn.140498c00
cmp byte [rdi], 0
pushf
mov ecx, 0x1bdf00e6
xor ecx, 0x3ce0fb70
add ecx, 0x2cd9e44b
add ecx, 0x14617171
xor ecx, 0x9784aead
popf
mov dword [rbp + 0x168], ecx
mov dword [rsp - 0x30], 0x35c61a09
xchg r14, rax
mov rax, r14
xchg r14, rax
je 0x1404995f9
nop
xchg r10, rdx
mov r10, rdi
xchg rdx, r10
lea rcx, [rbp + 0x168]
mov dword [rsp - 0x34], edi
mov r8d, 0x71ab5083
xor r8d, 0x28507138
add r8d, 0x226dbc13
xor r8d, 0x208eb8de
sub r8d, 0x5ce6650f
inc rdi
mov rbx, rbx
call fcn.1400834b0
cmp byte [rdi], 0
jne 0x1404995a6
xchg r8, r8
mov ecx, dword [rbp + 0x168]
xchg r10, rdi
mov r10, qword [rsp + 0x50]
xchg r10, rdi
not ecx
xchg rdx, rdx
mov dword [r14], ecx
inc esi
movzx eax, word [r13 + r15*2]
mov dword [rsp - 0x28], 0x2d793998
mov ecx, dword [r12 + rax*4]
mov dword [r14 + 4], ecx
mov r14, qword [rbp - 0x48]
mov dword [rsp - 0x34], 0x68d8e116
cmp esi, dword [rbx + 0x18]
jb 0x140499532
mov r13, qword [rbp + 0x150]
xor r15d, r15d
mov dword [rsp - 0xc], 0x3a87f235
movzx r14d, byte [rbp + 0x158]
cmp dword [rbx + 0x14], 0
mov edi, r15d
mov dword [rsp - 0x38], 0x17e417bd
jbe 0x140499697
lea rcx, [r13 + 0x38]
call fcn.140498d60
mov edx, dword [rbx + 0x10]
mov dword [rsp - 0x10], edx
add edx, edi
mov ecx, edi
inc edi
mov r15, r15
mov dword [rax], edx
mov edx, dword [r12 + rcx*4]
mov dword [rax + 4], edx
mov dword [rsp - 0x40], ebx
cmp edi, dword [rbx + 0x14]
jb 0x140499668
mov rsi, qword [rsp + 0x48]
mov dword [rsp - 0x14], ecx
mov r12, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
xchg rcx, r12
mov r12, rcx
xchg rcx, r12
call fcn.140075670
test r14b, r14b
mov dword [rsp - 0x18], edi
je 0x140499876
mov edx, dword [rsi + 0x90]
test edx, edx
je 0x140499876
mov r14, r14
xchg r11, rcx
mov r11, r12
xchg rcx, r11
call fcn.140077720
xchg rdi, rdi
lea r15, [rax + 0xc]
mov eax, dword [rax + 0xc]
test eax, eax
mov r11, r11
je 0x140499876
mov edx, eax
xchg rdx, rcx
mov rdx, r12
xchg rdx, rcx
call fcn.140077720
xor edx, edx
mov rcx, rax
xchg rbx, rbx
xchg rdi, rdx
mov rdx, rax
xchg rdi, rdx
call fcn.140076b20
mov dword [rsp - 0x24], 0x7a9a8eaa
xchg r8, rax
mov r14, r8
xchg r8, rax
test rax, rax
mov dword [rsp - 0x2c], 0x78ffeeb0
je 0x140499c2a
cmp byte [rdi], 0
je 0x140499765
mov dword [rsp - 0x14], ecx
nop
call fcn.14009a2a0
mov byte [rdi], al
xchg r10, r10
lea rdi, [rdi + 1]
cmp byte [rdi], 0
jne 0x14049974e
mov edx, dword [r15 + 4]
xchg r8, r8
xchg r12, rcx
mov r12, rcx
xchg r12, rcx
call fcn.140077720
xchg r12, r12
xchg r8, rax
mov rsi, r8
xchg r8, rax
xchg rcx, r14
mov r14, qword [rax]
xchg rcx, r14
test rcx, rcx
mov dword [rsp - 0x14], ebp
je 0x140499858
mov eax, ecx
js 0x14049980b
xchg r12, r12
mov edx, eax
xchg r12, rcx
mov r12, rcx
xchg r12, rcx
call fcn.140077720
xchg r14, rcx
mov r14, rcx
xchg rcx, r14
lea rdi, [rax + 2]
mov dword [rsp - 0x20], 0x7b643210
mov rdx, rdi
call fcn.1400759c0
xchg rsp, rax
mov rbx, rsp
xchg rsp, rax
test rax, rax
je 0x140499bec
xchg rdi, rdi
cmp byte [rdi], 0
je 0x14049982f
call fcn.14009a2a0
mov byte [rdi], al
mov dword [rsp - 0x24], ebp
lea rdi, [rdi + 1]
cmp byte [rdi], 0
jne 0x1404997ee
jmp 0x14049982f
movzx edx, ax
xchg rcx, r14
mov r14, rcx
xchg r14, rcx
call fcn.1400764d0
xchg r13, rax
mov rbx, r13
xchg r13, rax
test rax, rax
xchg r9, r9
je 0x140499c08
mov qword [rsi], rbx
neg rsi
add rsi, 0xfffffffffffffff8
neg rsi
xchg rcx, r10
mov r10, qword [rsi]
xchg rcx, r10
mov eax, ecx
mov dword [rsp - 0x38], 0x2643ad49
test rcx, rcx
jne 0x14049979c
mov eax, dword [r15 + 0x14]
nop
add r15, 0x3fbb7d98
sub r15, 0x3fbb7d84
test eax, eax
jne 0x1404996f9
mov r12, r12
mov r15, qword [rsp + 0x48]
xor edi, edi
movzx r14d, di
mov dword [rsp - 0x10], esi
movzx eax, word [r15 + 0x14]
lea rsi, [r15 + 0x18]
add rsi, rax
cmp di, word [r15 + 6]
mov dword [rsp - 0x44], edx
jae 0x140499de6
mov r13d, 0x32a3ef1d
xor r13d, 0x7658957f
xor r13d, 0x376366f8
xor r13d, 0x73981c65
nop word [rax + rax]
test dword [rsi + 0x24], 0x2000000
mov dword [rsp - 0x18], 0x64ceab74
jne 0x140499dcd
cmp dword [rsi + 8], 0
je 0x140499dcd
xorps xmm0, xmm0
mov r8, r8
mov dword [rsp + 0x30], 0x49ce5d60
sub dword [rsp + 0x30], 0x1b6e3c
add dword [rsp + 0x30], 0x25c51a99
xor dword [rsp + 0x30], 0x10e3ae5a
sub dword [rsp + 0x30], 0x4eb87be0
lea rcx, [rsp + 0x78]
mov word [rsp + 0x34], 0x79f5
sub word [rsp + 0x34], 0x625e
add word [rsp + 0x34], 0x1132
xor word [rsp + 0x34], 0x1594
lea rdx, [rsp + 0x78]
xchg r10, rcx
mov qword [rsp + 0x70], r10
xchg r10, rcx
mov eax, 0x29065bc
add eax, 0x593d1886
xor eax, 0x5891fc41
sub eax, 0x35c81fd
mov qword [rbp - 0x58], rax
xchg rbx, rbx
xchg rsp, r13
movups xmmword [r13 + 0x78], xmm0
xchg rsp, r13
xchg rbp, r15
movups xmmword [r15 - 0x78], xmm0
xchg r15, rbp
xchg rbp, r10
movups xmmword [r10 - 0x68], xmm0
xchg r10, rbp
cmp rcx, rdx
mov rsp, rsp
je 0x140499996
call fcn.140098730
mov rax, qword [rbp - 0x58]
xchg rsp, rsp
lea rdx, [rsp + 0x78]
xorps xmm0, xmm0
mov qword [rsp + 0x70], rdx
mov dword [rsp - 0x40], 0x763cba88
xchg rdi, r8
mov rcx, r8
xchg rdi, r8
xchg r9, rsp
movups xmmword [r9 + 0x78], xmm0
xchg r9, rsp
xchg rbp, r15
movups xmmword [r15 - 0x78], xmm0
xchg r15, rbp
xchg rsp, rbp
movups xmmword [rsp - 0x68], xmm0
xchg rsp, rbp
test rax, rax
mov dword [rsp - 0x3c], ebx
je 0x140499a00
nop
movzx eax, byte [rsp + rcx + 0x30]
mov rdx, rdx
mov word [rdx + rcx*2], ax
inc rcx
cmp rcx, qword [rbp - 0x58]
mov rbp, rbp
jb 0x1404999e4
mov edx, 0x261a4af3
xor edx, 0x45e10300
sub edx, 0x367c4df7
xor edx, 0x2d7efbf4
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
call fcn.14009a130
mov dword [rsp - 0x14], 0x25b5803d
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
lea rcx, [rbp + 8]
lea rax, [rbp + 8]
xor edx, edx
xchg rsp, rsp
mov r8d, 0x10c723e1
add r8d, 0x25dca127
sub r8d, 0x21d17402
xor r8d, 0x14d25006
mov qword [rbp], rax
call fcn.140098cd0
mov rsi, rsi
cmp rdi, 0xffffffffffffffff
jne 0x140499a93
xchg rbp, rdi
mov rax, rbp
xchg rbp, rdi
inc rax
mov dword [rsp - 0x40], ebx
cmp byte [rsi + rax], 0
jne 0x140499a7b
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
xchg r15, r8
mov r15, rdi
xchg r15, r8
lea rcx, [rbp]
xchg rcx, rcx
xchg r8, rdx
mov r8, rsi
xchg r8, rdx
call fcn.140073fe0
mov r14, r14
mov rbx, qword [rbp]
lea rax, [rbp - 0x38]
xorps xmm0, xmm0
mov dword [rsp - 0x18], ebx
mov qword [rbp - 0x40], rax
xchg rbp, rcx
movups xmmword [rcx - 0x38], xmm0
xchg rcx, rbp
nop
movabs rdx, 0xffffffff59b6d332
add rdx, 0x4e2e8ed
sub rdx, 0x35a77a3d
add rdx, 0x7fffffff
add rdx, 0x570dbe1e
movups xmmword [rbp - 0x28], xmm0
mov dword [rsp - 0x24], edi
movups xmmword [rbp - 0x18], xmm0
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x140499b04
xchg r9, r9
lea rcx, [rbp - 0x40]
xchg r15, rdx
mov qword [rbp - 8], r15
xchg rdx, r15
call fcn.14000ee60
xor edi, edi
xchg r8, r8
mov edx, 0x63b6d527
sub edx, 0x1708c1f9
xor edx, 0x4b66d822
add edx, 0x49be911d
cmp qword [rbp - 8], rdi
mov dword [rsp - 0x30], 0x40bdd8eb
jbe 0x140499b94
sub rbx, rax
nop dword [rax + rax]
movzx ecx, dx
mov rcx, rcx
lea rax, [rax + 2]
and cx, r13w
ror edx, 8
mov dword [rsp - 0x10], edi
xor cx, word [rbx + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 8]
mov dword [rsp - 0xc], 0x7a8ae573
jb 0x140499b61
xor r8d, r8d
lea rdx, [rsp + 0x70]
xchg rbx, rbx
lea rcx, [rbp - 0x40]
call fcn.140053cd0
mov rcx, qword [rbp - 0x40]
mov ebx, eax
xchg rbx, rbx
lea rax, [rbp - 0x38]
cmp rcx, rax
jne 0x140499c46
mov dword [rsp - 0x44], ecx
lea rdi, [rbp - 0x38]
xor eax, eax
mov ecx, 0x5f10e33a
xor ecx, 0x508ba5c0
add ecx, 0x1e394572
add ecx, 0x101f9e96
sub ecx, 0x3df42ad2
rep stosb byte [rdi], al
jmp 0x140499c4b
mov edi, 0x569d9d97
add edi, 0xb38f279
sub edi, 0x18836917
add edi, 0x76acd981
jmp 0x140499de6
mov edi, 0x552b703e
sub edi, 0x2859787f
add edi, 0x329d2994
sub edi, 0x21bb00b6
xor edi, 0xfdb421a5
jmp 0x140499de6
mov edi, 0x7b0ece97
xor edi, 0x74a327b9
add edi, 0x41f4ebf6
xor edi, 0x91a2d411
jmp 0x140499de6
call fcn.140098730
xchg r15, rcx
mov r15, qword [rbp]
xchg rcx, r15
lea rax, [rbp + 8]
mov rdx, rdx
cmp rcx, rax
jne 0x140499c8c
lea rdi, [rbp + 8]
xchg rbp, rbp
xor eax, eax
mov ecx, 0xcb45e9a
add ecx, 0xb655051
add ecx, 0x6c38f7e
xor ecx, 0x1edd3f69
rep stosb byte [rdi], al
jmp 0x140499c99
call fcn.140098730
mov dword [rsp - 0x2c], 0x1aedc50e
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x78]
cmp rcx, rax
mov dword [rsp - 0x28], esi
jne 0x140499cd5
lea rdi, [rsp + 0x78]
xor eax, eax
mov ecx, 0x7d15469c
sub ecx, 0x3989a423
add ecx, 0x2652ac6d
xor ecx, 0x69de4ed6
rep stosb byte [rdi], al
jmp 0x140499cda
call fcn.140098730
test ebx, ebx
je 0x140499dcb
mov dword [rsp - 0x34], esi
mov eax, dword [rsi + 0xc]
xchg rdx, rsi
mov rsi, rdx
xchg rdx, rsi
add rax, qword [rsp + 0x40]
mov dword [rsp - 0x34], 0x4b9ad01
xchg rcx, rdi
mov rdi, r15
xchg rcx, rdi
mov qword [rbp + 0x168], rax
mov dword [rsp - 0x34], 0x1c418361
call fcn.140077c30
mov eax, eax
xchg rsi, r14
mov rcx, r14
xchg r14, rsi
xchg r14, rax
mov qword [rsp + 0x50], r14
xchg r14, rax
call fcn.14007bcc0
mov edx, dword [rsi + 0x14]
mov r8d, dword [rsi + 0x10]
mov dword [rsp - 0x38], 0x12410271
add rdx, r12
xchg r11, rcx
mov r11, qword [rbp + 0x168]
xchg r11, rcx
mov dword [rbp + 0x150], eax
call fcn.140098bc0
mov dword [rsp - 0x20], ecx
mov r9d, dword [rbp + 0x150]
lea rax, [rbp + 0x150]
lea r8, [rsp + 0x50]
xchg r11, rax
mov qword [rsp + 0x20], r11
xchg r11, rax
lea rdx, [rbp + 0x168]
xchg r10, r10
nop
movabs rcx, 0xffffffff7838e89e
xor rcx, 0x6ed57015
add rcx, 0x47333e61
add rcx, 0x7fffffff
add rcx, 0x21df2914
call fcn.140054e10
mov dword [rsp - 0x14], edx
mov edi, eax
test eax, eax
js 0x140499de6
mov dword [rsp - 0x24], 0x26e19a29
xor edi, edi
inc r14w
neg rsi
add rsi, 0xffffffffffffffd8
neg rsi
cmp r14w, word [r15 + 6]
jb 0x1404998c4
cmp byte [rsp + 0x58], 0
mov dword [rsp - 0x40], 0x728e4c5e
xchg r15, rdi
mov rdi, qword [rsp + 0x210]
xchg rdi, r15
xchg r9, r14
mov r9, qword [rsp + 0x218]
xchg r14, r9
mov r13, qword [rsp + 0x220]
mov dword [rsp - 0x38], 0x561370ab
mov r12, qword [rsp + 0x228]
xchg r14, rsi
mov r14, qword [rsp + 0x230]
xchg r14, rsi
mov rbx, qword [rsp + 0x260]
mov rbp, rbp
je 0x140499e95
xchg rcx, r8
mov r8, qword [rsp + 0x60]
xchg rcx, r8
movabs rax, 0xd6313e32fe48a8b
xor rax, 0x1c4ff07
add rax, 0x14735ca3
add rax, 0x1f72a9a6
xor rax, 0x55d50abb
xor rcx, rax
mov edx, 0x2a12782d
sub edx, 0x20fc9ade
xor edx, 0x36dce852
sub edx, 0x3fc9351c
call fcn.140098600
xchg rbx, rbx
mov eax, edi
add rsp, 0xb4c2129
sub rsp, 0xb4c1ef1
nop
mov rdi, qword [rsp]
add rsp, 8
pop rbp
xchg r15, r15
ret