Function at 0x140058430
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rcx
mov eax, 0x10
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.14004b700
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x38], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x40], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
movabs rdx, 0x52c5fe1bed3d559
movabs rax, 0x52c5fe1bed3d55b
xor rdx, rax
lea r8, [rbp + 0x68]
sub rsp, 0x20
call fcn.14004c6b0
add rsp, 0x20
test al, 1
jne 0x1400584c6
jmp 0x1400584d8
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140058ccc
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x20], rax
cmp rax, 0
jge 0x14005852e
mov rcx, qword [rbp + 0x20]
movabs rdx, 0x455f100078e8f94d
movabs rax, 0x455f100078e8f94d
xor rdx, rax
movabs r8, 0x87e252a12da3c58a
movabs rax, 0xf81dad5ed25c3a75
xor r8, rax
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x140058ccc
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140025d41
mov r9, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov r8, qword [r9]
mov qword [rbp], r8
mov rcx, r9
add rcx, 8
mov qword [rbp + 8], rcx
mov rcx, qword [r9 + 8]
mov r10, qword [rdx]
mov qword [r9], r10
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov qword [rdx], r8
mov qword [rax], rcx
lea rax, [rbp + 0x58]
add rax, 8
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rbp + 0x18], rax
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x18]
mov qword [rbp - 8], rax
cmp rax, rcx
jge 0x140058b75
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x30]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x10], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005861e
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov rax, rdx
and rax, 0xffffffffffffffff
movabs r8, 0xa4d6d6d00906e3ea
movabs r9, 0xa4d6d6d00906e3e8
xor r8, r9
imul rax, r8
movabs r8, 0xbe57306b0cf7452d
movabs r9, 0x41a8cf94f308bad2
xor r8, r9
xor rdx, r8
add rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140058ccc
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp - 0x20], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x11], al
or al, cl
test al, 1
jne 0x140058a04
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x38], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x30], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400586bf
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140058ccc
mov eax, dword [0x140202b40]
mov edx, dword [0x140202b44]
xor edx, 0xd244e50f
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
mov ecx, 0xa0d755db
xor edx, edx
div ecx
mov ecx, 0x6b401184
xor ecx, 0x94bfee7b
xor eax, ecx
mov edx, 0x5e4fe9dd
xor edx, 0xe4ad2f6b
mov ecx, 0xec678d47
xor ecx, 0x139872b8
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x3787cc26
or eax, edx
or ecx, 0x3787cc26
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xdfb6694c
xor ecx, 0xd824af39
xor eax, ecx
cmp eax, 0x26315ea8
je 0x140058db4
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp + 8]
mov ecx, dword [0x140202b48]
xor ecx, 0x760921d3
mov eax, dword [0x140202b4c]
xor eax, 0x8e0ab85
and ecx, eax
mov eax, ecx
or eax, 0xfb442598
mov r9d, 0xc78ab81a
xor r9d, 0x387547e5
xor eax, r9d
xor ecx, 0xffffffff
mov r9d, 0x8577b45d
xor r9d, 0x7e3391c5
mov r10d, 0xbbf0e1a8
xor r10d, 0x440f1e57
xor r9d, r10d
and ecx, r9d
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov r10d, 0xffffffff
xor r10d, 0x148c46e6
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
mov r10d, 0xc2cc47bd
xor r10d, 0x3d33b842
xor ecx, r10d
imul ecx, r9d
mov r9d, eax
and r9d, 0x148c46e6
mov r10d, 0xa876a38d
xor r10d, 0xbcfae56b
or eax, r10d
imul eax, r9d
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x67766c20
xor ecx, 0xa58306ef
mov r9d, 0xfefb0f33
xor r9d, 0x3c0e65fc
or ecx, r9d
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7489bf2d
xor ecx, 0x312538f4
mov rdx, qword [rdx]
add rdx, 8
shl r8, 5
add rdx, r8
mov rdx, qword [rdx]
movabs r8, 0x3c4690270c33ea5c
movabs r9, 0x3c4690270c33ea5c
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x39], dl
cmp eax, ecx
je 0x140058db4
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140058894
jmp 0x140058865
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14004c879
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x28], rax
je 0x140058678
jmp 0x140058ccc
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x1400588ca
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140058ccc
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140011160
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x14005894c
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x50]
movabs rax, 0x69b61dab18fbd9d5
movabs r8, 0x9649e254e704262a
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x140058ccc
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.140137e82
mov r11, qword [rbp - 0x60]
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x28]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp - 0x20]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp + 0x58], r11
mov qword [rcx], r8
lea r8, [rbp + 0x58]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400582a9
mov rax, qword [rbp + 0x38]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140058ccc
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x140058ae1
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140058ae1
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
jmp 0x140058ae1
mov ecx, dword [0x140202b50]
mov edx, dword [0x140202b54]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0xefd60483
mov ecx, 0x430e5958
xor edx, edx
div ecx
add eax, 0xd7784fcd
mov ecx, 0xbbd6b119
xor ecx, 0xde5b2e6a
cmp eax, ecx
jb 0x140058dbd
mov eax, dword [0x140202b58]
mov edx, dword [0x140202b5c]
mov ecx, 0x4175aa9a
xor ecx, 0x4175aa9a
sub ecx, edx
sub eax, ecx
mov edx, 0x78853f06
xor edx, 0xeb0c3454
mov ecx, eax
xor ecx, edx
mov edx, 0xc10cd4c0
xor edx, 0x3ef32b3f
xor ecx, edx
or eax, 0x93890b52
and eax, ecx
mov ecx, 0x7b627064
xor ecx, 0xda2743db
sub eax, ecx
mov ecx, 0xbc1fc2d1
xor edx, edx
div ecx
cmp eax, 0xbb00dbe7
ja 0x140058a64
mov rcx, qword [rbp - 8]
mov dl, byte [rbp - 0x11]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x140058b5c
jmp 0x140058ae1
mov r8, qword [rbp - 8]
xor eax, eax
sub rax, r8
xor ecx, ecx
sub rcx, 1
add rax, rcx
movabs rcx, 0xe7febba320a40bb1
movabs rdx, 0xe7febba320a40bb1
xor rcx, rdx
sub rcx, rax
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, r8
xor rax, 0xffffffffffffffff
or rdx, rax
mov rax, rcx
and rax, r8
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
or rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jge 0x140058b5c
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140058ccc
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp + 0x18], rax
jne 0x14005858b
jmp 0x140058ccc
mov eax, dword [0x140202b60]
mov r8d, dword [0x140202b64]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xafedfc7e
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x98d15df9
mov edx, 0xffffffff
xor edx, 0xde7888af
mov eax, ecx
and eax, 0xde7888af
and r11d, edx
mov r9d, r8d
and r9d, 0xde7888af
mov r10d, 0xc9fc652d
xor r10d, 0x512d38d4
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xde7888af
and ecx, edx
or eax, ecx
mov ecx, 0x7e53b0e6
xor edx, edx
div ecx
mov ecx, 0x45a558ab
xor ecx, 0x6e319e2e
cmp eax, ecx
jae 0x140058dc6
mov rax, qword [rbp + 0x30]
mov r8d, dword [0x140202b68]
and r8d, dword [0x140202b6c]
mov ecx, 0xf63023a3
xor ecx, 0x82caec28
or r8d, ecx
mov ecx, 0xb3aad51d
xor ecx, 0xa4e13005
sub r8d, ecx
mov ecx, 0x3b70dbff
xor ecx, 0x5c13295f
mov edx, r8d
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x6763f2a0
and r8d, ecx
mov ecx, 0x106bea40
xor ecx, 0x106bea42
imul ecx, r8d
sub ecx, edx
mov dword [rbp - 0x7c], ecx
mov ecx, 0x1154a035
xor ecx, 0x446c86f6
mov dword [rbp - 0x80], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.1400526c0
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, ecx
jb 0x140058dc6
jmp 0x140058ccc
mov eax, dword [0x140202b70]
xor eax, 0x943d07bc
mov ecx, dword [0x140202b74]
mov edx, 0x826ec079
xor edx, 0x8ad7f961
xor ecx, edx
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xba4b98a2
mov r8d, 0xdd888275
xor r8d, 0x67c31ad7
mov ecx, 0x484eda56
xor ecx, 0xb7b125a9
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xba4b98a2
mov r8d, 0xa6baf4f4
xor r8d, 0x1cf16c56
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x9afc4e68
xor edx, edx
div ecx
add eax, 0x8ffab34e
mov ecx, 0xc5885630
xor ecx, 0x1375dd3d
jne 0x140058d63
add eax, ecx
mov ecx, 0xa4ac3f32
xor ecx, 0x2b568c7c
sub eax, ecx
cmp eax, 0x6591e211
jbe 0x140058dcf
jbe 0x140058dcf
mov eax, dword [0x140202b78]
xor eax, 0x34634d5f
mov edx, dword [0x140202b7c]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xdbeceda3
add eax, ecx
imul eax, eax, 0xea3448f5
sub eax, 0x10388949
cmp eax, 0x71918dd8
ja 0x140058d6a
lea rsp, [rbp + 0x70]
pop rbp
ret
invalid
jae 0x140058d4e
add dword [rdx - 0x36117], esp
invalid
jmp 0x1297433c1
js 0x140058da8
adc eax, 0xff92e9bf
invalid