Function at 0x1400d30b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rcx
mov eax, 0x10
mov qword [rbp + 0x50], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.1400d2088
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp + 0x70], rax
mov rax, qword [rdx]
mov qword [rbp + 0x78], rax
movabs rcx, 0x8c2d874d3d946151
movabs rdx, 0x8c2d874d3d946151
xor rcx, rdx
cmp rax, rcx
jge 0x1400d3159
mov rcx, qword [rbp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x1400d3d29
mov eax, dword [0x1401daa00]
xor eax, 0x588707b0
and eax, dword [0x1401daa04]
xor eax, 0xa87c8015
mov ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov edx, 0x3e58b7ff
or edx, 0x3e58b7ff
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, 0x3e58b7ff
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x43a20f52
xor edx, 0xbc5df0ad
xor eax, edx
and ecx, eax
mov edx, 0x3507854f
xor edx, 0xcaf87ab0
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x208d562
and eax, edx
mov edx, 0x4f1b88c2
xor edx, 0xb0e4773d
xor ecx, edx
mov edx, 0x41b93cc3
xor edx, 0x43b1e9a1
mov r8d, 0x1e190033
xor r8d, 0xe1e6ffcc
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x6f229070
xor ecx, 0x90dd6f8f
xor eax, ecx
cmp eax, 0x65261eb
je 0x1400d3d38
mov rcx, qword [rbp + 0x40]
mov eax, dword [0x1401daa08]
mov r9d, dword [0x1401daa0c]
xor r9d, 0xa95b021c
mov r8d, 0xbaf42964
xor r8d, 0x450bd69b
mov edx, eax
xor edx, r8d
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
add eax, 0x7ee55227
mov edx, 0x875984a9
xor edx, 0x3c99c830
sub eax, edx
sub eax, 0x7ee55227
mov edx, 0x91274378
xor edx, 0xd7691815
xor eax, edx
mov r8d, 0x7347cf99
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x78]
mov dword [rbp + 0x2c], eax
sub rsp, 0x20
call fcn.14001bf69
add rsp, 0x20
mov ecx, 0x1f8
sub rsp, 0x20
call fcn.140060afe
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x2c]
mov qword [rbp + 0x30], rdx
mov cl, byte [rcx]
mov dl, 0x61
xor dl, 0x61
cmp cl, dl
sete cl
mov byte [rbp + 0x3f], cl
cmp eax, 0xbc4e73c0
je 0x1400d3d38
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x1400d32df
jmp 0x1400d3d29
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x68]
add rcx, 8
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x20]
mov qword [rbp + 8], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x10], rcx
cmp rax, rcx
jge 0x1400d3d29
mov rax, qword [rbp + 8]
cmp rax, 0
jge 0x1400d3351
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
movabs rax, 0x1eb6ab2688ef2b40
movabs r8, 0xe14954d97710d4bf
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x1400d3b8b
mov ecx, 0x1605
mov edx, 0x5795
sub rsp, 0x20
call fcn.1400634e0
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x70]
mov word [rbp + 6], cx
cmp byte [rax], 0
jne 0x1400d3b90
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x18]
mov dx, word [rbp + 6]
mov rax, qword [rax]
mov r8, rax
add r8, 8
add r8, rcx
mov qword [rbp - 8], r8
cmp byte [rax + rcx + 8], dl
je 0x1400d33c0
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
cmp rax, rcx
jl 0x1400d3bd3
jmp 0x1400d3b95
mov ecx, 0x37b
sub rsp, 0x20
call fcn.140060afe
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x1400d3b8b
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp + 8]
mov rax, r8
and rax, rdx
shl rax, 1
mov r9, r8
xor r9, rdx
add r9, rax
mov qword [rbp - 0x20], r9
mov rax, r9
or rax, rax
xor rax, 0xffffffffffffffff
movabs r10, 0xb80581a491f7e849
movabs rcx, 0x47fa7e5b6e0817b6
xor r10, rcx
mov rcx, rdx
xor rcx, r10
mov r10, rdx
xor r10, 0xffffffffffffffff
and rcx, r10
or rax, rcx
movabs rcx, 0x2b0c4910d20e9dda
movabs r10, 0xd4f3b6ef2df16225
xor rcx, r10
xor rax, rcx
mov rcx, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0xf0ccff09737a0322
movabs r10, 0xb99074291e8a38be
xor rcx, r10
and rcx, rdx
movabs r10, 0x81d377b2c5e2a479
movabs rdx, 0xc88ffc92a8129fe5
xor r10, rdx
movabs rdx, 0x485d2fc14eb36d5a
movabs r11, 0xb7a2d03eb14c92a5
xor rdx, r11
xor r10, rdx
and r9, r10
movabs r11, 0xff1c20c56501d5df
movabs rdx, 0xe3df3a9afe2a20
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0x495c8b206df03b9c
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x759b359cd6c9c20d
movabs rdx, 0x759b359cd6c9c20d
xor rcx, rdx
cmp rax, rcx
jge 0x1400d3524
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x1400d3b8b
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp - 0x20]
cmp qword [rax], rcx
jg 0x1400d36b1
mov eax, dword [0x1401daa10]
and eax, dword [0x1401daa14]
mov r8d, 0x5795332f
xor r8d, 0x3a8cfc0
mov ecx, 0x9ec65f44
xor ecx, 0x6139a0bb
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, 0x543dfcef
or eax, 0x543dfcef
imul eax, edx
add eax, ecx
and eax, 0x7879ebca
mov ecx, 0xb6db6dab
xor ecx, 0xf67cbe99
imul eax, ecx
cmp eax, 0x76b89cfd
je 0x1400d3d41
mov eax, dword [0x1401daa18]
xor eax, 0x254a2f8e
mov r8d, dword [0x1401daa1c]
mov ecx, 0xbe03d978
xor ecx, 0x765969f6
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
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
imul eax, eax, 0x128ed75f
add eax, 0x2dc8bd4d
or eax, 0xa6f546b5
mov dword [rbp - 0x24], eax
mov eax, 0x52f3f75a
xor eax, 0xbfa609d7
mov dword [rbp - 0x28], eax
movabs rcx, 0x487300c720de6ad0
movabs rax, 0x487300c720de6a90
xor rcx, rax
movabs rdx, 0x502be5af751ecd3
movabs rax, 0x502be5af751ecdb
xor rdx, rax
sub rsp, 0x20
call fcn.1400133d1
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401eb5d0]
mov qword [rcx], rax
lea rax, [0x1401ea110]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401ea140]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401ea148]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401ea110]
lea r8, [0x1401ea11f]
lea r9, [0x1401ea132]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffb20fc265
call fcn.14001331d
mov ecx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x24]
add rsp, 0x30
cmp eax, ecx
jbe 0x1400d3d41
jmp 0x1400d3b8b
mov rax, qword [rbp + 0x58]
mov byte [rax], 0
mov ecx, 0x10
sub rsp, 0x20
call fcn.140060afe
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x1400d3b8b
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp + 8]
mov r9, r8
add r9, rdx
mov qword [rbp - 0x38], r9
mov rcx, r9
and rcx, rdx
shl rcx, 1
mov rax, r9
add rax, rdx
sub rax, rcx
movabs rdx, 0x78b90466bc1f6e5a
movabs rcx, 0x8746fb9943e091a5
xor rdx, rcx
mov rcx, r9
xor rcx, rdx
movabs rdx, 0x1eac0680a215e996
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x1eac0680a215e996
xor r10, rdx
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x1eac0680a215e996
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400d381c
mov eax, dword [0x1401daa20]
mov ecx, dword [0x1401daa24]
xor ecx, 0x5ad9ea1d
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xa8ef0d4d
mov edx, 0x38e68e93
xor edx, 0xc719716c
xor ecx, edx
add eax, 0xa8ef0d4d
add eax, 1
add eax, ecx
mov ecx, 0xb4dcc2
xor ecx, 0x47ebcd2b
sub eax, ecx
mov ecx, 0xd1f590b3
xor edx, edx
div ecx
cmp eax, 0x5c73b6b8
ja 0x1400d3d4a
mov eax, dword [0x1401daa28]
xor edx, edx
div dword [0x1401daa2c]
add eax, 0xdb245c1e
sub eax, 0xa13fdaf1
mov ecx, 0xfee69af5
xor ecx, 0x4d78d670
xor eax, ecx
mov dword [rbp - 0x3c], eax
mov eax, 0xb3fa2ba5
xor eax, 0xe0b25063
mov dword [rbp - 0x40], eax
sub rsp, 0x20
call fcn.1400077a3
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, ecx
je 0x1400d37c7
jmp 0x1400d3b8b
mov ecx, 0x23f
sub rsp, 0x20
call fcn.140060afe
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1400d3b8b
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov r10, qword [rax]
mov qword [rcx], r10
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140037094
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1400d3b8b
mov eax, dword [0x1401daa30]
xor eax, 0x4eab61ff
xor edx, edx
div dword [0x1401daa34]
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7bba034
mov edx, 0xffffffff
xor edx, 0xea7f18f3
or eax, ecx
mov ecx, 0x1023c098
xor ecx, 0xfa5cd86b
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x2434776
xor ecx, 0x6729c936
or eax, ecx
mov ecx, 0xd07af8a1
xor ecx, 0x27743f91
xor eax, ecx
cmp eax, 0xc2be88ff
je 0x1400d3d53
mov ecx, dword [0x1401daa38]
mov eax, dword [0x1401daa3c]
xor eax, 0xadb9b44
xor ecx, eax
mov edx, 0x5b9f12df
xor edx, 0xc2776368
mov eax, ecx
and eax, edx
mov edx, 0x4eff0377
xor edx, 0xb100fc88
xor eax, edx
mov edx, 0xb96305d7
xor edx, 0x208b7460
and ecx, edx
mov edx, 0xd60a5fd4
xor edx, 0x29f5a02b
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xbe04eb25
xor edx, 0x41fb14da
xor ecx, edx
or eax, ecx
mov ecx, 0xccd986ef
xor ecx, 0xbcef6a9d
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x6d9c9bee
mov edx, 0xffffffff
xor edx, 0x6d9c9bee
and eax, edx
shl eax, 1
sub eax, ecx
mov dword [rbp - 0x64], eax
mov eax, 0xa3009155
xor eax, 0xbee8a7ff
mov dword [rbp - 0x68], eax
mov ecx, 0x6e
sub rsp, 0x20
call fcn.140060afe
mov rdx, qword [rbp + 0x70]
mov ecx, dword [rbp - 0x68]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x64]
mov qword [rbp - 0x60], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jbe 0x1400d3d53
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1400d39c2
jmp 0x1400d3b8b
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x60]
cmp rax, rcx
jne 0x1400d3a74
movabs rcx, 0x9943c6f5e5794538
movabs rax, 0x9943c6f5e5794578
xor rcx, rax
movabs rdx, 0x3169289f656201ef
movabs rax, 0x3169289f656201e7
xor rdx, rax
sub rsp, 0x20
call fcn.1400133d1
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401eb5d0]
mov qword [rcx], rax
lea rax, [0x1401ea110]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401ea140]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401ea148]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401ea110]
lea r8, [0x1401ea11f]
lea r9, [0x1401ea132]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x645d354e
call fcn.14001331d
add rsp, 0x30
jmp 0x1400d3b8b
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x58]
mov dl, byte [rax]
sub rsp, 0x20
call fcn.1400d20a3
add rsp, 0x20
mov ecx, 0x1f4
sub rsp, 0x20
call fcn.140060afe
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x1400d3b8b
mov rax, qword [rbp - 0x70]
mov r9, qword [rbp + 8]
mov rdx, rax
add rdx, r9
mov qword [rbp - 0x78], rdx
movabs rcx, 0x82b6fc92b5c2341e
movabs r8, 0x7d49036d4a3dcbe1
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0xf177c9c454cf8d2
movabs r10, 0xb01f2ab7a10e4904
xor rcx, r10
and rcx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xbf08562be442b1d6
xor r11, r8
mov r10, rdx
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x6d216c1aff9376eb
movabs rdi, 0xd2293a311bd1c73d
xor rsi, rdi
and r8, rsi
and r9, r11
or rcx, r10
or r8, r9
xor rcx, r8
xor rdx, rax
movabs rax, 0x6b607660e8c5cc3b
movabs r8, 0x949f899f173a33c4
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jl 0x1400d3b7e
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
jmp 0x1400d3bf2
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x1400d3d29
jmp 0x1400d3d29
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 0x10]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs r8, 0x4ddfed3da4ec5621
movabs r9, 0xb22012c25b13a9de
xor r8, r9
or rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x1400d3d29
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 8]
mov dl, byte [rax]
sub rsp, 0x20
call fcn.1400d20a3
mov rax, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp - 0x80], rax
mov r9, qword [rbp - 0x80]
movabs rcx, 0x4a96ec96ea8831d3
movabs rax, 0x4a96ec96ea8831d2
xor rcx, rax
mov rax, r9
add rax, rcx
movabs rcx, 0x7eb30e2c413288b3
movabs rdx, 0x814cf1d3becd774c
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0x185ac011415ca0ad
and rdx, rcx
mov r8, 0xffffffffffffffff
movabs rcx, 0x185ac011415ca0ad
xor r8, rcx
and r9, r8
movabs rcx, 0x2033de3a056f7eab
movabs r10, 0xdfcc21c5fa908154
xor rcx, r10
movabs r10, 0xcaa4ca68f2b2ceef
movabs r11, 0x355b35970d4d3110
xor r10, r11
xor rcx, r10
movabs r10, 0x185ac011415ca0ad
and rcx, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rcx, r8
xor rdx, rcx
movabs r8, 0x60cc8098ecc8ae23
movabs rcx, 0x9f337f67133751dc
xor r8, rcx
mov rcx, rax
xor rcx, r8
movabs r8, 0xe9c0bbd50928dc45
movabs r9, 0x163f442af6d723ba
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x7062bf696c8c8e3c
xor r8, r9
or rcx, rdx
movabs rdx, 0x2417266e939b4bf0
movabs r9, 0x54759907ff17c5cc
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x20], rax
jge 0x1400d32f3
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
mov rax, qword [rbp + 0x48]
lea rsp, [rbp + 0x80]
pop rdi
pop rsi
pop rbp
ret
sub byte [rsi - 0x5d], al
out 0xe9, eax
ret 0xfff4
or ebp, edx
invalid
add dword [rdi + 0x74e9124c], esi
cli
invalid
test byte [rcx - 0x2e], ah
jmp 0x1400d38ea