Function at 0x140040bd0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rcx
mov rax, rcx
mov qword [rsp + 0x100], rax
mov rax, qword [0x14019a978]
mov qword [rcx], rax
mov rax, qword [0x14019a980]
mov qword [rcx + 8], rax
cmp r8, 0
jle 0x14004142a
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
add rcx, 8
mov qword [rsp + 0xc0], rcx
add rax, 8
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x108]
add rax, 8
mov qword [rsp + 0xd0], rax
xor eax, eax
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xb0], rax
mov cl, byte [rcx + rax]
mov byte [rsp + 0xbf], cl
cmp rax, 0
je 0x140041024
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rax]
call fcn.140022539
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xa8], rcx
cmp rax, 0
jle 0x140041024
mov rdx, qword [rsp + 0xa0]
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, rdx
and rcx, rcx
movabs r8, 0x7703dcfa21847dc2
movabs r9, 0x88fc2305de7b823d
xor r8, r9
xor rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xab9e6bbb24e66657
movabs r9, 0x54619444db1999a8
xor r8, r9
movabs r9, 0xfa364c5ecc7f8049
movabs r10, 0x5c9b3a133807fb6
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x70233b8d039e8353
movabs r9, 0x8fdcc472fc617cac
xor r8, r9
movabs r9, 0x479adb7ad94b2d5
movabs r10, 0xfb865248526b4d2a
xor r9, r10
xor r8, r9
movabs r9, 0xb16fec2f53c12073
movabs r10, 0x4e9013d0ac3edf8c
xor r9, r10
movabs r10, 0xf27e523114fea4f9
movabs r11, 0xd81adceeb015b06
xor r10, r11
xor r9, r10
or r8, r9
movabs r9, 0x38afdf83baedcf54
movabs r10, 0xc750207c451230ab
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
movabs rdx, 0x7e3a852f521ab454
movabs r8, 0x81c57ad0ade54bab
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x9b700437d935645b
movabs rdx, 0x9b700437d935645b
xor rcx, rdx
cmp rax, rcx
jge 0x140040e2d
call fcn.14000a590
jmp 0x140041024
mov rax, qword [rsp + 0x98]
movabs rcx, 0xcee9e6108e16b9a6
movabs rdx, 0xcee9e6108e16b9a6
xor rcx, rdx
cmp rax, rcx
jge 0x140040e95
mov rcx, qword [rsp + 0x98]
movabs rdx, 0xec2d841be3ade545
movabs rax, 0xec2d841be3ade545
xor rdx, rax
movabs r8, 0x22f9b949b06f26a4
movabs rax, 0x5d0646b64f90d95b
xor r8, rax
call fcn.140010917
jmp 0x140041024
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x80], rcx
add rax, 8
mov qword [rsp + 0x88], rax
xor eax, eax
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x60b35b57091b4f7d
movabs rax, 0x5df83b03eb605f5b
xor r8, rax
mov rax, rcx
sub rax, r8
add rax, 1
movabs r8, 0x1bd978439e481bf7
movabs r9, 0x269218177c330bd1
xor r8, r9
add rax, r8
cmp rcx, rdx
mov qword [rsp + 0x90], rax
jne 0x140040ed5
mov r8, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
xor eax, eax
sub rax, rcx
movabs rdx, 0x18f5121d72408cbb
movabs r9, 0x18f5121d72408cbb
xor rdx, r9
sub rdx, r8
add rax, rdx
xor edx, edx
sub rdx, rax
mov qword [rsp + 0x78], rdx
mov rax, rdx
xor rax, rcx
mov rcx, rdx
and rcx, rcx
movabs r9, 0xac4dde48c584f87e
movabs r10, 0x53b221b73a7b0781
xor r9, r10
xor rcx, r9
xor rcx, 0xffffffffffffffff
movabs r10, 0x853844b34bcc4f9
movabs r9, 0xf7ac7bb4cb433b06
xor r10, r9
mov r9, r8
xor r9, r10
or rcx, r9
and r8, r8
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x82d686419938c9c
movabs r9, 0xf7d2979be66c7363
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140041014
call fcn.14000a590
jmp 0x140041024
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov dl, byte [rsp + 0xbf]
lea rcx, [rsp + 0x108]
call fcn.14003069b
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x70], rdx
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
call fcn.140022539
mov rax, qword [rsp + 0x70]
movabs rcx, 0xcf0d972825f28e17
movabs rdx, 0xcf0d972825f28e17
xor rcx, rdx
cmp rax, rcx
jle 0x1400412f7
mov rcx, qword [rsp + 0x70]
movabs rdx, 0x5f45110e200b8dcb
movabs rax, 0x282f58e99be428a9
xor rdx, rax
mov rax, rcx
sub rax, rdx
add rax, 1
movabs rdx, 0xfceeaede07b9ef21
movabs r8, 0x8b84e739bc564a43
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x60], rax
movabs rdx, 0x2ad3559d53adec9e
movabs r8, 0xd52caa62ac521361
xor rdx, r8
mov r8, rcx
and r8, rdx
movabs rdx, 0x6f836111581e4aa2
movabs r9, 0x6f836111581e4aa0
xor rdx, r9
imul rdx, r8
add rcx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140041122
call fcn.14000a590
jmp 0x1400412f7
mov rax, qword [rsp + 0x60]
cmp rax, 0
jge 0x14004116e
mov rcx, qword [rsp + 0x60]
movabs rdx, 0x55d43c286a72f49c
movabs rax, 0x55d43c286a72f49c
xor rdx, rax
movabs r8, 0xcaa001ac86594c4d
movabs rax, 0xb55ffe5379a6b3b2
xor r8, rax
call fcn.140010917
jmp 0x1400412f7
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xc8]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x48], rcx
add rax, 8
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
xor eax, eax
mov r8d, eax
sub r8, rcx
xor eax, eax
sub rax, 1
add r8, rax
xor eax, eax
sub rax, r8
cmp rcx, rdx
mov qword [rsp + 0x58], rax
jne 0x1400411a2
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
mov r9, rcx
add r9, r8
mov qword [rsp + 0x40], r9
mov rax, r9
xor rax, rcx
movabs rcx, 0xea3bdb8e9e243bbf
movabs rdx, 0x15c4247161dbc440
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0xb72295a8a1f989eb
movabs r10, 0xa4c492ce2185d885
xor rcx, r10
and rcx, rdx
movabs r10, 0x3be8e1edfb45a6b7
movabs rdx, 0x280ee68b7b39f7d9
xor r10, rdx
movabs rdx, 0xe0382c2726c2e8ba
movabs r11, 0x1fc7d3d8d93d1745
xor rdx, r11
xor r10, rdx
and r9, r10
movabs r11, 0xb92e7ab1d8d8a169
movabs rdx, 0x46d1854e27275e96
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0x13e60766807c516e
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xf3782856dd595d25
movabs rdx, 0xf3782856dd595d25
xor rcx, rdx
cmp rax, rcx
jge 0x1400412d1
call fcn.14000a590
jmp 0x1400412e1
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb0]
add rax, 1
mov qword [rsp + 0x38], rax
jmp 0x140041335
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xb0]
movabs rdx, 0xc9b33da1a328a74
movabs r8, 0xc9b33da1a328a75
xor rdx, r8
add rax, rdx
cmp rcx, 0
mov rcx, rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
je 0x14004140c
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
movabs rdx, 0x713b19551a4df448
movabs r8, 0x8ec4e6aae5b20bb7
xor rdx, r8
xor rcx, rdx
movabs r8, 0x7bbe788da508e6ee
movabs rdx, 0x3bbe788da508e6ee
xor r8, rdx
movabs rdx, 0xa566df25cbc2f94b
movabs r9, 0x5a9920da343d06b4
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x98db9fc5374a5ed6
xor rdx, r9
or rcx, r8
movabs r8, 0x98db9fc5374a5ed6
or rdx, r8
movabs r8, 0xdaa32b6475fc9ea3
movabs r9, 0x255cd49b8a03615c
xor r8, r9
xor rcx, r8
and rcx, rdx
movabs rdx, 0x7fb71fd814001d19
movabs r8, 0x7fb71fd814001d19
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x30], rax
jne 0x14004140c
mov rcx, qword [rsp + 0x68]
call fcn.1400121d0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x30]
cmp rax, rcx
mov qword [rsp + 0xd8], rax
jne 0x140040c67
mov rax, qword [rsp + 0x100]
add rsp, 0x118
ret