Function at 0x140058270
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 8], rax
mov eax, dword [0x140218c10]
and eax, dword [0x140218c14]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x2e06e0c4
xor edx, 0x75e544d5
or eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x418900c5
xor ecx, 0xffffffff
or eax, 0x418900c5
and eax, ecx
xor eax, 0x8bd0d7c6
mov ecx, 0x440aea32
xor ecx, 0x1bd1af30
cmp eax, ecx
jbe 0x14005891a
mov eax, dword [0x140218c18]
xor eax, 0xdb1c8ab1
mov ecx, dword [0x140218c1c]
or eax, ecx
imul rax, rax, 0x264a4cd3
shr rax, 0x3c
or eax, 0xe8a9c4e1
mov ecx, 0xafe1306d
imul rax, rcx
shr rax, 0x3f
mov dword [rbp - 0x44], eax
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.14004e61c
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x44]
mov qword [rbp - 0x40], rcx
test r8, r8
setns cl
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
sub rdx, r8
setg dl
and cl, dl
mov byte [rbp - 0x29], cl
cmp eax, 0x2fa3eb26
jae 0x14005891a
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400584c7
jmp 0x140058384
mov eax, dword [0x140218c20]
xor eax, 0x868a567c
mov ecx, dword [0x140218c24]
xor ecx, 0x391f0f73
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc0e8a871
mov r8d, 0xffffffff
xor r8d, 0xc0e8a871
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc0e8a871
or eax, 0xc0e8a871
imul eax, edx
add eax, ecx
add eax, 0xbb3e7c7e
sub eax, 0xab76c4cc
sub eax, 0xbb3e7c7e
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x386d15d6
mov edx, 0xffffffff
xor edx, 0x386d15d6
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x3844befa
jae 0x140058923
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x38]
mov r10d, dword [0x140218c28]
mov r9d, dword [0x140218c2c]
mov r8d, r10d
xor r8d, 0xffffffff
and r8d, 0x764a619e
mov r11d, 0xffffffff
xor r11d, 0x764a619e
and r10d, r11d
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x764a619e
and r9d, r11d
or r8d, r10d
or eax, r9d
xor r8d, eax
mov eax, 0x62afc58
xor eax, 0x26395bbc
sub r8d, eax
sub r8d, 0x30f87c14
add r8d, 0x2013a7e4
mov eax, r8d
and eax, 0x1be317e1
xor r8d, 0x1be317e1
or eax, r8d
imul eax, eax, 0x210441ed
mov dword [rbp - 0x54], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400153d3
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0xf56f4855
jae 0x140058923
jmp 0x140058913
mov ecx, dword [0x140218c30]
imul ecx, dword [0x140218c34]
mov edx, 0xead427b4
xor edx, 0x152bd84b
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x27474230
xor ecx, 0xd63fe30f
mov edx, 0x1a9aa4c7
xor edx, 0xebe205f8
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xc9203044
xor ecx, ecx
sub ecx, 0x7cf1fce5
sub eax, ecx
mov ecx, 0xad09f0b
xor ecx, 0x9b645c69
cmp eax, ecx
jae 0x14005892c
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x20]
mov r9d, dword [0x140218c38]
mov esi, dword [0x140218c3c]
mov edi, esi
xor edi, 0xffffffff
mov r11d, r9d
and r11d, edi
mov r10d, r9d
or r10d, edi
mov edi, 0xe42b6ae4
xor edi, 0x1bd4951b
xor r10d, edi
imul r10d, r11d
mov r11d, r9d
and r11d, esi
or r9d, esi
imul r9d, r11d
add r9d, r10d
imul r9d, r9d, 0xbba34574
add r9d, 0x17d6ba10
add r9d, 0x88c1bb79
mov r10d, 0x3ea2c020
xor r10d, 0x29747a30
sub r9d, r10d
xor r9d, 0x7e3238e6
mov dword [rbp - 0x64], r9d
mov r9, rcx
add r9, 8
mov qword [rbp - 0x70], r9
mov rcx, qword [rcx + 8]
add rcx, 8
shl r8, 5
add rcx, r8
add rcx, 8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c4cf
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
cmp rcx, rdx
setg cl
mov byte [rbp - 0x55], cl
cmp eax, 0x5de66f60
jbe 0x14005892c
mov al, byte [rbp - 0x55]
test al, 1
jne 0x140058776
jmp 0x14005861a
mov ecx, dword [0x140218c40]
xor ecx, 0x9320bffe
add ecx, dword [0x140218c44]
mov eax, 0xa0c5be2a
xor eax, 0x8904e3bf
imul ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x8a51746a
xor edx, 0x75ae8b95
xor eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3e1404e3
or eax, edx
mov edx, 0xf6fb0e9f
xor edx, 0xc8ef0a7c
mov r8d, 0x85ac97f8
xor r8d, 0x7a536807
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x3e1404e3
or edx, r8d
mov r8d, 0xfd51c693
xor r8d, 0x2ae396c
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x3a248517
xor ecx, 0x115cf936
xor edx, edx
div ecx
cmp eax, 0x24b1bfff
ja 0x140058935
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x60]
mov edi, dword [0x140218c48]
mov esi, dword [0x140218c4c]
mov eax, 0x76c8d8e9
xor eax, 0x89372716
mov r8d, edi
xor r8d, eax
mov r10d, esi
xor r10d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xb0909146
mov eax, r8d
and eax, 0xb0909146
and edi, r9d
mov r11d, r10d
and r11d, 0xb0909146
and esi, r9d
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r10d
mov r10d, 0x4750790d
xor r10d, 0xb8af86f2
xor r8d, r10d
or r9d, 0xb0909146
and r8d, r9d
or eax, r8d
imul eax, eax, 0x8c78fe97
or eax, 0xda99484f
mov r8d, 0x21adc8a
xor r8d, 0x38e5a883
xor eax, r8d
mov dword [rbp - 0x74], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400153d3
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x833975aa
je 0x140058935
jmp 0x140058913
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x70]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
sub rsp, 0x20
call fcn.140169a50
mov rax, qword [rbp - 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140058913
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, rcx
jg 0x1400587f8
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x80]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x140058913
mov ecx, dword [0x140218c50]
mov eax, dword [0x140218c54]
xor eax, 0xb4fb9c79
imul ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x92b6f3fd
xor edx, 0x1c040deb
and eax, edx
xor eax, 0xffffffff
mov edx, 0x8eb2fe16
and edx, 0x8eb2fe16
mov r8d, 0x411b6b3d
xor r8d, 0xbee494c2
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x66999a56
xor edx, edx
div ecx
and eax, 0xce92d23a
mov ecx, 0xb99146cb
xor ecx, 0x968cf307
cmp eax, ecx
jae 0x14005893e
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x140218c58]
mov r11d, dword [0x140218c5c]
mov r10d, 0x746348eb
xor r10d, 0x8b9cb714
mov r9d, eax
xor r9d, r10d
mov r10d, r11d
and r10d, r9d
mov r9d, 0xdd262fc9
xor r9d, 0x22d9d036
mov esi, r11d
xor esi, r9d
mov r9d, eax
and r9d, esi
imul r9d, r10d
mov r10d, eax
and r10d, r11d
or eax, r11d
imul eax, r10d
add eax, r9d
xor eax, 0x45582133
sub eax, 0x72498c1e
sub eax, 0xcf9f244d
add eax, 0x72498c1e
mov r9d, eax
and r9d, 0xbf070b37
shl r9d, 1
xor eax, 0xbf070b37
add eax, r9d
mov rcx, qword [rcx]
add rcx, 8
shl r8, 5
add rcx, r8
mov qword [rcx], rdx
cmp eax, 0x753bf9bd
je 0x140058869
jmp 0x140058913
mov rsp, rbp
pop rdi
pop rsi
pop rbp
ret
cmp dword [rdi - 0x3716f160], ebx
stc
invalid
mov ah, 0xf
xor cl, bh
jmp 0x14005840e
xchg edi, eax
mov dh, 0x1f
cmp eax, 0xfffbf6e9
jmp [rdi + 0x42]
outsd dx, dword [rsi]
adc bpl, spl
jmp 0x1400586bc
mov bl, 0x94
mov esp, 0xff22e9af
invalid