Function at 0x140130680
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x240
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x1e0], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x1e8]
add rax, 0x60
mov qword [rsp + 0x1f0], rax
mov rax, rcx
add rax, 8
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x200], rcx
mov rax, rdx
add rax, 8
mov qword [rsp + 0x208], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x210], rax
mov rdx, rcx
sub rdx, rax
sete r8b
test rcx, rcx
sete cl
mov dl, r8b
and dl, cl
add cl, r8b
sub cl, dl
test cl, 1
mov qword [rsp + 0x218], rax
jne 0x140130774
mov rax, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x200]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x218], rax
jne 0x140130774
mov rcx, qword [rsp + 0x200]
call fcn.14001a7c0
mov rax, qword [rsp + 0x208]
mov rax, qword [rax]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x218]
mov r9, qword [rax]
mov qword [rcx], r9
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x10
mov qword [rsp + 0x1a8], rdx
mov rdx, rcx
add rdx, 0x18
mov qword [rsp + 0x1b0], rdx
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x1b8], rcx
mov rdx, rax
add rdx, 0x10
mov qword [rsp + 0x1c0], rdx
mov rdx, rax
add rdx, 0x18
mov qword [rsp + 0x1c8], rdx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1d0], rax
cmp rcx, rax
sete dl
cmp rcx, 0
sete cl
or cl, dl
test cl, 1
mov qword [rsp + 0x1d8], rax
jne 0x140130860
mov rax, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1b8]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0x1d8], rax
jne 0x140130860
mov rcx, qword [rsp + 0x1b8]
call fcn.14001a7c0
mov rax, qword [rsp + 0x1c8]
mov rax, qword [rax]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x1a0], rax
mov eax, dword [0x1402afd90]
mov edx, dword [0x1402afd94]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0x311ccb22
xor ecx, 0x3d75e936
xor edx, edx
div ecx
and eax, 0x282aee23
sub eax, 0x5a198cec
mov ecx, 0xc849cce9
xor ecx, 0xafc618ac
sub eax, ecx
add eax, 0x5a198cec
cmp eax, 0x2f5418bc
jb 0x1401314d8
mov r8, qword [rsp + 0x1e8]
mov r9, qword [rsp + 0x1b0]
mov r10, qword [rsp + 0x1a0]
mov r11, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1c0]
mov eax, dword [0x1402afd98]
xor eax, 0xf03297f1
xor edx, edx
div dword [0x1402afd9c]
mov ecx, 0x4df4aaee
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x1e0]
mov ecx, eax
mov eax, ecx
xor eax, 0x264f282b
mov edi, 0xffffffff
xor edi, 0x264f282b
and ecx, edi
shl ecx, 1
sub ecx, eax
mov edi, 0xffffffff
xor edi, 0xcf2b85ac
mov eax, ecx
xor eax, edi
and eax, ecx
mov ecx, 0xbf5dd5e
xor ecx, 0x1513ad03
mov rsi, qword [rsi]
mov qword [r11], rsi
mov qword [r9], r10
mov r9, rdx
add r9, 0x20
mov qword [rsp + 0x168], r9
mov r9, rdx
add r9, 0x28
mov qword [rsp + 0x170], r9
mov rdx, qword [rdx + 0x28]
mov qword [rsp + 0x178], rdx
mov r9, r8
add r9, 0x20
mov qword [rsp + 0x180], r9
mov r9, r8
add r9, 0x28
mov qword [rsp + 0x188], r9
mov r8, qword [r8 + 0x28]
mov qword [rsp + 0x190], r8
cmp rdx, r8
sete r9b
cmp rdx, 0
sete r8b
mov dl, r8b
and dl, r9b
xor r8b, r9b
or dl, r8b
mov byte [rsp + 0x19f], dl
cmp eax, ecx
je 0x1401314d8
mov rax, qword [rsp + 0x190]
mov cl, byte [rsp + 0x19f]
test cl, 1
mov qword [rsp + 0x160], rax
jne 0x140130a4b
jmp 0x1401309ec
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x178]
mov rcx, qword [rcx]
movabs rdx, 0xe15cbe11dbe0a090
movabs r8, 0xa15cbe11dbe0a090
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x160], rax
jne 0x140130a4b
mov rcx, qword [rsp + 0x178]
call fcn.14001a7c0
mov rax, qword [rsp + 0x188]
mov rax, qword [rax]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x170]
mov r9, qword [rsp + 0x168]
mov r10, qword [rsp + 0x180]
mov r8, qword [rsp + 0x160]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x30
mov qword [rsp + 0x128], rdx
mov rdx, rcx
add rdx, 0x38
mov qword [rsp + 0x130], rdx
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x138], rcx
mov rdx, rax
add rdx, 0x30
mov qword [rsp + 0x140], rdx
mov rdx, rax
add rdx, 0x38
mov qword [rsp + 0x148], rdx
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x150], rax
cmp rcx, rax
sete dl
cmp rcx, 0
sete cl
or cl, dl
test cl, 1
mov qword [rsp + 0x158], rax
jne 0x140130b5d
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x138]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0xbd1185d328c0f27
movabs r8, 0xbd1185d328c0f27
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x158], rax
jne 0x140130b5d
mov rcx, qword [rsp + 0x138]
call fcn.14001a7c0
mov rax, qword [rsp + 0x148]
mov rax, qword [rax]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x130]
mov r9, qword [rsp + 0x128]
mov r10, qword [rsp + 0x140]
mov r8, qword [rsp + 0x158]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x40
mov qword [rsp + 0xf0], rdx
mov rdx, rcx
add rdx, 0x48
mov qword [rsp + 0xf8], rdx
mov rcx, qword [rcx + 0x48]
mov qword [rsp + 0x100], rcx
mov rdx, rax
add rdx, 0x40
mov qword [rsp + 0x108], rdx
mov rdx, rax
add rdx, 0x48
mov qword [rsp + 0x110], rdx
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x118], rax
cmp rcx, rax
sete r11b
cmp rcx, 0
sete bl
mov cl, 1
xor cl, 0
mov dl, bl
xor dl, cl
mov r9b, r11b
xor r9b, 0xff
mov r8b, 1
xor r8b, 0
mov cl, dl
and cl, 0
and bl, r8b
mov r10b, r9b
and r10b, 0
and r11b, r8b
or cl, bl
or r10b, r11b
xor cl, r10b
or dl, r9b
xor dl, 0xff
or r8b, 0
and dl, r8b
or cl, dl
test cl, 1
mov qword [rsp + 0x120], rax
jne 0x140130e35
mov eax, dword [0x1402afda0]
mov edx, dword [0x1402afda4]
mov ecx, eax
add ecx, 1
mov r8d, 0x20128424
xor r8d, 0xdfed7bdb
xor eax, r8d
or eax, edx
add eax, ecx
mov ecx, 0x9856ded4
xor edx, edx
div ecx
mov ecx, 0x95c31cf8
xor edx, edx
div ecx
mov ecx, 0xd00e7432
xor ecx, 0x54a1f7ea
and eax, ecx
mov ecx, 0x66e4cd32
xor ecx, 0x818a817e
cmp eax, ecx
jae 0x1401314e1
mov rdx, qword [rsp + 0x100]
mov ecx, dword [0x1402afda8]
mov eax, 0x6c359be1
xor eax, 0xb5b78002
xor ecx, eax
mov r9d, dword [0x1402afdac]
mov eax, 0x18e8869e
xor eax, 0xe7177961
mov r10d, r9d
xor r10d, eax
mov r8d, ecx
and r8d, r10d
mov eax, ecx
or eax, r10d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, ecx
and r8d, r9d
or ecx, r9d
imul ecx, r8d
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xf8f26975
or eax, r8d
and ecx, 0xf8f26975
xor ecx, 0xffffffff
mov r8d, 0xde58a05e
xor r8d, 0x21a75fa1
xor eax, r8d
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x89c80acd
xor ecx, 0xd5ca98f1
xor eax, ecx
mov ecx, eax
and ecx, 0x19dee13d
mov r8d, 0xec3f271c
xor r8d, 0xec3f271e
imul ecx, r8d
mov r8d, 0x4c1ca449
xor r8d, 0x55c24574
xor eax, r8d
add eax, ecx
mov ecx, 0x72628a0d
xor ecx, 0xe6bd9699
mov rdx, qword [rdx]
or rdx, rdx
movabs r8, 0x932d47f926f55d01
movabs r9, 0x6cd2b806d90aa2fe
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
movabs r9, 0x4000000000000000
or r8, r9
movabs r9, 0x84aabeb42059a9a2
movabs r10, 0x7b55414bdfa6565d
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x2279d828e10f7995
movabs r9, 0x2279d828e10f7995
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rsp + 0xef], dl
cmp eax, ecx
je 0x140130ca0
mov rax, qword [rsp + 0x118]
mov cl, byte [rsp + 0xef]
test cl, 1
mov qword [rsp + 0x120], rax
jne 0x140130e15
jmp 0x140130e35
mov rcx, qword [rsp + 0x100]
call fcn.14001a7c0
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0xf8]
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0x108]
mov r8, qword [rsp + 0x120]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x50
mov qword [rsp + 0xb0], rdx
mov rdx, rcx
add rdx, 0x58
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rcx + 0x58]
mov qword [rsp + 0xc0], rcx
mov rdx, rax
add rdx, 0x50
mov qword [rsp + 0xc8], rdx
mov rdx, rax
add rdx, 0x58
mov qword [rsp + 0xd0], rdx
mov rax, qword [rax + 0x58]
mov qword [rsp + 0xd8], rax
cmp rcx, rax
sete r8b
cmp rcx, 0
sete dl
mov cl, dl
or cl, r8b
xor r9d, r9d
xor r9b, 1
xor cl, r9b
xor dl, 0xff
xor r8b, 0xff
and dl, r8b
or cl, dl
xor cl, 0xff
test cl, 1
mov qword [rsp + 0xe0], rax
jne 0x140131062
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xc0]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rsp + 0xe0], rax
jne 0x140131062
mov ecx, dword [0x1402afdb0]
mov r8d, dword [0x1402afdb4]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov eax, 0xc63a7ec4
xor eax, 0x39c5813b
mov r9d, r8d
xor r9d, eax
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xab1a4005
xor ecx, 0xab1a4005
or eax, ecx
xor eax, 0x6b81836
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4f4f949d
mov r8d, 0xffffffff
xor r8d, 0x4f4f949d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x27814e6
xor r8d, 0x4d37807b
mov edx, eax
and edx, r8d
or eax, 0x4f4f949d
imul eax, edx
add eax, ecx
cmp eax, 0xcc03fa94
jae 0x1401314ea
mov rcx, qword [rsp + 0xc0]
mov eax, dword [0x1402afdb8]
mov r8d, dword [0x1402afdbc]
xor edx, edx
sub edx, eax
mov eax, 0x511e21b8
xor eax, 0x511e21b8
sub eax, r8d
add edx, eax
mov eax, 0x4964b869
xor eax, 0x4964b869
sub eax, edx
mov r8d, 0xf29db468
xor r8d, 0x3593c1cd
xor edx, edx
div r8d
imul eax, eax, 0xd696ae07
mov r8d, 0xfadcfba4
xor edx, edx
div r8d
mov dword [rsp + 0xa4], eax
call fcn.14001a7c0
mov rcx, qword [rsp + 0xd0]
mov eax, dword [rsp + 0xa4]
mov rcx, qword [rcx]
mov qword [rsp + 0xa8], rcx
cmp eax, 0x85ff1ad3
jae 0x1401314ea
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xe0], rax
jmp 0x140131062
mov rcx, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xe0]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rax
add rdx, 0x60
mov qword [rsp + 0x78], rdx
mov rdx, rax
add rdx, 0x68
mov qword [rsp + 0x80], rdx
mov rax, qword [rax + 0x68]
mov rdx, rcx
add rdx, 0x60
mov qword [rsp + 0x88], rdx
mov rdx, rcx
add rdx, 0x68
mov qword [rsp + 0x90], rdx
cmp rax, qword [rcx + 0x68]
mov qword [rsp + 0x98], rax
je 0x140131126
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov qword [rsp + 0x230], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x238], rax
lea rcx, [rsp + 0x230]
call fcn.14002fc40
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
mov eax, dword [0x1402afdc0]
mov r8d, dword [0x1402afdc4]
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 ecx, 0xb9de3c65
xor ecx, 0xbc5ac46b
imul eax, ecx
and eax, 0xd5db8f91
mov ecx, 0xf3046bb2
xor ecx, 0x2d9ab0ce
xor eax, ecx
cmp eax, 0xbeb46c61
jb 0x1401314f3
mov r8, qword [rsp + 0x1e8]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
mov eax, dword [0x1402afdc8]
mov ecx, 0x85a6bafd
xor ecx, 0x67e40d11
xor eax, ecx
mov ecx, dword [0x1402afdcc]
xor ecx, 0xe5337963
or eax, ecx
mov ecx, 0x152e9a36
xor ecx, 0x9b94994e
xor edx, edx
div ecx
mov ecx, 0x4deb200b
xor ecx, 0x39a19a29
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x1e0]
or eax, 0xf76b807d
mov ecx, 0x8ff191f8
xor ecx, 0xa0a597e2
mov rsi, qword [rsi]
mov qword [r11], rsi
mov qword [r9], r10
mov r9, rdx
add r9, 0x70
mov qword [rsp + 0x40], r9
mov r9, rdx
add r9, 0x78
mov qword [rsp + 0x48], r9
mov rdx, qword [rdx + 0x78]
mov qword [rsp + 0x50], rdx
mov r9, r8
add r9, 0x70
mov qword [rsp + 0x58], r9
mov r9, r8
add r9, 0x78
mov qword [rsp + 0x60], r9
cmp rdx, qword [r8 + 0x78]
sete dl
mov byte [rsp + 0x6f], dl
cmp eax, ecx
jb 0x14013117e
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x6f]
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x1401313eb
jmp 0x140131268
mov ecx, dword [0x1402afdd0]
xor ecx, 0x5c9e34dc
mov edx, dword [0x1402afdd4]
mov eax, 0x592745b3
xor eax, 0x675930ef
xor edx, eax
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0xbe43d6f6
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x510fdef6
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xf4cfeb15
mov edx, 0xffffffff
xor edx, 0xf4cfeb15
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x42b0a88e
jbe 0x1401314fc
mov rax, qword [rsp + 0x40]
mov edx, dword [0x1402afdd8]
xor edx, dword [0x1402afddc]
mov ecx, 0xffffffff
xor ecx, 0xcc52b3ff
add edx, ecx
mov ecx, 0xcb1762d9
xor ecx, 0xcb1762d8
add edx, ecx
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xf1e5f588
mov r9d, 0x1d734ed
xor r9d, 0xf032c165
mov ecx, 0xfe04f602
xor ecx, 0x1fb09fd
xor r9d, ecx
mov ecx, edx
and ecx, r9d
imul ecx, r8d
mov r8d, edx
and r8d, 0xf1e5f588
or edx, 0xf1e5f588
imul edx, r8d
add edx, ecx
mov ecx, 0x6ee6c06a
xor ecx, 0x91193f95
mov r8d, edx
xor r8d, ecx
mov ecx, 0x8a062b91
xor ecx, 0xa40b4e46
and ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x2e0d65d7
and edx, r8d
or ecx, edx
mov dword [rsp + 0x30], ecx
mov ecx, 0x3362a662
xor ecx, 0xdfba697f
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rax]
mov qword [rsp + 0x220], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x228], rax
lea rcx, [rsp + 0x220]
call fcn.140088abb
mov rdx, qword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
jae 0x1401312d0
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1401313de
jmp 0x140131408
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov r8, qword [r8]
mov qword [rdx], r8
mov qword [rax], rcx
mov eax, dword [0x1402afde0]
xor edx, edx
div dword [0x1402afde4]
mov ecx, eax
and ecx, 0xd6423f6c
xor ecx, 0xffffffff
add eax, 0xd6423f6c
add eax, 1
add eax, ecx
or eax, 0xa512338f
mov ecx, 0x7bc09472
xor edx, edx
div ecx
mov ecx, 0xaf0e22ff
xor ecx, 0x7eba2234
cmp eax, ecx
ja 0x140131505
mov ecx, dword [0x1402afde8]
xor ecx, 0xe1a8db8b
mov edx, dword [0x1402afdec]
xor eax, eax
sub eax, edx
add ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov eax, 0xcfa2b191
xor eax, 0x61fda3d
mov edx, 0x645744fc
xor edx, 0x9ba8bb03
xor eax, edx
mov edx, 0xd579ab18
xor edx, 0x1cc4c0b4
mov r8d, 0x98119de5
xor r8d, 0x67ee621a
xor edx, r8d
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xf21c077c
mov edx, 0xbec2fd7e
xor edx, 0x4cdefa02
or ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0xb71e9dda
sub eax, ecx
cmp eax, 0xfd622bfa
ja 0x140131505
add rsp, 0x240
pop rbx
pop rdi
pop rsi
ret
push rdi
mov esi, 0xdce9aebf
invalid
mov rbx, qword [rcx + 0x26]
jmp 0x140130ca0
or cl, byte [rax - 0x2d16e9b9]
cli
invalid
cdq
xchg ebp, eax
int1
push rcx
jmp 0x14013117e
xor dword [rax - 0x3416fa7c], eax
std
invalid
fcom dword [rcx]
or byte [rsi - 0xc117], bl
jmp qword [rsi - 0x70]