Function at 0x1400fd2e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x208
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], rdx
mov qword [rbp + 0x138], rcx
mov eax, 0x10
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x130], rax
sub rsp, 0x20
call fcn.1400fcd9c
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x140]
add rsp, 0x20
mov qword [rbp + 0x148], rax
mov rax, rcx
add rax, 8
mov qword [rbp + 0x150], rax
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x158], rcx
mov rax, rdx
add rax, 8
mov qword [rbp + 0x160], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x168], rax
cmp rcx, rax
sete r11b
cmp rcx, 0
sete bl
mov dl, bl
xor dl, 0xff
mov r9b, r11b
xor r9b, 0xff
mov r8b, 1
xor r8b, 1
mov cl, dl
and cl, 0xff
and bl, r8b
mov r10b, r9b
and r10b, 0xff
and r11b, r8b
or cl, bl
or r10b, r11b
xor cl, r10b
or dl, r9b
xor dl, 0xff
or r8b, 1
and dl, r8b
or cl, dl
test cl, 1
mov qword [rbp + 0x170], rax
jne 0x1400fd473
mov rax, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rcx]
movabs r8, 0x4000000000000000
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xf68720f0dc5f0be2
movabs r9, 0x978df0f23a0f41d
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0xc124a2e719f1df76
movabs r9, 0x3edb5d18e60e2089
xor r8, r9
xor rdx, r8
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x170], rax
jne 0x1400fd473
mov rcx, qword [rbp + 0x158]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x128], rax
mov eax, dword [0x140251c10]
mov ecx, 0x1d635103
xor ecx, 0x144b2b3b
xor eax, ecx
xor edx, edx
div dword [0x140251c14]
add eax, 0x5b1ceaaa
mov ecx, 0x519335bc
xor ecx, 0x25f8073a
sub eax, ecx
mov ecx, 0x486ee201
xor ecx, 0x137208ab
sub eax, ecx
sub eax, 0x45f95716
mov r8d, 0xffffffff
xor r8d, 0x94591724
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x94591724
mov r8d, 0xe13ce47f
xor r8d, 0x7565f35b
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x9c9d1b0e
jbe 0x1400fdf70
mov r8, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x138]
mov r9, qword [rbp + 0x150]
mov r10, qword [rbp + 0x128]
mov ecx, dword [0x140251c18]
mov esi, dword [0x140251c1c]
mov r11d, 0xe543fc36
xor r11d, 0x1abc03c9
mov eax, ecx
xor eax, r11d
mov r11d, ecx
xor r11d, 0xffffffff
or eax, r11d
and eax, esi
xor eax, 0xffffffff
mov r11d, esi
xor r11d, 0xffffffff
mov edi, 0x364a3b81
xor edi, 0xc9b5c47e
xor esi, edi
or r11d, esi
and ecx, r11d
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x22fe1eeb
xor ecx, 0x665d825b
add eax, ecx
mov ecx, 0x3e4a7513
xor ecx, 0x7c6203e0
xor eax, ecx
mov ecx, 0x9bfd552e
xor ecx, 0xc2511154
xor eax, ecx
mov ecx, 0xa6cb6ae9
xor ecx, 0x2bb5e0dd
mov r11, qword [r8]
mov qword [rdx], r11
mov qword [r9], r10
mov r9, rdx
add r9, 0x10
mov qword [rbp + 0xf0], r9
mov r9, rdx
add r9, 0x18
mov qword [rbp + 0xf8], r9
mov rdx, qword [rdx + 0x18]
mov qword [rbp + 0x100], rdx
mov r9, r8
add r9, 0x10
mov qword [rbp + 0x108], r9
mov r9, r8
add r9, 0x18
mov qword [rbp + 0x110], r9
mov r8, qword [r8 + 0x18]
mov qword [rbp + 0x118], r8
cmp rdx, r8
sete r8b
cmp rdx, 0
sete dl
or dl, r8b
mov byte [rbp + 0x127], dl
cmp eax, ecx
jae 0x1400fd505
mov rax, qword [rbp + 0x118]
mov cl, byte [rbp + 0x127]
test cl, 1
mov qword [rbp + 0xe8], rax
jne 0x1400fd68e
jmp 0x1400fd63d
mov rax, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x100]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rbp + 0xe8], rax
jne 0x1400fd68e
mov rcx, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0x110]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0xf8]
mov r9, qword [rbp + 0xf0]
mov r10, qword [rbp + 0x108]
mov r8, qword [rbp + 0xe8]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x20
mov qword [rbp + 0xb0], rdx
mov rdx, rcx
add rdx, 0x28
mov qword [rbp + 0xb8], rdx
mov rcx, qword [rcx + 0x28]
mov qword [rbp + 0xc0], rcx
mov rdx, rax
add rdx, 0x20
mov qword [rbp + 0xc8], rdx
mov rdx, rax
add rdx, 0x28
mov qword [rbp + 0xd0], rdx
mov rax, qword [rax + 0x28]
mov qword [rbp + 0xd8], rax
cmp rcx, rax
sete dl
cmp rcx, 0
sete cl
or cl, dl
test cl, 1
mov qword [rbp + 0xe0], rax
jne 0x1400fd880
mov eax, dword [0x140251c20]
xor edx, edx
div dword [0x140251c24]
mov ecx, 0xd6391e60
xor ecx, 0x39fc9462
add eax, ecx
mov ecx, 0x2aa0b83d
xor ecx, 0xd7546db1
sub eax, ecx
sub eax, 0xefc58a02
mov ecx, 0x11c8851a
xor ecx, 0x8f475d4a
and eax, ecx
mov ecx, 0xb68d8e19
xor ecx, 0x2512b710
mov edx, eax
and edx, ecx
mov ecx, 0xde3d456
xor ecx, 0xde3d454
imul ecx, edx
mov edx, 0x9053f896
xor edx, 0x3ccc19f
add eax, edx
sub eax, ecx
mov ecx, 0xa9b2e3df
xor ecx, 0x5292ad58
cmp eax, ecx
jae 0x1400fdf79
mov rcx, qword [rbp + 0xc0]
mov eax, dword [0x140251c28]
mov edx, 0xb05c5957
xor edx, 0x395dc419
xor eax, edx
mov r8d, dword [0x140251c2c]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r8d
add eax, edx
sub eax, 0x2f43ab81
imul eax, eax, 0x4ee51d13
mov edx, 0x3dc514ad
xor edx, 0xea13718c
imul eax, edx
mov rcx, qword [rcx]
movabs rdx, 0xba490c4395b75d77
movabs r8, 0xfa490c4395b75d77
xor rdx, r8
and rcx, rdx
movabs rdx, 0x3377cd49aafd9f5e
movabs r8, 0x3377cd49aafd9f5e
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0xaf], cl
cmp eax, 0xdf72826
je 0x1400fd7a7
mov rax, qword [rbp + 0xd8]
mov cl, byte [rbp + 0xaf]
test cl, 1
mov qword [rbp + 0xe0], rax
jne 0x1400fd85b
jmp 0x1400fd880
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xa0], rax
mov eax, dword [0x140251c30]
xor eax, 0xebd380f5
mov ecx, dword [0x140251c34]
xor ecx, 0x1f1ff527
xor edx, edx
div ecx
mov ecx, 0x1016ff7a
xor ecx, 0xec820828
and eax, ecx
mov ecx, 0xd5fff012
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0xaaa83478
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x21fed363
je 0x1400fdf82
mov r8, qword [rbp + 0x140]
mov r9, qword [rbp + 0xb8]
mov r10, qword [rbp + 0xa0]
mov r11, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xc8]
mov eax, dword [0x140251c38]
mov edx, dword [0x140251c3c]
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0x5e73a0fc
xor ecx, 0x787e7af4
and eax, ecx
mov ecx, 0xb8186fd7
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x138]
and eax, 0xae0a94e2
mov ecx, 0x1e2130fc
xor ecx, 0x7dd9293e
mov rsi, qword [rsi]
mov qword [r11], rsi
mov qword [r9], r10
mov r9, rdx
add r9, 0x30
mov qword [rbp + 0x68], r9
mov r9, rdx
add r9, 0x38
mov qword [rbp + 0x70], r9
mov rdx, qword [rdx + 0x38]
mov qword [rbp + 0x78], rdx
mov r9, r8
add r9, 0x30
mov qword [rbp + 0x80], r9
mov r9, r8
add r9, 0x38
mov qword [rbp + 0x88], r9
mov r8, qword [r8 + 0x38]
mov qword [rbp + 0x90], r8
cmp rdx, r8
sete r8b
cmp rdx, 0
sete dl
or dl, r8b
mov byte [rbp + 0x9f], dl
cmp eax, ecx
je 0x1400fdf82
mov rax, qword [rbp + 0x90]
mov cl, byte [rbp + 0x9f]
test cl, 1
mov qword [rbp + 0x60], rax
jne 0x1400fdac3
jmp 0x1400fd9cb
mov ecx, dword [0x140251c40]
xor ecx, 0x6ad8ced8
mov edx, dword [0x140251c44]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xffec0b72
mov edx, 0xffffffff
xor edx, 0xffec0b72
and ecx, edx
or eax, ecx
add eax, 0x3c042847
sub eax, 0xa54dae7d
sub eax, 0x3c042847
imul eax, eax, 0x7e6850f4
cmp eax, 0xcf9697cd
jbe 0x1400fdf8b
mov eax, dword [0x140251c48]
xor edx, edx
div dword [0x140251c4c]
mov ecx, 0xc1642a16
xor edx, edx
div ecx
mov ecx, 0xa8b305e4
xor ecx, 0xadb9c553
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x78]
add eax, 0x6c53ee38
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x550f5e991c1db78f
movabs r8, 0x550f5e991c1db78f
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x5f], cl
cmp eax, 0xeb77c4d
jbe 0x1400fdf8b
mov rax, qword [rbp + 0x90]
mov cl, byte [rbp + 0x5f]
test cl, 1
mov qword [rbp + 0x60], rax
jne 0x1400fdaa4
jmp 0x1400fdac3
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0x88]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x50], rax
mov ecx, dword [0x140251c50]
mov eax, dword [0x140251c54]
xor eax, 0x7d4775a4
sub ecx, eax
mov eax, 0xb6d9a898
xor eax, 0xe94211
sub ecx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x41a14ab1
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov edx, 0xff7f97b
xor edx, 0xd1e7858
mov eax, ecx
and eax, edx
xor ecx, 0x2e98123
or eax, ecx
mov ecx, 0xed9e3255
xor ecx, 0x3223b927
cmp eax, ecx
je 0x1400fdf94
mov r8, qword [rbp + 0x140]
mov r9, qword [rbp + 0x70]
mov r10, qword [rbp + 0x50]
mov r11, qword [rbp + 0x68]
mov rsi, qword [rbp + 0x80]
mov eax, dword [0x140251c58]
mov ecx, dword [0x140251c5c]
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x138]
imul rax, rax, 0x1a501e19
shr rax, 0x35
mov ecx, eax
not ecx
and ecx, 0x932d62ea
mov edi, ecx
not edi
and edi, 0x68c009a0
xor ecx, 0x51ed65f
mov eax, ecx
mov ecx, edi
lea eax, [rax + rcx*2]
mov ecx, 0x5267adc7
mov rsi, qword [rsi]
mov qword [r11], rsi
mov qword [r9], r10
mov r9, rdx
add r9, 0x40
mov qword [rbp + 0x18], r9
mov r9, rdx
add r9, 0x48
mov qword [rbp + 0x20], r9
mov rdx, qword [rdx + 0x48]
mov qword [rbp + 0x28], rdx
mov r9, r8
add r9, 0x40
mov qword [rbp + 0x30], r9
mov r9, r8
add r9, 0x48
mov qword [rbp + 0x38], r9
mov r9, qword [r8 + 0x48]
mov qword [rbp + 0x40], r9
mov r8, rdx
sub r8, r9
sete r9b
test rdx, rdx
sete dl
mov r8b, r9b
and r8b, dl
add dl, r9b
sub dl, r8b
mov byte [rbp + 0x4f], dl
cmp eax, ecx
jb 0x1400fdb26
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp + 0x4f]
test cl, 1
mov qword [rbp + 0x10], rax
jne 0x1400fdc4c
jmp 0x1400fdc0d
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x28]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rbp + 0x10], rax
jne 0x1400fdc4c
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x20]
mov r9, qword [rbp + 0x18]
mov r10, qword [rbp + 0x30]
mov r8, qword [rbp + 0x10]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x50
mov qword [rbp - 0x28], rdx
mov rdx, rcx
add rdx, 0x58
mov qword [rbp - 0x20], rdx
mov rcx, qword [rcx + 0x58]
mov qword [rbp - 0x18], rcx
mov rdx, rax
add rdx, 0x50
mov qword [rbp - 0x10], rdx
mov rdx, rax
add rdx, 0x58
mov qword [rbp - 8], rdx
mov rax, qword [rax + 0x58]
mov qword [rbp], rax
cmp rcx, rax
sete dl
cmp rcx, 0
sete cl
or cl, dl
test cl, 1
mov qword [rbp + 8], rax
jne 0x1400fdd3e
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x8c8ca90b37579a90
movabs r9, 0xcc8ca90b37579a90
xor r8, r9
or rcx, r8
add rcx, rdx
movabs rdx, 0x7a97eafd2d127116
movabs r8, 0x7a97eafd2d127116
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 8], rax
jne 0x1400fdd3e
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp - 0x20]
mov r9, qword [rbp - 0x28]
mov r10, qword [rbp - 0x10]
mov r8, qword [rbp + 8]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rax
add rdx, 0x60
mov qword [rbp - 0x50], rdx
mov rdx, rax
add rdx, 0x68
mov qword [rbp - 0x48], rdx
mov rax, qword [rax + 0x68]
mov rdx, rcx
add rdx, 0x60
mov qword [rbp - 0x40], rdx
mov rdx, rcx
add rdx, 0x68
mov qword [rbp - 0x38], rdx
cmp rax, qword [rcx + 0x68]
mov qword [rbp - 0x30], rax
je 0x1400fdddb
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x178], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x180], rax
lea rcx, [rbp + 0x178]
sub rsp, 0x20
call fcn.1400182e0
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp - 0x48]
mov r9, qword [rbp - 0x50]
mov r10, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rax
add rdx, 0x70
mov qword [rbp - 0x78], rdx
mov rdx, rax
add rdx, 0x78
mov qword [rbp - 0x70], rdx
mov rax, qword [rax + 0x78]
mov rdx, rcx
add rdx, 0x70
mov qword [rbp - 0x68], rdx
mov rdx, rcx
add rdx, 0x78
mov qword [rbp - 0x60], rdx
cmp rax, qword [rcx + 0x78]
mov qword [rbp - 0x58], rax
je 0x1400fde87
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp - 0x78]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140060880
mov rax, qword [rbp + 0x148]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe7
xor cl, 0xe7
cmp al, cl
jne 0x1400fdea0
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x58]
mov r8, qword [r8]
mov qword [rdx], r8
mov qword [rax], rcx
mov ecx, dword [0x140251c60]
mov edx, dword [0x140251c64]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0x6a1c7db2
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0x4e2a83f2
mov edx, 0x13387adc
xor edx, 0xa11fd456
mov eax, ecx
and eax, edx
mov edx, 0xbcbb0f02
xor edx, 0x4344f0fd
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb227ae8a
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x73426258
je 0x1400fdf9d
mov ecx, dword [0x140251c68]
xor ecx, 0x74eca5cd
mov eax, dword [0x140251c6c]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov edx, 0x1ffc5144
xor edx, 0x59869d09
mov eax, ecx
and eax, edx
xor ecx, 0x467acc4d
or eax, ecx
xor ecx, ecx
sub ecx, 0x8823b536
add eax, ecx
mov ecx, eax
xor ecx, 0xcef60998
xor ecx, 0xffffffff
or eax, 0xcef60998
and eax, ecx
mov ecx, 0xd2f41b0
xor ecx, 0x4907c498
cmp eax, ecx
je 0x1400fdf9d
inc dword [rcx]
rol dword [rbx + 0x44ba01c1], 0x51
cld
invalid
lea rsp, [rbp + 0x188]
pop rbx
pop rdi
pop rsi
pop rbp
ret
adc eax, 0xe9d81bea
invalid
xor byte [rdi - 0x7a], al
push rcx
jmp 0x1400fd7a7
jp 0x1400fdf18
sbb eax, 0xf952e97c
invalid
add byte [r9], r11b
push rcx
jmp 0x1400fda21
add eax, 0xe92b0c7f
mov ebx, edi
invalid
pop rdx
cwde
cmp al, 0x43
jmp 0x1400fdf04