Function at 0x140099240
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x148
mov qword [rsp + 0x138], r8
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x128], rcx
call fcn.140098d67
mov r9, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
movabs rax, 0xee4cd5212c3c8ca6
mov rcx, r8
add rcx, rax
add rcx, r9
movabs rax, 0xee4cd5212c3c8ca6
sub rcx, rax
mov qword [rsp + 0x140], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
and rax, rdx
mov rdx, r9
xor rdx, 0xffffffffffffffff
mov r10, r9
xor r10, 0xffffffffffffffff
and rdx, r10
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rax, rdx
mov rdx, rcx
or rdx, r9
movabs r9, 0x4e2be6a784308e23
movabs r10, 0xb1d419587bcf71dc
xor r9, r10
xor rdx, r9
or rax, rdx
movabs rdx, 0x59162ac9d9d2ad6a
movabs r9, 0xa6e9d536262d5295
xor rdx, r9
xor rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
or rdx, r9
and rdx, r8
movabs r9, 0xb419059eb0b49dcd
movabs r10, 0x4be6fa614f4b6232
xor r9, r10
xor rdx, r9
and r8, r8
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rcx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rdx, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x982feb8bbebebac0
movabs r8, 0x67d014744141453f
xor rcx, r8
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x10173be3b0130a8
xor rcx, r8
or rax, rdx
movabs rdx, 0x10173be3b0130a8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400994ce
mov eax, dword [0x1401f7728]
xor eax, 0xe7cbbed8
xor edx, edx
div dword [0x1401f772c]
mov edx, eax
xor edx, 0xffffffff
mov ecx, 0x366da6b
xor ecx, 0x525d6436
mov r8d, 0x805db7e7
xor r8d, 0x7fa24818
xor ecx, r8d
and edx, ecx
or eax, 0x513bbe5d
xor eax, 0xffffffff
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov eax, 0xa89b4822
xor eax, 0xe5d7c4af
mov ecx, edx
xor ecx, eax
mov eax, 0xc4dac936
xor eax, 0x899645bb
mov r8d, 0x326bcdf0
xor r8d, 0xcd94320f
xor eax, r8d
and edx, eax
mov eax, 0x80fa022a
xor eax, 0x80fa0228
imul eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9e4dbab9
mov r8d, 0xffffffff
xor r8d, 0x9e4dbab9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9e4dbab9
or eax, 0x9e4dbab9
imul eax, edx
add eax, ecx
cmp eax, 0xad5110a0
je 0x14009a015
mov eax, dword [0x1401f7730]
mov ecx, dword [0x1401f7734]
mov edx, 0xa99e4945
xor edx, 0xfd21bb19
xor ecx, edx
add eax, 0xc8dc2001
sub eax, ecx
sub eax, 0xc8dc2001
imul eax, eax, 0xeab2e689
sub eax, 0xd70aa6e1
mov ecx, eax
xor ecx, 0x1feea3b6
xor ecx, 0xffffffff
mov edx, 0xd323f350
xor edx, 0xcccd50e6
or eax, edx
and eax, ecx
mov dword [rsp + 0x124], eax
call fcn.140009cc0
mov eax, dword [rsp + 0x124]
cmp eax, 0xf1c24a5f
jae 0x14009a015
jmp 0x14009a00b
mov eax, dword [0x1401f7738]
mov ecx, dword [0x1401f773c]
xor ecx, 0x7c4ec4b
xor eax, ecx
xor ecx, ecx
sub ecx, 0xeff2930d
add eax, ecx
imul eax, eax, 0x8886e886
add eax, 0x87d67f62
cmp eax, 0x2605ee23
jb 0x14009a01e
mov rcx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x140]
mov eax, dword [0x1401f7740]
mov edx, dword [0x1401f7744]
xor edx, 0x76e247a7
imul eax, edx
xor edx, edx
sub edx, 0x731b05f4
add eax, edx
mov r9d, 0x8fe49760
xor edx, edx
div r9d
mov r9d, 0x7a29ab43
xor r9d, 0x2d29100c
xor edx, edx
div r9d
mov rdx, rcx
add rdx, 0x20
mov qword [rsp + 0x100], rdx
mov rdx, qword [rcx + 0x20]
mov qword [rsp + 0x108], rdx
cmp rdx, r8
setl dl
mov byte [rsp + 0x117], dl
add rcx, 0x10
mov qword [rsp + 0x118], rcx
cmp eax, 0x1ca4c1c1
je 0x140099502
mov al, byte [rsp + 0x117]
test al, 1
jne 0x1400995ec
jmp 0x1400995a1
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
mov rdx, rax
add rdx, 8
mov qword [rsp + 0xe0], rdx
add rax, 0x28
mov qword [rsp + 0xe8], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0xf0], rax
xor eax, eax
mov qword [rsp + 0xf8], rax
jmp 0x14009977e
mov rdx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x118]
mov rcx, qword [rcx]
mov r8, rax
add r8, 8
mov qword [rsp + 0xb8], r8
add rax, 0x28
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rdx
cmp rax, rcx
jge 0x140099740
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x128]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0xa0], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400996d2
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa0]
movabs rax, 0x490c7eef65ec1958
movabs r8, 0xb6f381109a13e6a7
xor rax, r8
add rdx, rax
call fcn.140013c92
jmp 0x14009a00b
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
call fcn.14001cdab
mov rcx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x100]
add rcx, 1
and rcx, qword [r8]
add rax, 1
mov rdx, qword [rdx]
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jmp 0x14009963c
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x100]
movabs r8, 0x2eca1b347714fc26
movabs r9, 0x2eca1b347714fc26
xor r8, r9
mov qword [rdx], r8
mov rcx, qword [rcx]
mov qword [rax + 0x18], rcx
jmp 0x14009a00b
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x98], rax
cmp rax, rcx
jne 0x1400997db
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x128]
add rax, 0x18
mov qword [rsp + 0x80], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x88], rax
xor eax, eax
mov qword [rsp + 0x90], rax
jmp 0x1400999c4
mov rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x118]
mov rcx, qword [rax]
mov qword [rsp + 0x70], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140099829
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffff
call fcn.140013c92
jmp 0x14009a00b
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
call fcn.14001cdab
mov rax, qword [rsp + 0x118]
mov rdx, qword [rax]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x68], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
or rax, rax
xor rax, 0xffffffffffffffff
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x4bf5c494192cc0b3
movabs rdx, 0x4bf5c494192cc0b3
xor rcx, rdx
cmp rax, rcx
jge 0x140099969
mov eax, dword [0x1401f7748]
and eax, dword [0x1401f774c]
xor eax, 0x11740d35
and eax, 0x2d2ba524
mov ecx, 0x8c523813
xor ecx, 0xb6c767ca
add eax, ecx
mov ecx, 0x731161a0
xor ecx, 0x114f20c9
add eax, ecx
sub eax, 0x3a955fd9
mov ecx, 0x48e40ab1
xor ecx, 0xa5216796
cmp eax, ecx
je 0x14009a027
mov eax, dword [0x1401f7750]
imul eax, dword [0x1401f7754]
mov ecx, 0x7bc00b40
xor ecx, 0xcd22da4b
mov edx, 0xc078e837
xor edx, 0x3f8717c8
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xc198a041
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x39a62ad4
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [rsp + 0x64], eax
mov eax, 0x5410572e
xor eax, 0xd5b4802f
mov dword [rsp + 0x60], eax
call fcn.140009cc0
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x64]
cmp eax, ecx
jae 0x14009a027
jmp 0x14009a00b
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x118]
mov r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xe8]
mov rdx, qword [rdx]
mov r8, rdx
add r8, 1
xor rdx, 0xffffffffffffffff
or rdx, r9
add rdx, r8
mov qword [rcx], rdx
movabs rcx, 0x99e1ba682473863
movabs rdx, 0x99e1ba682473862
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0xf8], rax
jmp 0x14009977e
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x58], rax
mov ecx, dword [0x1401f7758]
sub ecx, dword [0x1401f775c]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x10053844
mov edx, 0x8660beb3
xor edx, 0x966586f7
mov r8d, 0xf0cba78a
xor r8d, 0xf345875
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x1bac9ae0
xor edx, edx
div ecx
mov ecx, 0x41e8332d
xor ecx, 0xbe17ccd2
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x7af020ac
mov edx, 0xffffffff
xor edx, 0x45acd90
or eax, ecx
mov ecx, 0x7636abd5
xor ecx, 0x726c6645
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x20e0dbef
xor ecx, 0x19d14e51
cmp eax, ecx
jae 0x14009a030
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x88]
mov r10d, dword [0x1401f7760]
xor r10d, 0xb67de381
xor r10d, dword [0x1401f7764]
mov r9d, 0xd6c28da2
xor r9d, 0x187c2ba0
mov eax, 0x6d320aa
xor eax, 0xf92cdf55
xor r9d, eax
mov r8d, r10d
and r8d, r9d
mov eax, r10d
or eax, r9d
mov r9d, 0xc8b13b73
xor r9d, 0x374ec48c
xor eax, r9d
imul eax, r8d
mov r9d, 0x5d79d60d
xor r9d, 0x93c7700f
mov r8d, r10d
and r8d, r9d
or r10d, 0xcebea602
imul r10d, r8d
add r10d, eax
mov r8d, 0x54cac555
xor r8d, 0xab353aaa
mov eax, r10d
xor eax, r8d
and eax, 0xede41e2d
mov r9d, 0xffffffff
xor r9d, 0xede41e2d
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0xe0c97043
and r8d, 0xede41e2d
and r9d, 0xe0c97043
or eax, r10d
or r8d, r9d
xor eax, r8d
mov r8d, 0xb6d0699c
xor r8d, 0x37ff21b1
or eax, r8d
cmp rcx, rdx
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0xe9c8509
je 0x140099a59
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140099da4
jmp 0x140099b58
mov rax, qword [rsp + 0x80]
mov r8, qword [rax]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rsp + 0x48], rax
mov rcx, rax
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov rdx, r8
or rdx, rdx
movabs r9, 0xb94bfa8e1db7f842
movabs r10, 0x46b40571e24807bd
xor r9, r10
xor rdx, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0xf521ef09d72ccfba
movabs rdx, 0xade10f628d33045
xor r9, rdx
mov rdx, rax
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
movabs rdx, 0xef88ef70482544cd
movabs r8, 0x1077108fb7dabb32
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x6c5a7251bcd41fb4
movabs r8, 0x6c5a7251bcd41fb4
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140099c14
jmp 0x140099c1e
call fcn.140009cc0
jmp 0x14009a00b
mov rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
and rcx, rax
mov qword [rsp + 0x38], rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140099c87
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
movabs rax, 0xe256ea2f0ea45dac
movabs r8, 0x1da915d0f15ba253
xor rax, r8
add rdx, rax
call fcn.140013c92
jmp 0x14009a00b
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
call fcn.14001cdab
mov rax, qword [rsp + 0x80]
mov r8, qword [rax]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
movabs rdx, 0x210a45917aec9192
movabs r8, 0x210a45917aec9192
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
xor al, 0xff
mov r8b, dl
xor r8b, 0xff
or al, r8b
and cl, dl
xor cl, 0xff
xor al, 0xff
xor edx, edx
xor dl, 1
xor cl, dl
or al, cl
test al, 1
jne 0x140099d20
jmp 0x140099d2a
call fcn.140009cc0
jmp 0x14009a00b
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov r9, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xe8]
mov rdx, qword [rdx]
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r10, 0x1334fca3357687b6
xor r8, r10
or rdx, r9
movabs r9, 0x1334fca3357687b6
or r8, r9
xor rdx, 0xffffffffffffffff
and rdx, r8
mov qword [rcx], rdx
movabs rcx, 0x8b3d75c33bc1d82d
movabs rdx, 0x8b3d75c33bc1d82c
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x1400999c4
mov ecx, dword [0x1401f7768]
mov edx, dword [0x1401f776c]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xb7f325d8
xor r9d, 0x480cda27
mov r8d, ecx
xor r8d, r9d
or eax, r8d
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, 0x85fe0018
xor edx, 0x7a01ffe7
mov ecx, eax
xor ecx, edx
mov edx, 0x6a9de20e
xor edx, 0xfcd7f01c
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x964a1212
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x83bd4d73
xor r8d, 0x15f75f61
mov edx, eax
and edx, r8d
or eax, 0x964a1212
imul eax, edx
add eax, ecx
or eax, 0xcd5dca7
mov ecx, 0x8a96370a
xor ecx, 0x45361aa4
or eax, ecx
cmp eax, 0xb05c6084
jb 0x14009a039
mov r9, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x100]
mov edx, dword [0x1401f7770]
xor edx, 0xce209955
mov r8d, dword [0x1401f7774]
mov eax, edx
and eax, r8d
mov r10d, 0x6e4e243
xor r10d, 0xf91b1dbc
xor eax, r10d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xdf54d56c
xor r8d, 0x150da772
and r8d, edx
mov r10d, 0xffffffff
xor r10d, 0xca59721e
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, 0xca59721e
or eax, 0xca59721e
imul eax, r8d
add eax, edx
and eax, 0xff80caf4
mov r8d, 0x2519bfc5
xor r8d, 0xdf51f44f
xor edx, edx
div r8d
mov r8, qword [rcx]
mov rcx, r9
xor rcx, 0xffffffffffffffff
mov r10, r8
add r10, rcx
add r10, 1
mov qword [rsp + 0x20], r10
mov rdx, r10
xor rdx, 0xffffffffffffffff
mov rcx, r8
and rcx, rdx
movabs rdx, 0x85b968efd438c364
movabs r11, 0x7a4697102bc73c9b
xor rdx, r11
xor r8, rdx
mov rdx, r10
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
mov rdx, r10
xor rdx, 0xffffffffffffffff
movabs r8, 0x8b3f649838568772
and rdx, r8
movabs r11, 0xc198c386a41953a6
movabs r8, 0x4aa7a71e9c4fd4d4
xor r11, r8
movabs r8, 0x4180a6c976121263
movabs rsi, 0xbe7f593689eded9c
xor r8, rsi
xor r11, r8
and r10, r11
movabs rsi, 0xc94107fc27627a51
movabs r8, 0x36bef803d89d85ae
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x70dfe57cabadc906
movabs rdi, 0xfbe081e493fb4e74
xor rsi, rdi
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rsp + 0x2f], cl
cmp eax, 0xf2d8cbfa
jae 0x140099e4c
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140099ff1
jmp 0x140099ffb
call fcn.140009cc0
jmp 0x14009a00b
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x20]
mov qword [rax], rcx
add rsp, 0x148
pop rdi
pop rsi
ret
invalid
invalid
test byte [rdi - 0x29], 0x47
jmp 0x1400998f9
mov al, 0x77
jmp 0x140099a59
in al, 0xd8
sub cl, ah
jmp 0x140099e4c