Function at 0x14003a890
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rcx
movabs rax, 0x711d1b054519244b
movabs rcx, 0x711d1b054519244b
xor rax, rcx
cmp r9, rax
cmove r9, rdx
mov rax, r9
sub rax, rdx
cmovl rdx, r9
mov qword [rsp + 0xb0], rdx
movabs rax, 0x68890c00b26e335a
movabs rcx, 0x68890c00b26e335b
xor rax, rcx
cmp rdx, rax
jle 0x14003ac83
mov ecx, dword [0x140217dd0]
mov edx, dword [0x140217dd4]
mov r8d, 0xdbe3cf67
xor r8d, 0xdbe3cf66
mov eax, ecx
add eax, r8d
xor ecx, 0xffffffff
or ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xc0c57cdc
mov edx, 0xbbb409c5
xor edx, 0x7b717519
or ecx, edx
add eax, ecx
sub eax, 0x77eb5d9b
mov ecx, 0xb2b19b8b
xor ecx, 0x408b2afe
add eax, ecx
mov ecx, 0xed753a4f
xor ecx, 0x9a9e67d4
add eax, ecx
mov ecx, 0x4951ff85
xor ecx, 0x4951ff85
mov edx, 0xd43a9777
xor edx, 0x49c2e0f7
sub ecx, edx
add eax, ecx
cmp eax, 0x847d5dc9
je 0x14003b3e1
mov eax, dword [str.6_bk_]
xor edx, edx
div dword [0x140217ddc]
mov rdx, qword [rsp + 0xa0]
and eax, 0x5125719
xor eax, 0x32c95e87
mov r8d, 0x2fe33b77
xor r8d, 0xc33da80
mov ecx, eax
and ecx, r8d
shl ecx, 1
mov r8d, 0x6c07c93a
xor r8d, 0x4fd728cd
add eax, r8d
sub eax, ecx
mov ecx, 0x7a65d982
xor ecx, 0x3602417e
cmp rdx, 1
setl dl
mov byte [rsp + 0x97], dl
cmp eax, ecx
jae 0x14003b3e1
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14003a9fa
jmp 0x14003ab15
mov eax, dword [0x140217de0]
xor edx, edx
div dword [0x140217de4]
mov r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0xabf1933f
mov edx, 0xffffffff
xor edx, 0xabf1933f
and r8d, edx
mov eax, 0xffffffff
xor eax, 0x3067e83a
and eax, 0xabf1933f
and edx, 0x3067e83a
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0xa1af4347
xor edx, 0x5e50bcb8
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x76c5c1c2
mov edx, 0xffffffff
xor edx, 0x76c5c1c2
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x2668abc3
xor edx, 0xd997543c
xor ecx, edx
or eax, ecx
imul eax, eax, 0x635aab7e
mov ecx, 0xd0ca4e50
xor ecx, 0x685acf5a
cmp eax, ecx
jbe 0x14003b3ea
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x140217de8]
imul eax, dword [0x140217dec]
xor eax, 0xd539f696
mov r8d, 0xb13b1449
xor edx, edx
div r8d
mov r8d, 0xbbbe5c17
xor r8d, 0x82645e0b
xor edx, edx
div r8d
mov dword [rsp + 0x90], eax
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor eax, eax
mov ecx, eax
call fcn.1400153d3
mov eax, dword [rsp + 0x90]
cmp eax, 0x3bc3120d
jae 0x14003aa98
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x14003b3d1
mov rax, qword [rsp + 0xa8]
mov al, byte [rax]
mov cl, 0xd5
xor cl, 0xe5
cmp al, cl
jne 0x14003acda
mov rax, qword [rsp + 0xa0]
cmp rax, 1
ja 0x14003ab79
mov rdx, qword [rsp + 0xa0]
movabs rax, 0x526a7dae4fe299a4
movabs rcx, 0xad958251b01d665b
xor rax, rcx
add rdx, rax
mov ecx, 1
call fcn.1400153d3
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x14003b3d1
mov ecx, dword [0x140217df0]
mov r8d, dword [0x140217df4]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
add ecx, 0xf9b61316
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x6465040c
mov edx, 0xffffffff
xor edx, 0x6465040c
and ecx, edx
or eax, ecx
mov ecx, 0xe4b04355
xor ecx, 0x1b4fbcaa
mov edx, eax
xor edx, ecx
and edx, 0xfa209beb
mov r8d, 0xffffffff
xor r8d, 0xfa209beb
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xf6d9dd94
xor r8d, 0xcf9467f
mov edx, eax
and edx, r8d
mov r8d, 0x34f8a2a4
xor r8d, 0xced8394f
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xbe1ee305
jae 0x14003b3f3
mov rcx, qword [rsp + 0xa8]
mov eax, dword [0x140217df8]
and eax, dword [0x140217dfc]
imul eax, eax, 0x252c4340
imul eax, eax, 0x5c582cc8
add eax, 0xcbe5a292
mov cl, byte [rcx + 1]
mov byte [rsp + 0x87], cl
cmp eax, 0xa6224066
ja 0x14003b3f3
mov cl, byte [rsp + 0x87]
mov eax, 2
or cl, 0x20
sub cl, 0x78
mov qword [rsp + 0x78], rax
je 0x14003aeb2
jmp 0x14003acda
mov rcx, qword [rsp + 0xb0]
movabs rdx, 0xf100897123f0a4f2
movabs rax, 0xf100897123f0a4f3
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0x78], rax
jne 0x14003aeb2
mov rax, qword [rsp + 0xa0]
movabs rcx, 0xc088f62926c8184e
movabs rdx, 0xc088f62926c8184e
xor rcx, rdx
cmp rax, rcx
jle 0x14003acf7
mov rax, qword [rsp + 0xa8]
cmp byte [rax], 0x23
sete al
and al, 1
movzx eax, al
mov qword [rsp + 0x78], rax
jmp 0x14003aeb2
mov ecx, dword [0x140217e00]
mov edx, dword [0x140217e04]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xec99a7ca
xor edx, edx
div ecx
mov ecx, 0xfc7b0838
xor ecx, 0xd2255bf6
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd9750e0e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xee9e9449
xor r8d, 0x37eb9a47
mov edx, eax
and edx, r8d
mov r8d, 0xf812d9aa
xor r8d, 0x2167d7a4
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x5f8f15e9
jb 0x14003b3fc
mov eax, dword [0x140217e08]
mov r8d, dword [0x140217e0c]
xor r8d, 0x3fc90e8d
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x2f144b2f
xor r9d, 0xd0ebb4d0
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0x3b90f232
mov ecx, 0x6ad0c038
xor ecx, 0x952f3fc7
xor edx, ecx
mov ecx, 0xefac1cf0
xor ecx, 0xd43ceec2
and ecx, edx
shl ecx, 1
sub ecx, 0x3b90f232
sub eax, ecx
mov ecx, 0xbd887d96
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xa0]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0xffffffff
xor r8d, 0xbe905947
mov r9d, 0xdbd016c
xor r9d, 0xb32d582b
mov r10d, 0x7a8f866f
xor r10d, 0x85707990
xor r9d, r10d
and r8d, r9d
xor eax, 0xffffffff
mov r9d, 0x2b0bbd5c
xor r9d, 0xd4f442a3
xor r8d, r9d
and eax, r8d
mov r8d, 0x1b3fe51f
xor r8d, 0xa5afbc58
or ecx, r8d
xor ecx, 0xffffffff
mov r8d, 0x6560ee7a
xor r8d, 0x9a9f1185
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov dword [rsp + 0x74], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor ecx, ecx
sub rcx, 1
sub rax, rcx
sub rdx, rax
xor eax, eax
mov ecx, eax
call fcn.1400153d3
mov eax, dword [rsp + 0x74]
cmp eax, 0x91115dec
jb 0x14003ad71
xor eax, eax
mov qword [rsp + 0x88], rax
jmp 0x14003b3d1
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
mov ecx, dword [0x140217e10]
mov edx, dword [0x140217e14]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xc15f7936
xor r9d, 0x3ea086c9
mov r8d, edx
xor r8d, r9d
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0x68695624
xor r8d, 0x9796a9db
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x40425377
xor ecx, 0xbfbdac88
xor eax, ecx
mov edx, 0x50ead3
xor edx, 0xe443d9ac
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0xe413337f
and eax, ecx
mov ecx, eax
and ecx, 0x842e54ba
mov edx, 0x30c99c9a
xor edx, 0x30c99c98
imul ecx, edx
xor eax, 0x842e54ba
add eax, ecx
or eax, 0x6b89e0c9
mov ecx, 0x960b6e7
xor ecx, 0xb0519663
cmp eax, ecx
je 0x14003b405
mov rcx, qword [rsp + 0xb0]
mov eax, dword [0x140217e18]
xor eax, 0x13b97082
xor eax, dword [0x140217e1c]
mov r8d, 0x70e637aa
xor r8d, 0xa7560b0f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x68]
mov r8d, eax
mov eax, r8d
or eax, 0x6446dbe7
mov r9d, 0x59788ae1
xor r9d, 0xa687751e
xor eax, r9d
mov r9d, 0x6f906f7e
xor r9d, 0x906f9081
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x6446dbe7
and r8d, r9d
mov r9d, 0x86dcbe09
xor r9d, 0x792341f6
xor eax, r9d
mov r9d, 0x720f8a47
xor r9d, 0x8df075b8
xor r8d, r9d
and eax, r8d
mov r8d, 0xe7c167c
xor r8d, 0xf183e983
mov r9d, eax
xor r9d, r8d
and r9d, 0xb85f5aeb
mov r10d, 0xffffffff
xor r10d, 0xb85f5aeb
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xb85f5aeb
or eax, 0xb85f5aeb
imul eax, r9d
add eax, r8d
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov qword [rsp + 0x60], rcx
cmp eax, 0x28773ab9
jb 0x14003b405
mov rcx, qword [rsp + 0x68]
xor eax, eax
mov qword [rsp + 0x50], rcx
mov cl, al
mov byte [rsp + 0x5e], cl
mov byte [rsp + 0x5f], al
jmp 0x14003b05f
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x50]
mov r8b, byte [rsp + 0x5e]
mov r9b, byte [rsp + 0x5f]
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.0x14003b0f4.10
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xa8]
mov cl, byte [rcx + rax]
mov byte [rsp + 0x2f], cl
add cl, 0xd0
movzx edx, cl
mov qword [rsp + 0x30], rdx
sub cl, 0x36
mov qword [rsp + 0x48], rax
ja case.0x14003b0f4.10
mov rcx, qword [rsp + 0x40]
mov dl, byte [rsp + 0x3e]
mov r8b, byte [rsp + 0x3f]
mov rax, qword [rsp + 0x30]
lea r9, [0x14003b420]
movsxd rax, dword [r9 + rax*4]
add rax, r9
mov byte [rsp + 0x2d], r8b
mov byte [rsp + 0x2e], dl
mov qword [rsp + 0x48], rcx
jmp rax
mov r8d, dword [0x140217e20]
xor r8d, dword [0x140217e24]
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xd1a165a0
xor eax, 0x6f8addc7
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xbe2bb867
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x6e7d75fa
and ecx, 0xbe2bb867
and edx, 0x6e7d75fa
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xc4938d9c
xor ecx, 0x33499b84
xor edx, edx
div ecx
or eax, 0x21724432
mov ecx, 0x63e28c2f
xor ecx, 0x9b6ef05b
cmp eax, ecx
ja 0x14003b40e
mov r8b, byte [rsp + 0x3f]
mov dl, byte [rsp + 0x2f]
mov r10d, dword [0x140217e28]
mov r9d, dword [0x140217e2c]
mov eax, 0x56dbc156
xor eax, 0x61809b2c
xor r9d, eax
mov eax, r10d
xor eax, 0xffffffff
and eax, 0xa0b8213
mov r11d, 0xffffffff
xor r11d, 0xa0b8213
and r10d, r11d
mov ecx, r9d
xor ecx, 0xffffffff
and ecx, 0xa0b8213
and r9d, r11d
or eax, r10d
or ecx, r9d
xor eax, ecx
add eax, 0x6eb9f236
and eax, 0x19b518e0
and eax, 0x148c39e7
add dl, 0xd0
mov cl, 0x47
xor cl, 0x43
shl r8b, cl
mov cl, r8b
or cl, dl
mov byte [rsp + 0x2c], cl
cmp eax, 0x44e589eb
je 0x14003b40e
mov cl, byte [rsp + 0x2c]
mov al, 1
mov byte [rsp + 0x2d], cl
mov byte [rsp + 0x2e], al
jmp case.0x14003b0f4.47
mov cl, byte [rsp + 0x3f]
mov al, byte [rsp + 0x2f]
sub al, 0x4a
mov dl, 0xcc
xor dl, 0x65
add al, dl
add al, 0x4a
shl cl, 4
or cl, al
mov al, 1
mov byte [rsp + 0x2d], cl
mov byte [rsp + 0x2e], al
jmp case.0x14003b0f4.47
mov r11b, byte [rsp + 0x3f]
mov cl, byte [rsp + 0x2f]
mov al, 0xa2
xor al, 0xa2
sub al, cl
xor ecx, ecx
sub cl, 0xc9
add al, cl
xor ecx, ecx
mov r10b, cl
sub r10b, al
mov cl, 0x7f
xor cl, 0x7b
shl r11b, cl
mov al, r11b
xor al, 0xff
mov r8b, r10b
xor r8b, 0xff
mov dl, 0xff
xor dl, 0
mov cl, al
and cl, 0
and r11b, dl
mov r9b, r8b
and r9b, 0
and r10b, dl
or cl, r11b
or r9b, r10b
xor cl, r9b
or al, r8b
mov r8b, 0xc
xor r8b, 0xf3
xor al, r8b
or dl, 0
and al, dl
or cl, al
mov al, 1
mov byte [rsp + 0x2d], cl
mov byte [rsp + 0x2e], al
mov rdx, qword [rsp + 0x40]
mov cl, byte [rsp + 0x2d]
mov al, byte [rsp + 0x2e]
mov r8, 0xffffffffffffffff
xor r8, 1
xor r9d, r9d
sub r9, 1
sub r8, r9
sub rdx, r8
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x5e], cl
mov byte [rsp + 0x5f], al
jmp 0x14003b05f
mov cl, byte [rsp + 0x3e]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
and cl, 1
xor eax, eax
cmp cl, 0
mov qword [rsp + 0x88], rax
je 0x14003b3d1
mov eax, dword [0x140217e30]
mov edx, dword [0x140217e34]
xor edx, 0x8f4c14fe
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov edx, 0x8a26a5a6
xor edx, 0xaa28fc4a
mov ecx, eax
xor ecx, edx
mov edx, 0xe01614f2
xor edx, 0x1fe9eb0d
xor ecx, edx
or eax, 0x200e59ec
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x8c7fccee
mov edx, 0xffffffff
xor edx, 0x8c7fccee
and eax, edx
sub eax, ecx
mov ecx, 0x62a06673
xor edx, edx
div ecx
mov ecx, 0x3a7fa6dd
xor ecx, 0xd994169f
cmp eax, ecx
ja 0x14003b417
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x140217e38]
xor eax, 0x953ed204
mov edx, dword [0x140217e3c]
xor edx, 0xf3461f11
xor eax, edx
mov r8d, 0x92fc2b5
xor r8d, 0x3b676a00
xor edx, edx
div r8d
or eax, 0xcdf84c28
mov r8d, 0xc6ebdf04
xor edx, edx
div r8d
mov dl, byte [rsp + 0x3f]
mov byte [rcx], dl
cmp eax, 0xd4ed6afd
je 0x14003b36b
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x88], rax
jmp 0x14003b3d1
mov rax, qword [rsp + 0x88]
add rsp, 0xb8
ret
lodsd eax, dword [rsi]
xchg edx, eax
jmp 0x14003a97e
add ecx, 0x77
cmp cl, ch
movsd dword [rdi], dword [rsi]
idiv bh
invalid
jmp 0x14003b45e
lea esp, [rdx + 0x14]
sub cl, 0x6c
stc
invalid
fdivr st(3), st(0)
rol dword [rdi], 1
jmp 0x14003af55
cwde
add al, 0x85
stosd dword [rdi], eax
jmp 0x14003b169
mov al, 0x92
mov ebp, 0xff4be9ef
invalid
invalid