Function at 0x1401d9870
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x28], rcx
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1401df930
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x10], rdx
add rdx, 0x50
mov qword [rbp], rdx
mov qword [rcx], 0
mov qword [rcx + 8], 0
movabs rcx, 0x1b96580e2db517a8
movabs rdx, 0x1b96580e2db517a8
xor rcx, rdx
mov qword [rax], rcx
mov rcx, rax
add rcx, 8
mov qword [rbp + 8], rcx
mov qword [rax + 8], 0
lea rcx, [rbp + 0x68]
mov edx, 0x101
sub rsp, 0x20
call fcn.1400a5b00
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, qword [rbp + 0x68]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x20], rcx
cmp byte [rax + 0x50], 0
jne 0x1401d9f6f
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.1401d93e0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x1401d9f6f
mov eax, dword [0x14024de70]
xor edx, edx
div dword [0x14024de74]
mov ecx, eax
mov edx, 0x3c51f992
xor edx, 0xf6621aee
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, 0xca33e37c
add ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3ba9a9fc
or eax, edx
mov edx, 0x97bb053b
xor edx, 0xac12acc7
mov r8d, 0xcf99d7ad
xor r8d, 0xf4307e51
and edx, r8d
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x672c2d90
xor edx, 0x41908c6d
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x26bca1fd
and eax, edx
sub eax, ecx
mov ecx, 0x17da2082
xor ecx, 0xae6a8cde
cmp eax, ecx
jb 0x1401da1fc
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x14024de78]
sub eax, dword [0x14024de7c]
mov r8d, 0xc4143529
xor r8d, 0xc1346313
xor edx, edx
div r8d
xor eax, 0xa0d8a527
or eax, 0x287c26d5
movabs rdx, 0x12ec68a85a638c4c
movabs r8, 0x36f39ce57eb0d1dd
xor rdx, r8
sub rcx, rdx
add rcx, 0xffffffff80000000
movabs rdx, 0x65343f50393876
movabs r8, 0x247ac07274ea65e7
xor rdx, r8
add rcx, rdx
movabs rdx, 0xffffffff00000000
cmp rcx, rdx
setb cl
mov byte [rbp - 0x31], cl
cmp eax, 0xcde7e164
je 0x1401d9a1c
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401d9ab1
jmp 0x1401d9af5
mov rcx, qword [rbp - 0x30]
movabs rdx, 0xa0dea85874775ae6
movabs rax, 0x5f2157a7f4775ae6
xor rdx, rax
movabs r8, 0xb6ba3273a0d89c7a
movabs rax, 0xb6ba3273df276385
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x1401d9f6f
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x30]
mov dword [rbp + 0x7c], edx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.1401d951a
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x1401d9f6f
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp + 0x7c]
sub rsp, 0x20
call fcn.1400ab1c3
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp]
mov dword [rbp - 0x44], ecx
cmp byte [rax], 0
jne 0x1401d9f6f
mov eax, dword [rbp - 0x44]
cmp eax, 0
jne 0x1401d9c10
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [0x14025a0a8]
mov qword [rcx], rdx
mov rdx, qword [0x14025a0b0]
mov qword [rcx + 8], rdx
cmp rax, 0
je 0x1401da1ef
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
or rax, rax
movabs rcx, 0x19f3093068fff9ed
movabs rdx, 0xe60cf6cf97000612
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xfcdb88767ae21f79
movabs r8, 0x3247789851de086
xor rdx, r8
xor rax, rdx
movabs rdx, 0x27871f8fd238c6c2
movabs r8, 0xd878e0702dc7393d
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
je 0x1401da1de
jmp 0x1401da1ef
mov eax, dword [str.f__fM]
add eax, dword [0x14024de84]
mov r8d, 0xa937097f
xor r8d, 0x4b2c4ca4
mov ecx, 0xf7f0e4cf
xor ecx, 0x80f1b30
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xf0da41cc
xor r8d, 0xf25be33
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe21b45db
or eax, 0xe21b45db
imul eax, edx
add eax, ecx
mov ecx, 0x1ccfd635
xor ecx, 0xb525c859
imul eax, ecx
and eax, 0x9cdb0348
cmp eax, 0x5d19cb82
jae 0x1401da205
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
mov r9d, dword [0x14024de88]
xor r9d, 0xa6098d07
or r9d, dword [0x14024de8c]
mov r8d, 0x4096861c
xor r8d, 0x684d2107
add r9d, r8d
add r9d, 0x9dbd9e36
mov r8d, 0x7322132f
xor r8d, 0x5bf9b434
sub r9d, r8d
mov r8d, r9d
xor r8d, 0x62f8f914
mov r10d, 0x5ab4acfc
xor r10d, 0x384c55e8
mov r11d, 0xd3b1b371
xor r11d, 0x2c4e4c8e
xor r10d, r11d
and r9d, r10d
shl r9d, 1
sub r9d, r8d
mov r8d, r9d
and r8d, r8d
mov r10d, 0xf31c566f
xor r10d, 0xce3a990
xor r8d, r10d
and r8d, 0xc10cd372
xor r8d, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xc10cd372
mov r11d, 0xffffffff
xor r11d, 0xc10cd372
or r10d, r11d
xor r9d, 0xffffffff
mov r11d, 0x83139ef5
xor r11d, 0x7cec610a
xor r10d, r11d
or r9d, r10d
mov r10d, 0x1b497f75
xor r10d, 0xe4b6808a
xor r8d, r10d
xor r9d, 0xffffffff
or r8d, r9d
mov dword [rbp - 0x5c], r8d
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x38]
sub rsp, 0x20
call fcn.1401d954c
mov rcx, qword [rbp]
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
mov rdx, qword [rbp + 0x38]
mov qword [rbp - 0x58], rdx
mov rdx, qword [rbp + 0x40]
mov qword [rbp - 0x50], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x45], cl
cmp eax, 0x3367c870
jbe 0x1401da205
mov al, byte [rbp - 0x45]
test al, 1
jne 0x1401d9dc0
jmp 0x1401d9eda
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rax
lea rdx, [rbp + 0x28]
sub rsp, 0x20
call fcn.1401d9690
mov rax, qword [rbp]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x1401d9eda
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.140010ae7
mov rax, qword [rbp - 0x50]
add rsp, 0x20
cmp rax, 0
je 0x1401d9e55
mov rcx, qword [rbp - 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401d9e55
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401d9e96
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401d9e96
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 0x20]
cmp rax, 0
je 0x1401da1ef
mov rcx, qword [rbp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xa140f643d5a0e0e5
movabs rdx, 0xa140f643d5a0e0e5
xor rcx, rdx
cmp rax, rcx
je 0x1401da1de
jmp 0x1401da1ef
mov rax, qword [rbp - 0x50]
cmp rax, 0
je 0x1401d9f6f
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
or rax, rax
movabs rcx, 0x4b75fe7e96d510e4
movabs rdx, 0xb48a0181692aef1b
xor rcx, rdx
xor rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
or rax, rcx
movabs rcx, 0xb26926b603181a46
movabs rdx, 0x4d96d949fce7e5b9
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jne 0x1401d9f6f
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp + 8]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1401da0fb
mov eax, dword [0x14024de90]
mov ecx, dword [0x14024de94]
xor ecx, 0xa4ecad01
sub eax, ecx
mov r11d, eax
xor r11d, 0xffffffff
mov ecx, 0x89377214
xor ecx, 0x45f74822
mov edx, 0x99f04948
xor edx, 0x660fb6b7
xor ecx, edx
and r11d, ecx
or eax, 0xccc03a36
xor eax, 0xffffffff
or r11d, eax
xor r11d, 0xffffffff
mov eax, 0xcc8d04bc
xor eax, 0x83017e04
and r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe4755f1e
mov edx, 0x1dc27431
xor edx, 0xacf4737a
mov eax, 0x37c0f2cb
xor eax, 0xc83f0d34
xor edx, eax
mov eax, ecx
and eax, 0xb136074b
and r11d, edx
mov r9d, r8d
and r9d, 0xb136074b
mov r10d, edx
and r10d, 0xe4755f1e
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xb136074b
and ecx, edx
or eax, ecx
cmp eax, 0x53178306
jb 0x1401da20e
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x14024de98]
imul edx, dword [0x14024de9c]
mov r8d, 0x4c77966c
xor r8d, 0xb3886993
mov eax, edx
xor eax, r8d
and eax, 0x18f71415
mov r8d, 0xffffffff
xor r8d, 0x18f71415
and edx, r8d
or eax, edx
sub eax, 0xcc255d73
sub eax, 0x3b06a7a5
mov edx, 0xdc96074e
xor edx, 0x10b35a3d
add eax, edx
mov r8d, 0x76baca7f
xor edx, edx
div r8d
mov rcx, qword [rcx]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x3ed20da7
jae 0x1401da20e
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401da0ea
jmp 0x1401da0fb
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov eax, dword [0x14024dea0]
xor eax, 0xa60d9ac8
sub eax, dword [0x14024dea4]
add eax, 0xa9f8c124
add eax, 0x1042b8ea
mov ecx, 0x45a5f561
xor ecx, 0xb984a2a6
imul eax, ecx
mov ecx, 0x412603da
xor ecx, 0xb23a76a7
cmp eax, ecx
je 0x1401da217
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x14024dea8]
xor eax, 0x455aa82
mov r9d, dword [0x14024deac]
mov edx, eax
xor edx, 0xffffffff
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
sub eax, 0x8131ae03
and eax, 0x7962067b
mov edx, 0x310d1b5e
xor edx, 0x310d1b5e
mov r8d, 0x759f4802
xor r8d, 0xc048f7e0
xor eax, 0xc048f7e0
sub edx, r8d
sub eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x72], cl
cmp eax, 0x2c9cdb64
jb 0x1401da137
mov al, byte [rbp - 0x72]
test al, 1
jne 0x1401da1ef
jmp 0x1401da1c3
mov rcx, qword [rbp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401da1ef
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rax, qword [rbp - 0x28]
lea rsp, [rbp + 0x80]
pop rbp
ret
in al, 0x53
jmp 0x1401d9a1c
invalid
ja 0x1401da193
jmp 0x1401da042
xchg ebx, eax
rcl ebx, 0x2f
jmp 0x1401da137