Function at 0x140035530
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], r8
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rcx
mov eax, dword [0x1401f4960]
mov ecx, dword [0x1401f4964]
xor ecx, 0xe2204477
imul eax, ecx
mov ecx, 0x30e33c8d
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1627a43b
and eax, edx
xor ecx, 0xffffffff
mov edx, 0x43496018
xor edx, 0x556ec423
mov r8d, 0xf6cf53e4
xor r8d, 0x930ac1b
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
and eax, 0x7520158
mov ecx, 0xe57837f9
xor ecx, 0x4e70910f
cmp eax, ecx
jae 0x140035e9a
mov eax, dword [0x1401f4968]
xor eax, 0xcf9bac59
mov ecx, dword [0x1401f496c]
imul eax, ecx
add eax, 0xa9f737b9
and eax, 0x8fff7588
add eax, 0x1ae1a4de
mov dword [rbp + 0x44], eax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400354a1
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x44]
mov qword [rbp + 0x48], rdx
cmp rcx, 0
setg cl
mov byte [rbp + 0x57], cl
cmp eax, 0xa7962127
jbe 0x140035e9a
mov dl, byte [rbp + 0x57]
mov rcx, 0xffffffffffffffff
xor eax, eax
test dl, 1
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jne 0x14003565e
jmp 0x1400356b0
mov rax, qword [rbp + 0x68]
mov dl, byte [rax]
mov byte [rbp + 0x17], dl
mov rcx, 0xffffffffffffffff
mov eax, 1
cmp dl, 0x2b
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
je 0x1400356b0
mov r8b, byte [rbp + 0x17]
cmp r8b, 0x2d
sete al
mov rcx, 0xffffffffffffffff
mov edx, 1
cmp r8b, 0x2d
cmove rcx, rdx
and al, 1
movzx eax, al
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
mov qword [rbp - 8], rcx
mov qword [rbp], rax
xor eax, eax
cmp rcx, rdx
mov qword [rbp + 8], rax
jge 0x140035dbb
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp - 8]
mov cl, byte [rax + rcx]
sub cl, 0xad
add cl, 0xd0
add cl, 0xad
mov dl, 0x24
xor dl, 0x2e
xor eax, eax
cmp cl, dl
mov qword [rbp + 8], rax
jae 0x140035dbb
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x58]
movabs rdx, 0x53078a7a90e0622d
movabs r8, 0x53078a7a90e0622d
xor rdx, r8
mov qword [rcx], rdx
mov qword [rbp - 0x10], rax
jmp 0x14003572d
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rax, rcx
jge 0x140035c04
mov rax, qword [rbp - 0x20]
cmp rax, 0xffffffffffffffff
jg 0x140035774
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x140035dbb
mov ecx, dword [0x1401f4970]
xor ecx, 0x7b7e3340
mov edx, dword [0x1401f4974]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
xor ecx, 0xffffffff
mov r8d, 0x98e131fb
xor r8d, 0x671ece04
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xea98114d
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x6f9eb70b
xor edx, 0x8d55daa2
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xe2cb6da9
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x7d4746c
xor ecx, 0x9d89b400
mov edx, 0x9ceeb5f1
xor edx, 0x63114a0e
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x9a5dc06c
and ecx, edx
or eax, ecx
mov ecx, 0x923e60db
xor ecx, 0x6dc19f24
xor eax, ecx
cmp eax, 0x9b6afdd
jb 0x140035ea3
mov rcx, qword [rbp + 0x68]
mov edx, dword [0x1401f4978]
mov r8d, dword [0x1401f497c]
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
xor eax, 0xf38f2fd9
mov r8d, 0xb927ff78
xor r8d, 0x13862421
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x20]
mov r8d, eax
and r8d, 0x10eccece
shl r8d, 1
xor eax, 0x10eccece
add eax, r8d
mov cl, byte [rcx + rdx]
mov byte [rbp - 0x22], cl
add cl, 0xd0
mov dl, 0x7c
xor dl, 0x76
cmp cl, dl
setb cl
mov byte [rbp - 0x21], cl
cmp eax, 0x25aeecf1
je 0x140035827
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1400358a4
jmp 0x140035c04
mov al, byte [rbp - 0x22]
movzx eax, al
mov ecx, eax
mov rax, rcx
add rax, 0xffffffffffffffd0
mov qword [rbp - 0x38], rax
movabs rax, 0x8000000000000030
movabs rdx, 0xee4cd5212c3c8ca6
sub rax, rdx
sub rax, rcx
movabs rcx, 0x9fcd31768e1d1d78
movabs rdx, 0x7181e457a22191de
xor rcx, rdx
add rax, rcx
movabs rcx, 0x364a9b4c55bd111b
movabs rdx, 0x364a9b4c55bd1111
xor rcx, rdx
xor edx, edx
div rcx
mov rdx, rax
mov rax, qword [rbp + 0x58]
xor ecx, ecx
sub rcx, rdx
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
cmp rax, rcx
jl 0x140035b44
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x30]
movabs rdx, 0x4644f7f540db4ef5
movabs rax, 0x4644f7f540db4eff
xor rdx, rax
sub rsp, 0x20
call fcn.140035ed0
add rsp, 0x20
test al, 1
jne 0x140035b2c
mov eax, dword [0x1401f4980]
xor edx, edx
div dword [0x1401f4984]
imul eax, eax, 0x9545a3f9
mov ecx, 0x3e01b1df
xor ecx, 0x795cf72
sub eax, ecx
mov ecx, eax
and ecx, 0x1622db27
mov edx, 0xcf382d08
xor edx, 0x30c7d2f7
xor ecx, edx
mov edx, 0x58b24cdc
xor edx, 0x4e9097fb
add eax, edx
add eax, 1
add eax, ecx
cmp eax, 0x23e2f893
jbe 0x140035eac
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x30]
mov edx, dword [0x1401f4988]
mov r9d, dword [0x1401f498c]
mov eax, 0x99fa7ada
xor eax, 0x23a79a22
xor r9d, eax
mov r10d, 0xa9bf93fa
xor r10d, 0x56406c05
mov eax, edx
xor eax, r10d
mov r10d, edx
xor r10d, 0xffffffff
or eax, r10d
and eax, r9d
xor eax, 0xffffffff
and r9d, r9d
xor r9d, 0xffffffff
xor edx, 0xffffffff
xor r9d, 0xffffffff
or edx, r9d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov r9d, 0x8ecb0091
xor edx, edx
div r9d
mov r9d, 0x31869917
xor r9d, 0x6007385f
xor edx, edx
div r9d
mov edx, eax
mov eax, edx
or eax, 0x513bbe5d
mov r9d, 0x68190063
xor r9d, 0x97e6ff9c
xor eax, r9d
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x513bbe5d
and edx, r9d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r10, qword [rcx]
movabs rdx, 0x5795acc1e2eb495f
movabs rcx, 0xa86a533e1d14b6a0
xor rdx, rcx
mov rcx, r10
xor rcx, rdx
and rcx, r8
mov r9, r8
xor r9, 0xffffffffffffffff
mov rdx, r10
and rdx, r9
sub rdx, rcx
mov qword [rbp - 0x48], rdx
mov rcx, rdx
or rcx, rcx
movabs r9, 0xa513f5ef86bc6206
movabs r11, 0x5aec0a1079439df9
xor r9, r11
xor rcx, r9
mov r9, r10
or r9, r9
xor r9, 0xffffffffffffffff
or rcx, r9
xor rcx, 0xffffffffffffffff
mov r9, rdx
or r9, r10
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
movabs r9, 0x898c95485cf8a52c
movabs r10, 0x898c95485cf8a52c
xor r9, r10
cmp rcx, r9
setl cl
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rbp - 0x39], cl
cmp eax, 0x9d9284ab
je 0x1400359aa
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140035b2c
jmp 0x140035b1c
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x48]
mov qword [rax], rcx
jmp 0x140035b64
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x140035dbb
sub rsp, 0x20
call fcn.1400354bc
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 8], rax
jne 0x140035dbb
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x60]
movabs r8, 0x39e390d2a8736061
movabs rcx, 0x39e390d2a8736061
xor r8, rcx
sub r8, rax
xor ecx, ecx
sub rcx, 1
add r8, rcx
movabs rcx, 0xe4fcf23234b219bf
movabs r9, 0xe4fcf23234b219bf
xor rcx, r9
sub rcx, r8
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x50]
add rcx, 1
mov qword [rbp - 0x60], rcx
cmp rcx, rdx
mov qword [rbp - 0x18], rax
jge 0x140035725
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x68]
mov cl, byte [rcx + rax]
mov dl, 0x99
xor dl, 0xc6
cmp cl, dl
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x50], rax
je 0x140035bbb
jmp 0x140035725
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp]
not rax
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
movabs rdx, 0x8000000000000000
xor rcx, rdx
or rax, rcx
sete al
test al, 1
jne 0x140035c36
jmp 0x140035cd1
mov ecx, dword [0x1401f4990]
xor ecx, 0xff3a74d1
mov edx, dword [0x1401f4994]
mov eax, 0x4af8384f
xor eax, 0xb507c7b0
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x42b4a07e
xor ecx, 0xc05ee146
sub eax, ecx
sub eax, 0x40969da5
imul eax, eax, 0xeab2e689
cmp eax, 0x75e23e4f
ja 0x140035eb5
mov ecx, dword [0x1401f4998]
mov edx, dword [0x1401f499c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
and eax, 0xd213548f
xor eax, 0x8a942188
mov ecx, 0x2dd4bd75
xor ecx, 0xc2262e78
sub eax, ecx
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.1400354bc
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, 0xd1501a4a
jb 0x140035c7d
xor eax, eax
mov qword [rbp + 8], rax
jmp 0x140035dbb
mov r8, qword [rbp + 0x38]
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140035ed0
add rsp, 0x20
test al, 1
jne 0x140035cf7
jmp 0x140035d0f
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x78], rax
jmp 0x140035db3
mov eax, dword [0x1401f49a0]
xor eax, dword [0x1401f49a4]
or eax, 0x629e572f
mov ecx, 0x607b8a4
xor ecx, 0x4e753d36
imul eax, ecx
sub eax, 0x731b05f4
mov ecx, 0xd4ece390
xor ecx, 0x75782f1c
cmp eax, ecx
jae 0x140035ebe
mov r8, qword [rbp + 0x38]
mov eax, dword [0x1401f49a8]
sub eax, dword [0x1401f49ac]
mov ecx, 0xd9ce5b8e
xor ecx, 0xfafdd5a8
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x58]
mov ecx, eax
xor ecx, 0x9de2468a
mov r9d, 0xb30db8b9
xor r9d, 0x4cf24746
xor ecx, r9d
or eax, 0x9de2468a
and eax, ecx
xor eax, 0x11740d35
mov ecx, 0x716cb441
xor ecx, 0x99635eaf
mov r8, qword [r8]
mov qword [rdx], r8
cmp eax, ecx
je 0x140035ebe
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x78], rax
jmp 0x140035db3
mov rax, qword [rbp - 0x78]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp - 0x80], rax
mov ecx, dword [0x1401f49b0]
mov edx, dword [0x1401f49b4]
mov eax, 0x4321f541
xor eax, 0xbcde0abe
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x4610ff62
xor ecx, 0x53464eaf
xor edx, edx
div ecx
mov ecx, 0x26981571
xor ecx, 0x28947a77
imul eax, ecx
mov ecx, 0x41698a90
xor ecx, 0xf78b5b9b
sub eax, ecx
cmp eax, 0x8994212d
jae 0x140035ec7
mov ecx, dword [0x1401f49b8]
xor ecx, 0x47cef008
xor ecx, dword [0x1401f49bc]
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0x97426ea9
add ecx, eax
mov eax, ecx
xor eax, 0x796a8c55
mov edx, 0xffffffff
xor edx, 0x796a8c55
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x10053844
xor eax, 0xffffffff
mov edx, 0x10053844
and edx, 0x10053844
xor edx, 0xffffffff
add eax, 0xfff28310
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb525200
xor ecx, 0xe7ce7e72
cmp eax, ecx
je 0x140035ec7
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0x70]
pop rbp
ret
jmp 0x129a7618c
cmc
jns 0x140035e6e
outsd dx, dword [rsi]
jmp 0x140035827
mov ecx, 0xe9150c3b
cmc
cli
invalid
pop rbp
fcmovbe st(0), st(6)
mov ebp, ecx
mov edi, 0xa8fffffd
vsqrtsd xmm13, xmm6, xmm1
test al, 0xc5
push r9
jmp 0x140035d46
jg 0x140035ec3
invalid
in eax, 8
nop
adc ecx, ebp
invalid