Function at 0x140051c30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov eax, dword [0x1401da400]
xor eax, 0xaaaa2c27
mov edx, dword [0x1401da404]
mov r8d, 0x90c1a990
xor r8d, 0x90c1a991
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
or eax, 0x1a94f375
mov ecx, 0xd021d827
xor ecx, 0x13ae97e6
and eax, ecx
mov ecx, 0xa81cd80c
xor ecx, 0x818896a7
xor eax, ecx
cmp eax, 0x8b51974f
ja 0x140052259
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401da408]
xor edx, edx
div dword [0x1401da40c]
or eax, 0xa27ac20f
mov r8d, 0xd01805d0
xor edx, edx
div r8d
or eax, 0x9cc793c5
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rcx
movabs rdx, 0x1130e7ce53d74424
movabs r8, 0x1130e7ce53d74424
xor rdx, r8
cmp rcx, rdx
setg cl
mov byte [rsp + 0x77], cl
cmp eax, 0xa6aff81a
ja 0x140051c98
mov al, byte [rsp + 0x77]
test al, 1
jne 0x140051d05
jmp 0x140052150
mov eax, dword [0x1401da410]
xor eax, 0xde22a1d9
mov ecx, dword [0x1401da414]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x10bd764
mov ecx, 0xffffffff
xor ecx, 0x24964dba
or eax, edx
or ecx, 0x24964dba
mov edx, 0x5c6807c0
xor edx, 0xa397f83f
xor eax, edx
and eax, ecx
mov ecx, 0xc3bdc59a
xor ecx, 0xbdf020fb
imul eax, ecx
mov ecx, eax
xor ecx, 0xc2debb8b
xor ecx, 0xffffffff
or eax, 0xc2debb8b
and eax, ecx
cmp eax, 0x9194347e
ja 0x140052262
mov rdx, qword [rsp + 0x68]
mov eax, dword [0x1401da418]
mov ecx, dword [0x1401da41c]
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x319cfe9b
xor ecx, 0x319cfe9a
add eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x48537f87
mov r8d, 0x26abf0e1
xor r8d, 0xcabb3
mov r9d, 0x1d13cddd
xor r9d, 0xe2ec3222
xor r8d, r9d
or eax, ecx
mov ecx, 0x8ea99a5b
xor ecx, 0xa80ec109
or ecx, r8d
mov r8d, 0xc66f45f9
xor r8d, 0x3990ba06
xor eax, r8d
and eax, ecx
and eax, 0xaaefc10f
xor ecx, ecx
sub ecx, eax
mov eax, 0x3befd3f6
xor eax, 0x3befd3f6
mov r8d, 0xe3168218
xor r8d, 0x9c4a7f97
sub eax, r8d
add ecx, eax
mov eax, 0xfcae7bd0
xor eax, 0xfcae7bd0
sub eax, ecx
xor ecx, ecx
mov r8d, ecx
sub r8, 1
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0x58], rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
shl r8, 1
sub r8, 0xffffffffffffffff
sub rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x1f17e47fc94e1e64
movabs r9, 0x4cd2dd6370a1e61
xor r8, r9
movabs r9, 0x590fc15b4f211d1e
movabs r10, 0xa6f03ea4b0dee2e1
xor r9, r10
xor r8, r9
or rcx, rdx
movabs rdx, 0x70c5ef2cdd6fc408
movabs r9, 0x6b1f2685232bc40d
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x67], cl
cmp eax, 0xae3102e1
ja 0x140052262
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140051ed0
jmp 0x140051eda
call fcn.140007bb8
jmp 0x140052150
mov rax, qword [rsp + 0x58]
cmp rax, 0
jge 0x140051f26
mov rcx, qword [rsp + 0x58]
movabs rdx, 0x59fb288c6b05492a
movabs rax, 0x59fb288c6b05492a
xor rdx, rax
movabs r8, 0x18a7ca39b0338ba7
movabs rax, 0x675835c64fcc7458
xor r8, rax
call fcn.14000c4b0
jmp 0x140052150
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
cmp rax, rcx
je 0x140051fb7
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
mov rcx, rax
and rcx, 1
movabs rdx, 0x45d24b339a11066c
movabs r8, 0x45d24b339a11066e
xor rdx, r8
imul rcx, rdx
xor rax, 1
add rax, rcx
mov qword [rsp + 0x50], rax
jmp 0x140051f57
mov eax, dword [0x1401da420]
mov ecx, 0xe5942fac
xor ecx, 0xc62769f9
xor eax, ecx
mov ecx, dword [0x1401da424]
xor ecx, 0x1cd2b6e6
mov edx, 0x1d68fac6
xor edx, 0x39f64c0f
add eax, edx
sub eax, ecx
mov ecx, 0x7a2e9b02
xor ecx, 0x5eb02dcb
sub eax, ecx
mov ecx, 0x12308d23
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xfbb07922
xor eax, 0xa38b8942
xor ecx, eax
mov eax, ecx
or eax, 0xc49b87e7
mov edx, 0x3abc80e8
xor edx, 0xc5437f17
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc49b87e7
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x9537aa77
je 0x14005226b
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401da428]
xor eax, 0xd96f38bd
mov r8d, dword [0x1401da42c]
mov edx, 0x836f9fed
xor edx, 0xa9c269c0
xor r8d, edx
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x80]
mov r8d, eax
mov eax, 0xe35a81d4
xor eax, 0xae06d1e7
add r8d, eax
mov eax, 0x9d206e03
xor eax, 0xa545e9a7
add r8d, eax
sub r8d, 0x4d5c5033
mov r9d, 0xffffffff
xor r9d, 0xc18d9f8f
mov eax, r8d
xor eax, r9d
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x24042792
add eax, r8d
add eax, 1
mov r9, qword [rdx]
mov rdx, qword [rcx]
mov r8, rdx
add r8, r9
mov qword [rsp + 0x28], r8
mov rcx, r8
xor rcx, r9
xor r8, rdx
or rcx, rcx
movabs rdx, 0xb27c5b87f2330176
movabs r9, 0x4d83a4780dccfe89
xor rdx, r9
xor rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xf22c1173
je 0x14005226b
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140052136
jmp 0x140052140
call fcn.140007bb8
jmp 0x140052150
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov ecx, dword [0x1401da430]
imul ecx, dword [0x1401da434]
and ecx, ecx
xor ecx, 0xffffffff
mov eax, 0x44151c89
and eax, 0x44151c89
mov edx, 0x4df4646b
xor edx, 0xb20b9b94
xor eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0x8cbd5d4b
xor eax, 0x31fae21
or ecx, eax
mov edx, 0xcf0cf6da
xor edx, 0x30f30925
mov eax, ecx
xor eax, edx
mov r8d, 0xc25baf82
xor r8d, 0x3da4507d
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8af70e40
or eax, edx
mov edx, 0xffffffff
xor edx, 0x8af70e40
mov r8d, 0xffffffff
xor r8d, 0x8af70e40
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x1a8c7d85
jbe 0x140052274
mov eax, dword [0x1401da438]
xor eax, 0x6af9967e
mov ecx, dword [0x1401da43c]
xor ecx, 0xffffffff
mov edx, 0x746db8f0
xor edx, 0x746db8f0
mov r8d, 0x1f97b39e
xor r8d, 0x1f97b39f
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x4d0c9b15
xor ecx, 0xca3d29a3
xor eax, ecx
imul eax, eax, 0x94f611b3
add eax, 0x6c17d7c
mov ecx, 0x2f8e86cf
xor ecx, 0x3b4478f7
cmp eax, ecx
jb 0x140052274
add rsp, 0x88
ret
add byte [rax], al
add bl, al
rcl dword [rcx + 0x36e96186], 0xfa
invalid
invalid
jp 0x140052255
nop
cdq
jmp 0x140052040
cmp eax, 0xe9a783b1
jbe 0x14005227a
invalid
invalid