Function at 0x140038eb0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
cmp r9, 0
cmove r9, rdx
mov rax, r9
sub rax, rdx
cmovl rdx, r9
mov qword [rsp + 0xa0], rdx
cmp rdx, 1
jle 0x1400390bb
mov rax, qword [rsp + 0x90]
movabs rcx, 0xe6c567118b15ba04
movabs rdx, 0xe6c567118b15ba05
xor rcx, rdx
cmp rax, rcx
jge 0x140038f59
mov rdx, qword [rsp + 0x90]
movabs rax, 0x502043d9bbe58aab
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x502043d9bbe58aab
sub rdx, rax
xor eax, eax
mov ecx, eax
call fcn.140014583
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x14003974a
mov rax, qword [rsp + 0x98]
mov al, byte [rax]
mov cl, 0xf8
xor cl, 0xc8
cmp al, cl
jne 0x140039112
mov rax, qword [rsp + 0x90]
cmp rax, 1
ja 0x140039095
mov eax, dword [0x140201e40]
xor eax, 0xd62c78ec
imul eax, dword [0x140201e44]
mov ecx, eax
xor ecx, 0xf94dba08
xor ecx, 0xffffffff
mov edx, 0xcf3f880c
xor edx, 0x36723204
or eax, edx
and eax, ecx
xor eax, 0x946cc141
mov ecx, 0xa1f149d2
xor ecx, 0xb5289760
xor eax, ecx
cmp eax, 0x9fb0c486
jae 0x14003975a
mov rdx, qword [rsp + 0x90]
mov r8d, dword [0x140201e48]
mov ecx, dword [0x140201e4c]
mov eax, 0xcad3d19b
xor eax, 0x31bd5053
xor ecx, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, ecx
mov r9d, 0xc0857989
xor r9d, 0x3f7a8676
xor ecx, r9d
and r8d, ecx
sub r8d, eax
mov eax, 0x4c1a7ae3
xor eax, 0xfe515dcf
xor r8d, eax
mov eax, 0xffffffff
xor eax, 0x83ebef33
add r8d, eax
mov eax, 0xf97e9953
xor eax, 0xf97e9952
add r8d, eax
mov ecx, r8d
xor ecx, 0xd919f9fd
mov eax, 0xffffffff
xor eax, 0xd919f9fd
and r8d, eax
mov eax, 0x7f44dfaa
xor eax, 0x7f44dfa8
imul eax, r8d
sub eax, ecx
mov dword [rsp + 0x7c], eax
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
mov ecx, 1
call fcn.140014583
mov eax, dword [rsp + 0x7c]
cmp eax, 0x96a252fb
jb 0x14003975a
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x14003974a
mov rax, qword [rsp + 0x98]
mov cl, byte [rax + 1]
mov eax, 2
or cl, 0x20
sub cl, 0x78
mov qword [rsp + 0x70], rax
je 0x14003934a
jmp 0x140039112
mov rcx, qword [rsp + 0xa0]
movabs rdx, 0x9fc56da715d4c7ab
movabs rax, 0x9fc56da715d4c7aa
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0x70], rax
jne 0x14003934a
mov rax, qword [rsp + 0x90]
movabs rcx, 0x5ed24de74fb0720f
movabs rdx, 0x5ed24de74fb0720f
xor rcx, rdx
cmp rax, rcx
jle 0x1400391fc
mov ecx, dword [0x140201e50]
mov edx, dword [0x140201e54]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
xor eax, 0xd838aee3
xor eax, 0x2da5bbf2
sub eax, 0xc9663c1c
cmp eax, 0xf46c7ce8
jae 0x140039763
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x140201e58]
mov edx, dword [0x140201e5c]
mov r8d, 0x76d483a0
xor r8d, 0x30b2e049
xor edx, r8d
and eax, edx
sub eax, 0xaaf4acf8
sub eax, 0xb688ee00
add eax, 0xaaf4acf8
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x8f1b82c3
mov r9d, 0xffffffff
xor r9d, 0x8f1b82c3
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x2041edc1
xor r9d, 0xaf5a6f02
mov r8d, eax
and r8d, r9d
or eax, 0x8f1b82c3
imul eax, r8d
add eax, edx
mov edx, 0xffffffff
xor edx, 0x6d7a1e3
add eax, edx
mov edx, 0x4002d384
xor edx, 0x4002d385
add eax, edx
cmp byte [rcx], 0x23
sete cl
and cl, 1
movzx ecx, cl
mov qword [rsp + 0x68], rcx
cmp eax, 0x6431a42
je 0x140039140
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
jmp 0x14003934a
mov eax, dword [0x140201e60]
mov edx, dword [0x140201e64]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
or eax, 0x68eeb994
mov edx, eax
xor edx, 0xffffffff
and edx, 0xeaa907df
mov r8d, 0xffffffff
xor r8d, 0xeaa907df
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x6f8d58e6
xor r8d, 0x85245f39
mov edx, eax
and edx, r8d
or eax, 0xeaa907df
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x438203da
mov edx, 0xffffffff
xor edx, 0x438203da
and eax, edx
sub eax, ecx
cmp eax, 0x7338ef4b
ja 0x14003976c
mov rdx, qword [rsp + 0x90]
mov ecx, dword [0x140201e68]
sub ecx, dword [0x140201e6c]
mov eax, 0xc8cc3625
xor eax, 0x77ac9065
or ecx, eax
mov r8d, ecx
and r8d, 0x9a2f7882
mov eax, 0x8467277d
xor eax, 0x8467277f
imul eax, r8d
mov r8d, 0x63fbaa45
xor r8d, 0xf9d4d2c7
add ecx, r8d
sub ecx, eax
mov r8d, 0xa43acf86
xor r8d, 0xcd021580
mov eax, ecx
and eax, r8d
mov r8d, 0x5eae87e5
xor r8d, 0x37965de3
xor ecx, r8d
or eax, ecx
mov dword [rsp + 0x64], eax
movabs rax, 0x4dfba327f8624e47
movabs rcx, 0xb2045cd8079db1b8
xor rax, rcx
add rdx, rax
movabs rcx, 0x4ac3373f73db8ad3
movabs rax, 0x4ac3373f73db8ad3
xor rcx, rax
call fcn.140014583
mov eax, dword [rsp + 0x64]
cmp eax, 0x60142adc
jb 0x140039284
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x14003974a
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x70]
mov rdx, rcx
sub rdx, rax
cmovg rax, rcx
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rcx
mov cl, al
mov byte [rsp + 0x62], cl
mov byte [rsp + 0x63], al
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
mov r8b, byte [rsp + 0x62]
mov r9b, byte [rsp + 0x63]
mov byte [rsp + 0x3e], r9b
mov byte [rsp + 0x3f], r8b
mov qword [rsp + 0x40], rcx
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jge case.0x140039539.10
mov r8d, dword [0x140201e70]
mov edx, dword [0x140201e74]
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x6096cf55
xor eax, 0xdfcedc06
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xbf581353
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xbf581353
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x25fcd534
xor ecx, 0xc6cc73cd
add eax, ecx
mov ecx, 0x2aa3be67
xor edx, edx
div ecx
mov ecx, 0x7dac7cbd
xor edx, edx
div ecx
cmp eax, 0xe5801bcf
jae 0x140039775
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x40]
mov eax, dword [0x140201e78]
mov r8d, 0xc3714a5d
xor r8d, 0xde8928f6
xor eax, r8d
mov r9d, dword [0x140201e7c]
xor r9d, 0x8b194e09
mov r8d, 0x55635945
xor r8d, 0xaa9ca6ba
xor r9d, r8d
mov r8d, eax
xor r8d, r9d
and r8d, eax
mov eax, 0x8f57312e
xor eax, 0x1cd8c804
sub r8d, eax
mov eax, 0xffffffff
xor eax, 0xc71ddee7
xor r9d, r9d
sub r9d, 1
sub eax, r9d
sub r8d, eax
mov r9d, 0xbb56ad5b
xor r9d, 0x44a952a4
mov eax, r8d
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x338dd3fd
mov r9d, 0xffffffff
xor r9d, 0x338dd3fd
and r8d, r9d
or eax, r8d
mov r8d, 0xb32602a5
xor r8d, 0x4cd9fd5a
xor eax, r8d
mov cl, byte [rcx + rdx]
mov byte [rsp + 0x3d], cl
cmp eax, 0xeefd5a0
je 0x14003941e
mov rax, qword [rsp + 0x40]
mov cl, byte [rsp + 0x3d]
add cl, 0xd0
movzx edx, cl
mov qword [rsp + 0x30], rdx
sub cl, 0x36
mov qword [rsp + 0x48], rax
ja case.0x140039539.10
mov rcx, qword [rsp + 0x40]
mov dl, byte [rsp + 0x3e]
mov r8b, byte [rsp + 0x3f]
mov rax, qword [rsp + 0x30]
lea r9, [0x140039788]
movsxd rax, dword [r9 + rax*4]
add rax, r9
mov byte [rsp + 0x2e], r8b
mov byte [rsp + 0x2f], dl
mov qword [rsp + 0x48], rcx
jmp rax
mov ecx, dword [0x140201e80]
mov edx, dword [0x140201e84]
mov eax, 0x35170897
xor eax, 0x3edf95ec
xor edx, eax
mov eax, ecx
or eax, edx
mov r8d, 0x6cf23658
xor r8d, 0x930dc9a7
xor eax, r8d
or ecx, edx
mov edx, 0xc0a615b
xor edx, 0xf3f59ea4
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb341dda9
xor ecx, 0x163e9afa
xor edx, edx
div ecx
and eax, 0x6bf642d4
and eax, 0xd317a21e
cmp eax, 0xeaf89a33
je 0x14003977e
mov r8b, byte [rsp + 0x3f]
mov r9b, byte [rsp + 0x3d]
mov ecx, dword [0x140201e88]
or ecx, dword [0x140201e8c]
mov eax, ecx
and eax, 0x6911d356
xor ecx, 0x6911d356
or eax, ecx
mov ecx, 0xf4ea9a06
xor ecx, 0x36f19edb
xor edx, edx
div ecx
mov ecx, 0xec18491d
xor edx, edx
div ecx
mov ecx, 0x39501afe
xor ecx, 0x673fe0f8
add r9b, 0xd0
shl r8b, 4
mov r10b, 0x44
xor r10b, 0xbb
mov dl, r8b
xor dl, r10b
mov r10b, r9b
xor r10b, 0xff
and dl, r10b
or r8b, r9b
xor r8b, 0xff
xor dl, 0xff
xor r8b, 0xff
and dl, r8b
mov byte [rsp + 0x2d], dl
cmp eax, ecx
ja 0x14003959f
mov cl, byte [rsp + 0x2d]
mov al, 1
mov byte [rsp + 0x2e], cl
mov byte [rsp + 0x2f], al
jmp case.0x140039539.47
mov al, byte [rsp + 0x3f]
mov dl, byte [rsp + 0x3d]
mov cl, 0x3e
xor cl, 0x97
add dl, cl
shl al, 4
mov cl, al
and cl, dl
xor al, dl
or cl, al
mov al, 1
mov byte [rsp + 0x2e], cl
mov byte [rsp + 0x2f], al
jmp case.0x140039539.47
mov cl, byte [rsp + 0x3f]
mov al, byte [rsp + 0x3d]
mov dl, 0x10
xor dl, 0x10
mov r8b, 0xd7
xor r8b, 0x1e
sub dl, r8b
sub al, dl
shl cl, 4
or cl, al
mov al, 1
mov byte [rsp + 0x2e], cl
mov byte [rsp + 0x2f], al
mov rdx, qword [rsp + 0x40]
mov cl, byte [rsp + 0x2e]
mov al, byte [rsp + 0x2f]
movabs r8, 0x2359abdb631814a3
movabs r9, 0x2359abdb631814a3
xor r8, r9
sub r8, rdx
movabs rdx, 0x152e6b39eb3be568
movabs r9, 0x152e6b39eb3be568
xor rdx, r9
movabs r9, 0x68700ddeecbd3c7e
movabs r10, 0x68700ddeecbd3c7f
xor r9, r10
sub rdx, r9
add r8, rdx
xor edx, edx
sub rdx, r8
mov qword [rsp + 0x58], rdx
mov byte [rsp + 0x62], cl
mov byte [rsp + 0x63], al
jmp 0x140039377
mov cl, byte [rsp + 0x3e]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor cl, 0xff
mov dl, 0xff
xor dl, 1
mov al, 0xff
xor al, 0x8c
or cl, dl
or al, 0x8c
xor cl, 0xff
and cl, al
xor eax, eax
cmp cl, 0
mov qword [rsp + 0x80], rax
je 0x14003974a
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x88]
mov dl, byte [rsp + 0x3f]
mov byte [rcx], dl
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
add rsp, 0xa8
ret
call 0x129c2ef45
push 0xffffffffe8fffff8
or rbx, rbp
jmp 0x140039140
call 0x129eea0b2
invalid
rcl ebp, 1
mov bl, 0xac
jmp 0x140039284
lahf
fld xword [rbx]
mov esi, 0xfffca0e9
call rsp
xchg ebp, eax
hlt
invalid