Function at 0x14003e250
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x108
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rcx
mov rax, qword [rsp + 0x140]
movabs rcx, 0x20a27bbfcb9829f4
movabs rdx, 0x20a27bbfcb9829f4
xor rcx, rdx
cmp rax, rcx
mov qword [rsp + 0x100], rax
jge 0x14003e2d6
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax]
movabs rcx, 0x9b72291b880ca0e4
movabs rdx, 0x648dd6e477f35f1b
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xc8], rcx
mov r8, qword [rax]
mov qword [rsp + 0xd0], r8
movabs rcx, 0xcf9e8a850cf4081e
mov rax, r8
add rax, rcx
movabs rcx, 0x8032973d73ba4932
movabs rdx, 0x7fcd68c28c45b6cd
xor rcx, rdx
add rax, rcx
movabs rcx, 0xcf9e8a850cf4081e
sub rax, rcx
mov qword [rsp + 0xd8], rax
movabs rdx, 0xcc5da56a63aa2ed7
movabs rcx, 0x33a25a959c55d128
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rcx, r8
movabs rdx, 0x9d1a5a81fe4f7be5
movabs r9, 0x62e5a57e01b0841a
xor rdx, r9
xor rcx, rdx
and r8, r8
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
movabs r8, 0x281764151c7c40df
movabs r9, 0xd7e89beae383bf20
xor r8, r9
xor rdx, r8
movabs r8, 0x5a442bbf7470b28a
movabs r9, 0xa5bbd4408b8f4d75
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14003e3e1
jmp 0x14003e3eb
call fcn.140009cc0
jmp 0x14003eed8
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
cmp rcx, 0
mov qword [rsp + 0xc0], rax
je 0x14003eed8
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
add r8, 8
mov qword [rsp + 0xa0], r8
add rcx, 8
mov qword [rsp + 0xa8], rcx
mov rcx, rdx
sub rcx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
cmovl rcx, rdx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x98], rax
mov eax, dword [0x1401f4cf0]
mov ecx, dword [0x1401f4cf4]
xor ecx, 0xa7632fc4
xor eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9326fe26
mov ecx, 0xffffffff
xor ecx, 0xc5b03a0c
or eax, edx
or ecx, 0xc5b03a0c
xor eax, 0xffffffff
and eax, ecx
mov edx, eax
and edx, 0x54a756ae
mov ecx, 0x49477d4b
xor ecx, 0x49477d49
imul ecx, edx
add eax, 0x54a756ae
sub eax, ecx
and eax, 0xcb6c7c
cmp eax, 0x10f707b5
ja 0x14003eeea
mov r8, qword [rsp + 0x98]
mov r10, qword [rsp + 0xc8]
mov r9d, dword [0x1401f4cf8]
mov edx, dword [0x1401f4cfc]
mov ecx, r9d
xor ecx, 0xffffffff
mov eax, 0x18d2549e
xor eax, 0x3d18e1b0
and eax, ecx
mov r11d, 0xffffffff
xor r11d, 0x25cab52e
and r9d, r11d
mov esi, 0x6e4d9d3f
xor esi, 0x91b262c0
mov ecx, edx
xor ecx, esi
and ecx, 0x25cab52e
and edx, r11d
or eax, r9d
or ecx, edx
xor eax, ecx
mov ecx, 0x35f847b1
xor ecx, 0x1d1a13de
or eax, ecx
mov ecx, 0x10c41bce
xor ecx, 0x38e769f1
xor edx, edx
div ecx
add eax, 0x7bfad6d6
sub eax, 0xf325e952
sub eax, 0x7bfad6d6
mov rdx, r10
sub rdx, r8
mov qword [rsp + 0x88], rdx
mov r9, rdx
and r9, r10
shl r9, 1
mov rcx, rdx
add rcx, r10
sub rcx, r9
cmp rcx, 0
setl cl
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rsp + 0x97], cl
cmp eax, 0x659b4622
ja 0x14003e4de
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14003e5c1
jmp 0x14003e6a8
mov eax, dword [0x1401f4d00]
mov ecx, 0x32a40456
xor ecx, 0x18e4de63
xor eax, ecx
mov ecx, dword [0x1401f4d04]
xor ecx, 0x619415fe
and eax, ecx
mov ecx, 0x644f5d56
xor edx, edx
div ecx
mov ecx, 0x44eb3c1f
xor ecx, 0x2caefc08
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x22100502
xor edx, 0x9118e180
mov r8d, 0xdd0672a3
xor r8d, 0x22f98d5c
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb308e482
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xfa85d732
je 0x14003eef3
mov ecx, dword [0x1401f4d08]
and ecx, dword [0x1401f4d0c]
mov edx, 0xd0a96a1e
xor edx, 0xfa2909f0
mov eax, ecx
and eax, edx
mov edx, 0x6b52fa0d
xor edx, 0x41d299e3
xor ecx, edx
or eax, ecx
mov ecx, 0xef944016
xor edx, edx
div ecx
or eax, 0x73485c95
mov dword [rsp + 0x84], eax
call fcn.140009cc0
mov eax, dword [rsp + 0x84]
cmp eax, 0x2c886d01
jbe 0x14003e63e
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov eax, dword [0x1401f4d10]
mov r8d, dword [0x1401f4d14]
mov ecx, 0xed54e84d
xor ecx, 0x12ab17b2
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x81cef884
xor ecx, 0x6c1ca406
mov edx, 0xbcde0636
xor edx, 0x4321f9c9
xor ecx, edx
mov edx, 0x9f163beb
xor edx, 0x9f163beb
mov r8d, 0x7fe96c36
xor r8d, 0x7fe96c37
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x1c80a5af
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x1c80a5af
add eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xd07612e3
xor ecx, 0xffffffff
mov edx, 0x3d20242e
xor edx, 0xed5636cd
add eax, edx
mov edx, 0x7c2231a9
xor edx, 0x7c2231a8
add eax, edx
add eax, ecx
mov ecx, 0x554b5c7f
xor ecx, 0x7ca63f92
cmp eax, ecx
jb 0x14003eefc
mov rcx, qword [rsp + 0xd8]
mov eax, dword [0x1401f4d18]
mov edx, dword [0x1401f4d1c]
xor edx, 0x2b5b5bdc
and eax, edx
mov r8d, 0xb1e21c28
xor edx, edx
div r8d
mov r8d, 0x13d96ee2
xor edx, edx
div r8d
mov r8d, 0xa53444d2
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x88]
cmp rcx, rdx
setg cl
mov byte [rsp + 0x83], cl
cmp eax, 0xbc777307
ja 0x14003e75e
mov rcx, qword [rsp + 0xd8]
mov dl, byte [rsp + 0x83]
mov rax, 0xffffffffffffffff
test dl, 1
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0xc0], rax
jne 0x14003eed8
jmp 0x14003e7ec
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x68], rdx
xor eax, eax
sub rax, r8
mov rcx, rdx
sub rcx, rax
mov qword [rsp + 0x70], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
or rax, rax
xor rax, 0xffffffffffffffff
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x814db55b60e03d4d
movabs rdx, 0x814db55b60e03d4d
xor rcx, rdx
cmp rax, rcx
jge 0x14003e97f
mov ecx, dword [0x1401f4d20]
xor ecx, 0xcd19f006
mov eax, dword [0x1401f4d24]
xor eax, 0x47450067
sub ecx, 0xc82cf6e4
sub ecx, eax
mov eax, 0x63d662d6
xor eax, 0xabfa9432
add ecx, eax
sub ecx, 0xfd8923d
sub ecx, 0x747f6239
add ecx, 0xfd8923d
mov edx, 0xf89edc21
xor edx, 0x76123de
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xe8f9c619
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe8f9c619
or ecx, edx
and eax, ecx
mov ecx, 0x2b09c12b
xor ecx, 0xd4f63ed4
xor eax, ecx
or eax, 0xfbc36b9b
cmp eax, 0x5aa5a0ed
jbe 0x14003ef05
mov eax, dword [0x1401f4d28]
mov ecx, 0x78628eec
xor ecx, 0xdc716e67
xor eax, ecx
mov r8d, dword [0x1401f4d2c]
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 r8d, 0xa75960d8
xor r8d, 0x5cbdc1f
mov ecx, 0x6f7fbb00
xor ecx, 0x908044ff
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, 0xa292bcc7
or eax, 0xa292bcc7
imul eax, edx
add eax, ecx
mov ecx, 0xc4985a5c
xor ecx, 0x76cba33c
xor edx, edx
div ecx
imul eax, eax, 0x889f5316
mov dword [rsp + 0x64], eax
call fcn.140009cc0
mov eax, dword [rsp + 0x64]
cmp eax, 0x4f8b06fb
je 0x14003e8d4
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xf0]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003e9d1
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffff
call fcn.140013c92
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x68]
cmp rcx, 0
mov qword [rsp + 0x50], rax
jl 0x14003ea08
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xd0]
cmp rax, rcx
mov qword [rsp + 0x50], rax
jl 0x14003ea2e
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
call fcn.140013c92
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov al, byte [rax + r8 + 8]
mov rcx, qword [rcx]
cmp al, byte [rcx + rdx + 8]
jne 0x14003ea94
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
cmp rcx, 0
mov qword [rsp + 0xc0], rax
je 0x14003eed8
mov rax, qword [rsp + 0x68]
add rax, 0xffffffffffffffff
mov qword [rsp + 0x78], rax
jmp 0x14003e7ec
mov r8, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x98]
movabs rax, 0x714432b8fd1369a9
mov r9, rdx
add r9, rax
add r9, r8
movabs rax, 0x714432b8fd1369a9
sub r9, rax
mov qword [rsp + 0x40], r9
movabs rax, 0x34a56c106d858094
movabs rcx, 0xcb5a93ef927a7f6b
xor rax, rcx
mov rcx, r9
xor rcx, rax
mov rax, r9
xor rax, 0xffffffffffffffff
and rcx, rax
movabs r10, 0xb8ceb61c47e0f79a
movabs rax, 0x473149e3b81f0865
xor r10, rax
mov rax, rdx
xor rax, r10
mov r10, rdx
xor r10, 0xffffffffffffffff
and rax, r10
or rcx, rax
movabs rax, 0x6205598248154d48
movabs r10, 0x9dfaa67db7eab2b7
xor rax, r10
xor rcx, rax
mov rax, r9
xor rax, 0xffffffffffffffff
movabs r10, 0x66c521a4eaaf237f
movabs r11, 0x993ade5b1550dc80
xor r10, r11
xor rdx, r10
and rax, rdx
or rcx, rax
xor rcx, 0xffffffffffffffff
mov rax, r9
xor rax, 0xffffffffffffffff
movabs rdx, 0x10f4b395a84ab968
movabs r10, 0xd0749bc2bbcacd98
xor rdx, r10
and rdx, rax
movabs r10, 0x378becb658fef135
movabs rax, 0xf70bc4e14b7e85c5
xor r10, rax
movabs rax, 0xfbb8877df3f70cf4
movabs r11, 0x44778820c08f30b
xor rax, r11
xor r10, rax
and r9, r10
mov rax, r8
xor rax, 0xffffffffffffffff
movabs r11, 0xc0802857138074f0
and rax, r11
and r8, r10
or rdx, r9
or rax, r8
xor rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
movabs r8, 0xc51be5c3736c27cb
movabs r9, 0x3ae41a3c8c93d834
xor r8, r9
xor rcx, r8
movabs r8, 0x360497847d58259f
movabs r9, 0xc9fb687b82a7da60
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x90df1beba829ac91
movabs rdx, 0x6f20e41457d6536e
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jge 0x14003ec5c
call fcn.140009cc0
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003eca3
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffff
call fcn.140013c92
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov eax, dword [0x1401f4d30]
mov ecx, 0x4bf044c0
xor ecx, 0x7a481fc5
xor eax, ecx
and eax, dword [0x1401f4d34]
mov ecx, 0xaff92348
xor ecx, 0xe4d315a1
xor eax, ecx
mov ecx, 0x2319fa38
xor edx, edx
div ecx
mov ecx, 0x9d1cf062
xor edx, edx
div ecx
cmp eax, 0x7d5434ff
je 0x14003ef0e
mov r11, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x40]
mov eax, dword [0x1401f4d38]
xor eax, 0x45871c58
mov esi, dword [0x1401f4d3c]
mov r10d, 0xcad978a1
xor r10d, 0x3526875e
mov ecx, eax
xor ecx, r10d
mov r10d, esi
and r10d, ecx
mov edi, esi
xor edi, 0xffffffff
mov ecx, eax
and ecx, edi
imul ecx, r10d
mov r10d, eax
and r10d, esi
or eax, esi
imul eax, r10d
add eax, ecx
mov ecx, eax
add ecx, 1
mov r10d, 0x2301c510
xor r10d, 0xdcfe3aef
xor eax, r10d
or eax, 0xfacdb1e
add eax, ecx
imul eax, eax, 0x4d8c92c4
imul eax, eax, 0x32c16286
mov ecx, 0xb74c24c8
xor ecx, 0xc13808ca
movzx r8d, byte [r8 + r9 + 8]
mov r9, qword [rdx + r8*8]
movabs rdx, 0x25522f7394b0067d
mov r8, r9
add r8, rdx
add r8, r11
movabs rdx, 0x25522f7394b0067d
sub r8, rdx
mov qword [rsp + 0x30], r8
mov r10, r8
and r10, r11
shl r10, 1
mov rdx, r8
add rdx, r11
sub rdx, r10
xor r8, r9
and rdx, r8
movabs r8, 0xb03b755adb3df975
movabs r9, 0xb03b755adb3df975
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
jae 0x14003ece6
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14003edf9
jmp 0x14003ee12
call fcn.140009cc0
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov rax, qword [rsp + 0x30]
cmp rax, 0
mov qword [rsp + 0xb8], rax
jge 0x14003e467
mov eax, dword [0x1401f4d40]
xor eax, 0xb78ee079
mov edx, dword [0x1401f4d44]
xor edx, 0x9100c335
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0x151d61aa
mov ecx, 0x61322d14
xor ecx, 0x9230b686
imul eax, ecx
xor eax, 0x532e699a
cmp eax, 0x9db3d09e
ja 0x14003ef17
mov eax, dword [0x1401f4d48]
xor edx, edx
div dword [0x1401f4d4c]
mov ecx, 0x9220c2db
xor edx, edx
div ecx
mov ecx, 0xdc161b35
xor ecx, 0xdfa77551
add eax, ecx
add eax, 0x2e96482c
mov ecx, 0xfb0b5a21
xor ecx, 0xf8ba3445
sub eax, ecx
sub eax, 0xf8ddf0ba
mov dword [rsp + 0x2c], eax
call fcn.140009cc0
mov eax, dword [rsp + 0x2c]
cmp eax, 0xb697b41
je 0x14003ee71
mov rax, 0xffffffffffffffff
mov qword [rsp + 0xc0], rax
jmp 0x14003eed8
mov rax, qword [rsp + 0xc0]
add rsp, 0x108
pop rdi
pop rsi
add byte [rdi + 0x5e], bl
ret
jrcxz 0x14003eeb0
cmpsb byte [rsi], byte [rdi]
jnp 0x14003eed8
jmp 0x14003eee6
movabs dword [0xfffff742e908651a], eax
invalid
mov cl, 0x63
invalid
mov edx, 0xe9d6bdac
iretd
nop dword [rsi]
fucompp
push rcx
invalid