Function at 0x1400d8aa0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1b0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0x88], rcx
mov eax, 0x10
mov qword [rbp + 0x98], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x98]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x98]
mov rcx, rsp
mov qword [rbp + 0xa0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
sub rsp, 0x20
call fcn.1400d97e1
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xc8], rdx
add rdx, 0x50
mov qword [rbp + 0xb8], rdx
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rbp + 0xc0], rax
mov qword [rcx + 8], 0
movabs rdx, 0x7c1a22972f3e3bba
movabs rax, 0x7c1a22972f3e3abe
xor rdx, rax
sub rsp, 0x20
call fcn.1400a5b00
mov rax, qword [rbp + 0xc8]
add rsp, 0x20
mov al, byte [rax + 0x50]
mov cl, 0xd2
xor cl, 0xd2
cmp al, cl
jne 0x1400d95ca
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
mov qword [rbp + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
sub rsp, 0x20
call fcn.1400d97e1
add rsp, 0x20
lea rcx, [rbp + 0x100]
sub rsp, 0x20
call fcn.1400d8824
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x80], rcx
cmp byte [rax], 0
jne 0x1400d95ca
mov rdx, qword [rbp + 0x80]
xor eax, eax
mov ecx, eax
mov r8d, 0x104
sub rsp, 0x20
call fcn.1400b2503
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0xb8]
mov dword [rbp + 0x7c], ecx
cmp byte [rax], 0
jne 0x1400d95ca
mov eax, dword [rbp + 0x7c]
cmp eax, 0
sete cl
mov byte [rbp + 0x57], cl
mov eax, eax
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0xf0]
add rax, 8
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0xe0]
add rax, 8
mov qword [rbp + 0x68], rax
mov ecx, 5
mov eax, 0x104
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x70]
mov ecx, dword [rbp + 0x78]
mov dword [rbp + 0x44], ecx
mov qword [rbp + 0x48], rax
mov eax, dword [0x140247218]
sub eax, dword [0x14024721c]
mov ecx, 0x7049589f
xor ecx, 0x543b9d7c
imul eax, ecx
mov ecx, 0xf10f9df9
xor ecx, 0xa0853ac2
or eax, ecx
mov ecx, 0x162a471e
xor ecx, 0x19a7272f
imul eax, ecx
cmp eax, 0xfcebf221
je 0x1400d97ab
mov rcx, qword [rbp + 0x48]
mov edx, dword [0x140247220]
mov eax, 0xc7ea939f
xor eax, 0x14f26e
xor edx, eax
and edx, dword [0x140247224]
and edx, 0x8df2183f
mov eax, 0xa69b1eb6
xor eax, 0x5964e149
mov r8d, edx
xor r8d, eax
mov eax, 0x7fafe65
xor eax, 0x4d1b4dad
and eax, r8d
mov r8d, 0xa8d78be
xor r8d, 0x406ccb76
mov r9d, 0x2d705e5e
xor r9d, 0xd28fa1a1
xor r8d, r9d
and edx, r8d
or eax, edx
or eax, 0xc5b55513
movabs rdx, 0xbb6b1184ee57dde
movabs r8, 0xbb6b1184ee57dde
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x43], cl
cmp eax, 0xa369e188
jb 0x1400d8cbe
mov al, byte [rbp + 0x43]
test al, 1
jne 0x1400d95ae
jmp 0x1400d8d5f
mov al, byte [rbp + 0x57]
test al, 1
jne 0x1400d8d6f
jmp 0x1400d8e0d
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [0x140258e70]
mov qword [rcx], rdx
mov rdx, qword [0x140258e78]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x38], rax
cmp rax, 0
je 0x1400d9612
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
movabs r8, 0xa2ad42b729fdbcc6
movabs r9, 0x5d52bd48d6024339
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
movabs rdx, 0xf7d2349f37c8543d
movabs r8, 0xf7d2349f37c8543d
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x30], rax
je 0x1400d9601
jmp 0x1400d9612
mov eax, dword [rbp + 0x44]
mov ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x1400d8e64
mov rdx, qword [rbp + 0x58]
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400a5b00
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov rdx, qword [rbp + 0xf0]
mov qword [rbp + 0x20], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x28], rcx
mov al, byte [rax]
mov cl, 0xb9
xor cl, 0xb9
cmp al, cl
je 0x1400d9550
jmp 0x1400d95ca
mov eax, dword [0x140247228]
xor edx, edx
div dword [0x14024722c]
add eax, 0x7cd150d7
mov ecx, 0x89072497
xor edx, edx
div ecx
mov ecx, 0xe9c76a6e
xor ecx, 0x6a590695
xor eax, ecx
mov ecx, 0x1188381a
xor ecx, 0x77e6bb8a
cmp eax, ecx
je 0x1400d97b4
mov eax, dword [0x140247230]
mov edx, dword [0x140247234]
mov ecx, 0x5348aa2c
xor ecx, 0x827a418e
xor edx, ecx
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
imul eax, eax, 0x6e578322
or eax, 0xe62deeda
mov ecx, 0x3651c37f
xor ecx, 0x638f9922
add eax, ecx
mov dword [rbp + 0xc], eax
sub rsp, 0x20
call fcn.1400d97e1
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp], rdx
add rdx, 0x50
mov qword [rbp - 8], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d8824
mov rcx, qword [rbp]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], rdx
cmp byte [rcx + 0x50], 0
sete cl
mov byte [rbp + 0x1f], cl
cmp eax, 0xd9523579
ja 0x1400d8ea0
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x1400d8f57
jmp 0x1400d946d
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.1400a5e2e
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0xc], ecx
cmp byte [rax], 0
jne 0x1400d946d
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
mov qword [rbp + 0x110], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.1400d97f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x1400d946d
mov rax, qword [rbp - 0x18]
mov ecx, dword [rbp - 0xc]
movsxd rcx, ecx
mov qword [rbp - 0x20], rcx
cmp rax, rcx
jle 0x1400d946d
mov eax, dword [rbp - 0xc]
cmp eax, 0
jge 0x1400d9005
mov rcx, qword [rbp - 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x1400d946d
sub rsp, 0x20
call fcn.1400d97e1
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rax, 0x50
mov qword [rbp - 0x30], rax
xor eax, eax
mov edx, eax
sub rdx, rcx
xor eax, eax
sub rax, 1
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rbp - 0x28], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400d905a
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400d946d
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp + 0x128]
sub rsp, 0x20
call fcn.1400d9adc
add rsp, 0x20
test al, 1
jne 0x1400d907f
jmp 0x1400d9102
mov eax, dword [0x140247238]
or eax, dword [0x14024723c]
mov ecx, 0x3f77c16a
xor ecx, 0x186b98a9
xor edx, edx
div ecx
sub eax, 0x247c118c
mov ecx, 0xd6f5667
xor edx, edx
div ecx
cmp eax, 0xdbfa95c1
ja 0x1400d97bd
mov eax, dword [0x140247240]
xor eax, 0xc7d2d178
xor eax, dword [0x140247244]
or eax, 0xd4b3beba
mov ecx, 0xcb122a9f
xor ecx, 0x683e3b3f
sub eax, ecx
mov ecx, 0x75aa1a5
xor edx, edx
div ecx
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.140008d37
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, 0x9fdd9c2f
ja 0x1400d90b3
jmp 0x1400d946d
mov rax, qword [rbp + 0x128]
mov qword [rbp - 0x40], rax
cmp rax, 0
jge 0x1400d913b
mov rcx, qword [rbp - 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x1400d946d
mov eax, dword [0x140247248]
mov edx, dword [0x14024724c]
xor edx, 0x726fc2b7
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
xor eax, 0xcd278115
mov edx, 0xffffffff
xor edx, 0xaa9a1682
mov ecx, eax
and ecx, edx
mov r8d, 0xbe1d2e8a
xor r8d, 0x14873808
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xb3c4f7c4
xor ecx, 0x7db09dbd
sub eax, ecx
mov ecx, 0xae24cea6
xor ecx, 0x1688b146
cmp eax, ecx
je 0x1400d97c6
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp - 0x40]
mov eax, dword [0x140247250]
mov r8d, dword [0x140247254]
xor r8d, 0xbdd64a16
add eax, r8d
mov r9d, 0xffffffff
xor r9d, 0x683157f4
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0x683157f4
add eax, r9d
sub eax, r8d
mov r8d, 0xb520a2fc
xor r8d, 0x6eb11716
sub eax, r8d
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xeb84666b
mov r9d, 0xffffffff
xor r9d, 0xeb84666b
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.140014570
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d97f0
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x54]
mov qword [rbp - 0x50], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x26d86201
je 0x1400d97c6
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400d9291
jmp 0x1400d946d
mov rcx, qword [rbp - 0x50]
lea rdx, [rbp + 0x120]
sub rsp, 0x20
call fcn.1400d9adc
add rsp, 0x20
test al, 1
jne 0x1400d92b6
jmp 0x1400d92c8
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400d946d
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x120]
mov qword [rbp - 0x68], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400d9458
mov eax, dword [0x140247258]
xor eax, 0xe4802b69
mov edx, dword [0x14024725c]
mov ecx, 0x6b8b6680
xor ecx, 0x605f45a0
xor edx, ecx
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
mov edx, 0x3fd31f8d
xor edx, 0x3fd31f8c
add eax, edx
add eax, ecx
mov ecx, 0xafdaf12b
xor ecx, 0xd00ca98
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x372d58c
xor edx, 0x1de9c106
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1e9b148a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1e9b148a
or eax, 0x1e9b148a
imul eax, edx
add eax, ecx
imul eax, eax, 0x2fd2aac1
mov ecx, 0x167ceb95
xor ecx, 0x82f13dae
cmp eax, ecx
jae 0x1400d97cf
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
mov eax, dword [0x140247260]
mov r8d, dword [0x140247264]
xor r8d, 0x71ac6502
xor eax, r8d
sub eax, 0x56e95f0b
sub eax, 0x358f11b2
add eax, 0x56e95f0b
mov r8d, 0xc000acff
xor r8d, 0x3fff5300
mov r9d, eax
xor r9d, r8d
and r9d, 0xa5504d5c
mov r10d, 0xffffffff
xor r10d, 0xa5504d5c
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xa5504d5c
or eax, 0xa5504d5c
imul eax, r9d
add eax, r8d
xor r8d, r8d
sub r8d, 0x61b3cc84
sub eax, r8d
mov dword [rbp - 0x6c], eax
mov eax, 0x9d8dc2e7
xor eax, 0x6a044cd2
mov dword [rbp - 0x70], eax
movabs rax, 0x47b86560419edde8
movabs r8, 0xb8479a9fbe612217
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140012b72
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
ja 0x1400d938c
jmp 0x1400d946d
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov word [rax + rcx + 8], 0
mov rax, qword [rbp + 0xb8]
cmp byte [rax], 0
jne 0x1400d95ca
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rax]
mov qword [rbp + 0xd0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1400d8870
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d95ca
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1400d9612
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
movabs r8, 0x44e1bdba29374662
movabs r9, 0x4e1bdba29374662
xor r8, r9
movabs r9, 0x79f4426863dae0e6
movabs r10, 0x860bbd979c251f19
xor r9, r10
xor r8, r9
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x30], rax
je 0x1400d9601
jmp 0x1400d9612
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x20]
mov qword [rbp + 0xe0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.140013d6a
mov rcx, qword [rbp + 0x48]
mov eax, dword [rbp + 0x7c]
add rsp, 0x20
movabs rdx, 0x4f4cbd94040104d
movabs r8, 0xfb0b3426bfbfefb2
xor rdx, r8
add rcx, rdx
mov qword [rbp + 0x70], rcx
mov dword [rbp + 0x78], eax
jmp 0x1400d8c70
mov rax, qword [rbp + 0xb0]
mov rcx, qword [0x140258e70]
mov qword [rax], rcx
mov rcx, qword [0x140258e78]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x1400d9612
mov rax, qword [rbp - 0x80]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp + 0x30], rax
jne 0x1400d9612
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [0x140247268]
mov ecx, 0xf43039b6
xor ecx, 0xd69941b
xor eax, ecx
mov edx, dword [0x14024726c]
mov ecx, 0xe6ba5af9
xor ecx, 0x1945a506
mov r8d, eax
xor r8d, ecx
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
add ecx, 0x1ce3cf67
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x346dff6c
or eax, edx
mov edx, 0xffffffff
xor edx, 0x346dff6c
mov r8d, 0xffffffff
xor r8d, 0x346dff6c
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x1610c588
xor edx, 0xe9ef3a77
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0xdd27a5cb
cmp eax, 0x4f217e5f
jb 0x1400d97d8
mov ecx, dword [0x140247270]
xor ecx, 0x124ba3f
mov r8d, dword [0x140247274]
mov eax, 0xe5a6fe6d
xor eax, 0x1a590192
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
mov r9d, 0xe7ae5c4e
xor r9d, 0x1851a3b1
xor eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0x7ce7af4
xor eax, 0xeb4e3f37
mov edx, ecx
and edx, eax
mov eax, 0x578d1e42
xor eax, 0x578d1e40
imul eax, edx
add ecx, 0xec8045c3
sub ecx, eax
mov eax, 0xc4e62ba8
xor eax, 0xf5fff51
add ecx, eax
add ecx, 0x57eecd6a
mov eax, 0xe7e62723
xor eax, 0x2c5ff3da
sub ecx, eax
mov edx, 0x99c64c57
xor edx, 0x6639b3a8
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x85935d5b
xor eax, 0xffffffff
mov edx, 0x85935d5b
and edx, 0x85935d5b
xor edx, 0xffffffff
mov r8d, 0x81af5d1a
xor r8d, 0x7e50a2e5
xor ecx, r8d
jle 0x1400d97bb
xor ecx, eax
mov r8d, 0xcc7e7c7b
xor r8d, 0x33818384
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xa89d55a9
ja 0x1400d97d8
mov rax, qword [rbp + 0x88]
lea rsp, [rbp + 0x130]
pop rbp
ret
out 0x2a, eax
add eax, 0xf50ae9f2
invalid
invalid
invalid
sub ch, byte [rbx - 0x12165a7a]
clc
invalid
invalid
ficomp dword [rsi + rdi*2]
insb byte [rdi], dx
jmp 0x1400d938c
movsb byte [rdi], byte [rsi]
in al, dx
jge 0x1400d9775
jmp 0x1400d96af