Function at 0x14008d7a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xc0
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rcx
mov rax, qword [r8]
mov qword [rsp + 0xb0], rax
mov rdx, qword [rdx]
mov r8, qword [r8 + 8]
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0xb8], rcx
mov rax, rcx
xor rax, rdx
cmp rax, 0
setl al
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14008d813
jmp 0x14008d81d
call fcn.140008c92
jmp 0x14008dfd9
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
movabs rcx, 0x73d990d60d2f41b0
movabs rax, 0x8c266f29f2d0be4f
xor rcx, rax
mov rax, r8
xor rax, rcx
and rax, rdx
movabs rcx, 0xbf2956fc2bcb5904
movabs r9, 0x40d6a903d434a6fb
xor rcx, r9
mov r9, rdx
xor r9, rcx
mov rcx, r8
and rcx, r9
sub rcx, rax
mov qword [rsp + 0x90], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14008d8a1
jmp 0x14008d985
mov eax, dword [0x14024f228]
xor eax, dword [0x14024f22c]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x8073f7c4
mov edx, 0xc1b9451d
xor edx, 0x41cab2d9
mov r8d, 0xe3b5f862
xor r8d, 0x1c4a079d
xor edx, r8d
and ecx, edx
mov edx, 0xd68026a2
xor edx, 0x297fd95d
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0x301cf79c
mov ecx, 0xd39438ac
xor ecx, 0x691148b5
xor edx, edx
div ecx
mov ecx, 0xb49646f
xor ecx, 0xd9fc354c
cmp eax, ecx
ja 0x14008e122
mov eax, dword [0x14024f230]
add eax, dword [0x14024f234]
mov edx, 0x6e5ecbc2
xor edx, 0x7afc50b
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x69f10ec9
add eax, ecx
mov ecx, 0xef16ead9
xor edx, edx
div ecx
mov ecx, 0x9341c411
xor ecx, 0x2260293e
mov edx, 0x22045beb
xor edx, 0xddfba414
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov dword [rsp + 0x8c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x8c]
cmp eax, 0x72672f26
jb 0x14008d913
jmp 0x14008dfd9
mov rcx, qword [rsp + 0x90]
movabs rdx, 0x40ce6ebc0021eb0a
movabs rax, 0x40ce6ebc0021eb0b
xor rdx, rax
movabs rax, 0xf941d57aa1add8a1
movabs r8, 0x6be2a855e52275e
xor rax, r8
xor rdx, rax
movabs rax, 0xdd31aacacd60f695
movabs r8, 0xdd31aacacd60f695
xor rax, r8
movabs r8, 0x2b351d64c6a2ac09
movabs r9, 0x2b351d64c6a2ac08
xor r8, r9
sub rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x80], rax
movabs rdx, 0x5ccf8a1944984609
movabs r8, 0xa33075e6bb67b9f6
xor rdx, r8
mov r8, rcx
xor r8, rdx
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rdx, 0xe396d5f80315f3db
movabs r9, 0xe396d5f80315f3d9
xor rdx, r9
imul rdx, r8
movabs r8, 0xa35df5ebe46da177
movabs r9, 0x5ca20a141b925e88
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14008db26
mov ecx, dword [0x14024f238]
mov eax, dword [0x14024f23c]
xor eax, 0xb0217ae5
or ecx, eax
and ecx, 0xd481fd1c
mov edx, 0x88f41779
xor edx, 0x770be886
mov eax, ecx
xor eax, edx
and eax, 0x66a1751
mov edx, 0xffffffff
xor edx, 0x66a1751
and ecx, edx
or eax, ecx
mov ecx, 0xa5ed6096
xor edx, edx
div ecx
cmp eax, 0xf52a7ff2
ja 0x14008e12b
mov eax, dword [0x14024f240]
mov edx, dword [0x14024f244]
xor edx, 0xde2aa34a
mov r8d, eax
and r8d, edx
mov ecx, 0x6f91560f
xor ecx, 0x6f91560d
imul ecx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xde1300a8
xor ecx, 0x67dfb7c6
sub eax, ecx
mov ecx, eax
and ecx, 0x33da6fae
shl ecx, 1
xor eax, 0x33da6fae
add eax, ecx
add eax, 0x3fc72672
mov dword [rsp + 0x7c], eax
call fcn.140008c92
mov eax, dword [rsp + 0x7c]
cmp eax, 0xc10a4a29
je 0x14008daba
jmp 0x14008dfd9
mov rax, qword [rsp + 0x80]
cmp rax, 0
jge 0x14008dc87
mov ecx, dword [0x14024f248]
mov edx, dword [0x14024f24c]
or ecx, ecx
mov eax, 0x146ecc4d
xor eax, 0xeb9133b2
xor ecx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xddbf0f9
xor r8d, 0xf2240f06
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0x31ef6683
xor edx, 0xce10997c
xor eax, edx
and ecx, eax
mov edx, 0xacb23f9c
xor edx, 0xf3526d4f
mov eax, ecx
and eax, edx
xor ecx, 0x5fe052d3
or eax, ecx
mov ecx, 0x20fc5221
xor ecx, 0x89250780
imul eax, ecx
xor ecx, ecx
sub ecx, 0x97a3bdd0
add eax, ecx
cmp eax, 0x259bf0a9
jb 0x14008e134
mov rcx, qword [rsp + 0x80]
mov esi, dword [0x14024f250]
and esi, dword [0x14024f254]
mov eax, 0x760d0385
xor eax, 0xd802559c
and esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xf41804d1
mov r8d, 0xffffffff
xor r8d, 0xa0dbaa65
mov r10d, 0x5a34116d
xor r10d, 0xfaefbb08
mov eax, edx
and eax, r10d
and esi, r8d
mov r10d, r9d
and r10d, 0xa0dbaa65
mov r11d, r8d
and r11d, 0xf41804d1
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0xa0dbaa65
and edx, r8d
or eax, edx
or eax, 0x841e4498
mov dword [rsp + 0x78], eax
movabs rdx, 0xd9e014c8604883dc
movabs rax, 0xd9e014c8604883dc
xor rdx, rax
movabs r8, 0x5a48cad9881a9ce7
movabs rax, 0x25b7352677e56318
xor r8, rax
call fcn.14000d792
mov eax, dword [rsp + 0x78]
cmp eax, 0x7fafe338
jbe 0x14008dbb5
jmp 0x14008dfd9
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x80]
call fcn.140018a7a
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov r8, rax
xor r8, 0xffffffffffffffff
mov qword [rsp + 0x50], r8
add rdx, 8
mov qword [rsp + 0x58], rdx
add rcx, 8
mov qword [rsp + 0x60], rcx
cmp rax, 0xffffffffffffffff
setg al
mov byte [rsp + 0x6f], al
xor eax, eax
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
cmp rax, rcx
je 0x14008dfd9
mov eax, dword [str.79a]
add eax, dword [0x14024f25c]
mov ecx, 0x1a01918c
xor ecx, 0x76826451
mov edx, 0x89946b65
xor edx, 0x766b949a
xor ecx, edx
mov r11d, eax
xor r11d, ecx
and r11d, eax
add r11d, 0xb29ba45
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe7324678
mov r8d, 0xffffffff
xor r8d, 0x46532991
mov r9d, 0x1075fb80
xor r9d, 0x5626d211
mov eax, ecx
and eax, r9d
and r11d, r8d
mov r9d, edx
and r9d, 0x46532991
mov r10d, 0x740e6c7
xor r10d, 0xe072a0bf
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x582d407f
xor edx, 0x1e7e69ee
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x57126d5f
xor ecx, 0xb4a1b3f7
cmp eax, ecx
jb 0x14008e13d
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x14024f260]
xor edx, edx
div dword [0x14024f264]
mov rdx, qword [rsp + 0xa0]
mov r8d, eax
sub r8d, 0xc56f3b99
mov eax, r8d
and eax, eax
mov r9d, 0x45796c00
xor r9d, 0xba8693ff
xor eax, r9d
mov r9d, 0xa947d403
xor r9d, 0x56b82bfc
xor eax, r9d
mov r9d, 0xffffffff
xor r9d, 0x32f2a907
or eax, r9d
mov r9d, 0xf7cf48e5
xor r9d, 0xc53de1e2
mov r10d, 0x9d5296fd
xor r10d, 0x62ad6902
xor r9d, r10d
mov r10d, 0xb4c35e92
xor r10d, 0x8631f795
mov r11d, 0x977b04b9
xor r11d, 0x6884fb46
xor r10d, r11d
or r9d, r10d
mov r10d, 0x6a6a443c
xor r10d, 0x9595bbc3
xor r8d, r10d
xor r9d, 0xffffffff
or r8d, r9d
and eax, r8d
xor eax, 0xffffffff
mov r8d, 0x51a84b7f
xor r8d, 0xbc072bef
xor eax, r8d
mov rdx, qword [rdx]
mov qword [rsp + 0x38], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xc0652fbf
je 0x14008ddb3
mov al, byte [rsp + 0x47]
test al, 1
jne 0x14008def8
jmp 0x14008dea5
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
movabs r8, 0x667a9ef74a414a9a
movabs rax, 0x99856108b5beb565
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0xa3b5e46f458c19ff
movabs r9, 0xa3b5e46f458c19fd
xor r8, r9
imul rax, r8
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.14001284c
jmp 0x14008dfd9
mov rcx, qword [rsp + 0xa0]
call fcn.14008e150
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x50]
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14008df43
call fcn.140008c92
jmp 0x14008dfd9
mov al, byte [rsp + 0x6f]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x98]
mov rdx, qword [rdx]
mov qword [rsp + 0x28], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14008dfa8
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
movabs rax, 0x67af2a7bc72504d9
movabs r8, 0x67af2a7bc72504d9
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.14001284c
jmp 0x14008dfd9
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx]
mov dl, byte [rdx + r8 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
add rax, 1
mov qword [rsp + 0x70], rax
jmp 0x14008dce4
mov eax, dword [0x14024f268]
mov ecx, dword [0x14024f26c]
xor ecx, 0x57d67507
xor edx, edx
div ecx
and eax, 0xb4c99ece
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x99aff68d
mov edx, 0xffffffff
xor edx, 0x99aff68d
and eax, edx
sub eax, ecx
mov ecx, 0x695ea285
xor ecx, 0x89e6b814
imul eax, ecx
cmp eax, 0x23c8cec8
jbe 0x14008e146
mov ecx, dword [0x14024f270]
mov edx, dword [0x14024f274]
mov eax, ecx
and eax, edx
mov r8d, 0xac4b8f1e
xor r8d, 0xac4b8f1c
imul eax, r8d
xor ecx, edx
add ecx, eax
mov edx, 0xacbd47c8
xor edx, 0x5342b837
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xedbda585
xor ecx, 0x4d5c4baa
mov edx, 0x83af3610
xor edx, 0x7c50c9ef
xor ecx, edx
mov edx, 0xa2a837e2
xor edx, 0x249d9cd
mov r8d, 0x67bb23ef
xor r8d, 0x9844dc10
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x86470240
xor ecx, 0x79b8fdbf
mov edx, eax
xor edx, ecx
and edx, 0xae05113a
mov r8d, 0x83242f71
xor r8d, 0x2d213e4b
mov ecx, 0x832ac2e
xor ecx, 0xf7cd53d1
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x42453bc7
xor r8d, 0xec402afd
mov edx, eax
and edx, r8d
mov r8d, 0xbb0d7d7f
xor r8d, 0x15086c45
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0xa886d458
mov ecx, 0x7208b33a
xor ecx, 0xa9da7b19
cmp eax, ecx
jb 0x14008e027
mov rax, qword [rsp + 0xa8]
add rsp, 0xc0
pop rsi
ret
or eax, 0xe950bff6
call 0x17608e123
loope 0x14008e17a
xor eax, 0xe9764ce1
jbe 0x14008e119
xchg cl, bh
stc
invalid
mov edx, dword [rdx + 0x78e98e8b]
cli
invalid
push rcx
jns 0x14008e1a0
jmp 0x14008ddb3
mov ebp, 0xe9e20641
fdivr st(6)
invalid
invalid
add al, byte [rcx - 0x7d6bfe0e]
jp 0x14008e131
enter 0xffffffffffffd021, 0xffffffffffffff81
leave
cmp cl, byte [rdx - 0x37fe87d4]
mov ecx, 0x46827d25
xor edx, edx
div ecx
cmp eax, 0x73f43c86
jae 0x14008e2d6
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x14024f280]
xor eax, 0x6d2a8e34
mov edx, dword [0x14024f284]
sub eax, 0xe7275893
sub eax, edx
mov edx, 0xf2322c48
xor edx, 0x151574db
add eax, edx
mov edx, 0x53a13856
xor edx, 0xac5ec7a9
mov r8d, eax
xor r8d, edx
and r8d, 0x613ca4af
mov r9d, 0xffffffff
xor r9d, 0x613ca4af
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x613ca4af
or eax, 0x613ca4af
imul eax, r8d
add eax, edx
mov r8d, 0xa7a87db1
xor edx, edx
div r8d
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xfc000195
mov r9d, 0xffffffff
xor r9d, 0xfc000195
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xef3cfd5e
xor r9d, 0x133cfccb
mov r8d, eax
and r8d, r9d
or eax, 0xfc000195
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x27], cl
cmp eax, 0x1126eb1f
je 0x14008e1c7
mov al, byte [rsp + 0x27]
test al, 1
jne 0x14008e2d0
jmp 0x14008e2c6
mov rcx, qword [rsp + 0x28]
call fcn.140013e60
nop
add rsp, 0x38
ret
xor edx, ebx
mov dword [rax - 0x17], 0xfffffee8
nop
mov rax, qword [rcx]
cmp rax, qword [rdx]
setl al
and al, 1
movzx eax, al
ret