Function at 0x1400d3870
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x120
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], r8
mov qword [rbp + 0x88], rdx
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rcx
mov eax, dword [0x1401e0b60]
xor eax, 0x96595150
sub eax, dword [0x1401e0b64]
and eax, 0xca409ea8
mov ecx, 0x49e4dbd6
xor edx, edx
div ecx
mov ecx, 0xf53d5df6
xor ecx, 0x675677ad
sub eax, ecx
sub eax, 0x7b375638
add eax, 0x926b2a5b
cmp eax, 0xbcf002cd
jae 0x1400d433e
mov edx, dword [0x1401e0b68]
mov ecx, edx
xor ecx, 0x1ba4a907
mov eax, dword [0x1401e0b6c]
xor edx, 0x45b56f8
or edx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx + 1]
or eax, 0xec653868
shr eax, 2
imul rax, rax, 0x2cd40283
shr rax, 0x39
xor eax, 0x30cdfbea
mov dword [rbp + 0x78], eax
mov eax, 0x359bc2bf
mov dword [rbp + 0x74], eax
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x20
mov qword [rbp + 0x28], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400d0475
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov edx, 0x18
sub rsp, 0x20
call fcn.1400d0490
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1400d0490
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1400d0490
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.140010368
mov rdx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov r9d, 0xe3faa7c9
xor r9d, 0xe3faa7c1
sub rsp, 0x20
call fcn.1400d3060
mov r9, qword [rbp + 0x58]
mov r8, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x68]
mov ecx, dword [rbp + 0x74]
mov eax, dword [rbp + 0x78]
add rsp, 0x20
mov r10, qword [r8]
mov qword [r9], r10
mov r10, qword [r8 + 8]
mov qword [r9 + 8], r10
mov r8b, byte [r8 + 0x10]
mov byte [rbp + 0x7e], r8b
mov dl, byte [rdx]
mov r8b, 0x52
xor r8b, 0x52
cmp dl, r8b
sete dl
mov byte [rbp + 0x7f], dl
cmp eax, ecx
ja 0x1400d433e
mov al, byte [rbp + 0x7f]
test al, 1
jne 0x1400d3abd
jmp 0x1400d40c5
mov eax, dword [0x1401e0b70]
mov ecx, dword [0x1401e0b74]
mov edx, 0xadf4df2f
xor edx, 0xcaa484ee
xor ecx, edx
xor eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x38af0589
xor eax, 0x38af0589
mov edx, 0x335d842d
xor edx, 0xf34b0241
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xcf0e7b52
xor ecx, 0x3a16b71e
or eax, ecx
mov ecx, eax
xor ecx, 0x1fbca51c
mov edx, 0xffffffff
xor edx, 0x1fbca51c
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x437ba89e
jb 0x1400d4347
mov cl, byte [rbp + 0x7e]
mov eax, dword [0x1401e0b78]
imul eax, dword [0x1401e0b7c]
mov r8d, 0x2234dde1
xor edx, edx
div r8d
or eax, 0xe8c51af9
mov edx, 0xd5841435
xor edx, 0xd5841435
mov r8d, 0xc1591a33
xor r8d, 0x2d46ab99
sub edx, r8d
sub eax, edx
cmp cl, 0
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0x87fee203
je 0x1400d3b2b
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1400d3b8c
jmp 0x1400d3d25
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.1400861fe
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa
xor cl, 0xa
cmp al, cl
jne 0x1400d40c5
mov eax, dword [0x1401e0b80]
xor eax, 0x63b03565
mov r8d, dword [0x1401e0b84]
xor r8d, 0x5433b0f6
mov edx, 0xa74b2248
xor edx, 0x58b4ddb7
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x55f49881
mov ecx, 0x4d3a1781
xor ecx, 0x34d06fbf
imul eax, ecx
mov edx, 0xa73ca27e
xor edx, 0x58c35d81
mov ecx, eax
xor ecx, edx
mov edx, 0x5c256eca
xor edx, 0x90408564
and ecx, edx
mov edx, 0x71759a5a
xor edx, 0xbd1071f4
mov r8d, 0x460b95e3
xor r8d, 0xb9f46a1c
xor edx, r8d
and eax, edx
sub eax, ecx
cmp eax, 0xc324257a
ja 0x1400d4350
mov rcx, qword [rbp + 0x90]
mov edx, dword [0x1401e0b88]
mov eax, dword [0x1401e0b8c]
xor eax, 0x350522b6
and edx, eax
mov eax, edx
and eax, 0xc3b4c37
xor eax, 0xffffffff
and edx, 0xc3b4c37
xor edx, 0xffffffff
and eax, edx
mov edx, 0xd0b8ace4
xor edx, 0x2f47531b
xor eax, edx
add eax, 0x4f6ce5a2
and eax, 0x87ab753b
mov dword [rbp + 0x10], eax
mov edx, 0x18
sub rsp, 0x20
call fcn.1400d0490
mov rcx, qword [rbp + 0x68]
mov eax, dword [rbp + 0x10]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x16], cl
cmp eax, 0xe779480a
je 0x1400d4350
mov al, byte [rbp + 0x16]
test al, 1
jne 0x1400d3cd8
jmp 0x1400d40c5
mov rax, qword [rbp + 0x80]
mov rax, qword [rax + 8]
mov qword [rbp + 8], rax
cmp rax, 0
je 0x1400d432e
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
movabs rdx, 0x37748f7c90ff2d56
movabs r8, 0x77748f7c90ff2d56
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp], rax
je 0x1400d41cf
jmp 0x1400d432e
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov eax, dword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
movsxd rcx, eax
mov qword [rbp - 8], rcx
mov ecx, 0x73eb8ed4
xor ecx, 0x73eb8ed4
cmp eax, ecx
jge 0x1400d3e8d
mov ecx, dword [0x1401e0b90]
mov edx, dword [0x1401e0b94]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0x7dff092f
and eax, 0x3dc982f1
mov ecx, eax
and ecx, 0x71b2368b
xor ecx, 0xffffffff
mov edx, 0x1d59ad7f
xor edx, 0x6ceb9bf4
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xf67de0d8
xor ecx, 0x6b4fe3d8
cmp eax, ecx
je 0x1400d4359
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401e0b98]
mov edx, dword [0x1401e0b9c]
xor edx, 0x1ea15db5
sub eax, 0x277bf513
add eax, edx
add eax, 0x277bf513
mov r8d, 0xa6185fb4
xor edx, edx
div r8d
mov r8d, 0x90228308
xor r8d, 0x6fdd7cf7
mov edx, eax
xor edx, r8d
mov r8d, 0xb1c4b107
xor r8d, 0x8e2ecf07
and edx, r8d
mov r8d, 0x294dd667
xor r8d, 0x16a7a867
mov r9d, 0x6e12da4f
xor r9d, 0x91ed25b0
xor r8d, r9d
and eax, r8d
sub eax, edx
or eax, 0xd66b57d6
mov dword [rbp - 0x14], eax
mov eax, 0xe991fc2e
xor eax, 0x5bf082c1
mov dword [rbp - 0x18], eax
movabs rdx, 0x9cd3393af35f1959
movabs rax, 0x9cd3393af35f1959
xor rdx, rax
movabs r8, 0xc6b988f6d68a346b
movabs rax, 0xb94677092975cb94
xor r8, rax
sub rsp, 0x20
call fcn.14000c499
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x14]
add rsp, 0x20
cmp eax, ecx
je 0x1400d3db9
jmp 0x1400d40b4
mov eax, dword [0x1401e0ba0]
mov ecx, dword [0x1401e0ba4]
add eax, 0x45ffed50
sub eax, ecx
sub eax, 0x45ffed50
mov ecx, 0x69a013aa
xor ecx, 0x7d42a879
sub eax, ecx
mov ecx, 0x2f2035dc
xor edx, edx
div ecx
xor eax, 0x22fe2c38
cmp eax, 0x5ede657a
jae 0x1400d4362
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x1401e0ba8]
mov r8d, dword [0x1401e0bac]
xor r8d, 0xc7b36e25
xor edx, edx
div r8d
mov rdx, qword [rbp - 8]
imul r8d, eax, 0x521736c8
mov eax, r8d
and eax, 0xed4e5a78
xor r8d, 0xed4e5a78
or eax, r8d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x195e58e8
mov r8d, 0xffffffff
xor r8d, 0x846589e7
or eax, r9d
or r8d, 0x846589e7
xor eax, 0xffffffff
and eax, r8d
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.140029757
mov rdx, qword [rbp + 0x30]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
mov rcx, qword [rdx]
mov qword [rbp - 0x30], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x28], rdx
movabs rdx, 0x2a3d460623b6a6c9
movabs r8, 0x2a3d460623b6a6c8
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x19], cl
cmp eax, 0x9779c07d
je 0x1400d4362
mov al, byte [rbp - 0x19]
test al, 1
jne 0x1400d3f93
jmp 0x1400d3fc4
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
movabs rcx, 0x41272b6ae0cd2c36
movabs rax, 0x41272b6ae0cd2c36
xor rcx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x1400d40b4
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x28]
add rax, 8
mov qword [rbp - 0x50], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x58], rax
cmp rax, rcx
je 0x1400d4055
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x10]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
xor ecx, ecx
sub rcx, rax
movabs rax, 0xaa03a0a5f45dc9cf
movabs rdx, 0xaa03a0a5f45dc9cf
xor rax, rdx
movabs rdx, 0xcf5d918d5321a0e0
movabs r8, 0xcf5d918d5321a0e1
xor rdx, r8
sub rax, rdx
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp - 0x40], rax
jmp 0x1400d3fe7
mov rcx, qword [rbp + 0x38]
mov edx, 0x18
sub rsp, 0x20
call fcn.1400d0490
mov r8, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov byte [rcx + 0x10], 1
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400337d0
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x90]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14001fd32
add rsp, 0x20
mov eax, dword [0x1401e0bb0]
xor eax, 0x2d70e416
mov r8d, dword [0x1401e0bb4]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xc696290f
xor edx, edx
div ecx
and eax, 0xfe9c5a80
mov r8d, 0xca658a78
xor r8d, 0x95c65d07
mov ecx, 0x302ce588
xor ecx, 0xcfd31a77
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5fa3d77f
or eax, 0x5fa3d77f
imul eax, edx
add eax, ecx
cmp eax, 0x8a03ac3
je 0x1400d436b
mov rcx, qword [rbp + 0x80]
mov eax, dword [0x1401e0bb8]
xor eax, 0x521a3c83
and eax, dword [0x1401e0bbc]
imul eax, eax, 0x73471c02
mov edx, 0xd2864b25
xor edx, 0xdd5da9be
and eax, edx
or eax, 0xce151050
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x68], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0x39dd23e9
jb 0x1400d436b
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1400d432e
jmp 0x1400d419d
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax]
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp], rax
jne 0x1400d432e
mov rax, qword [rbp]
mov qword [rbp - 0x70], rax
mov ecx, dword [0x1401e0bc0]
mov eax, dword [0x1401e0bc4]
xor eax, 0xffffffff
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
xor ecx, 0x57b02663
sub ecx, 0xb5f87c7c
mov eax, 0x5444109d
xor eax, 0xd6b26e7
add ecx, eax
add ecx, 0xb5f87c7c
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8eaf1062
or eax, edx
mov edx, 0xd80aefd6
xor edx, 0x27f51029
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x8eaf1062
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x5ce54c49
xor ecx, 0x18db10a3
cmp eax, ecx
jae 0x1400d4374
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x1401e0bc8]
mov r8d, dword [0x1401e0bcc]
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0xc4fa98c7
xor r10d, 0x3b056738
mov r9d, edx
xor r9d, r10d
and eax, r9d
mov r9d, r8d
or r9d, r9d
xor r9d, 0xffffffff
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov r8d, 0x8f6b15c8
xor r8d, 0x7094ea37
xor eax, r8d
mov r8d, 0x2734d88b
xor r8d, 0xd8cb2774
xor edx, r8d
and eax, edx
mov r8d, 0xffffffff
xor r8d, 0x418bb0e4
mov edx, eax
xor edx, r8d
and edx, eax
mov eax, edx
and eax, 0xc770325d
mov r8d, 0x72463a4f
xor r8d, 0x8db9c5b0
xor eax, r8d
and edx, 0xc770325d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
add eax, 0x3de80b5
mov dword [rbp - 0x74], eax
mov eax, 0x272a5767
xor eax, 0x742365c5
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.14000e27f
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, ecx
jae 0x1400d4374
jmp 0x1400d432e
mov rax, qword [rbp + 0x98]
lea rsp, [rbp + 0xa0]
pop rbp
ret
invalid
out 0xc0, al
sub dword [rcx + rbp*8 - 0x825], ecx
xor dword [rax - 0x19], eax
iretd
test eax, 0xe9587904
push rdi
cli
invalid
add al, 0x7d
mov dh, 0xca
jmp 0x1400d3ecb
adc esp, dword [0x10cf67930]
std
invalid
pop rdi
test byte [rdi*2 - 0x12b17], 0xff
nop dword [rax]