Function at 0x140058950
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], rcx
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.14004e61c
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x50], rax
movabs rax, 0xd3fe9844b3fbc61b
movabs rdx, 0xd3fe9844b3fbc61b
xor rax, rdx
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x80]
add rax, 8
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x88], 0
mov rcx, qword [rcx]
mov edx, 2
sub rsp, 0x20
call fcn.14004f610
add rsp, 0x20
test al, 1
jne 0x1400589eb
jmp 0x140058b48
mov ecx, dword [0x140218c60]
mov r8d, dword [0x140218c64]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
sub ecx, 0xe75d34d7
mov edx, 0x33bb9211
xor edx, 0x38973f1d
mov eax, ecx
and eax, edx
or ecx, 0xb2cad0c
add eax, ecx
mov ecx, 0x562a6f94
xor ecx, 0x4e404de4
xor edx, edx
div ecx
cmp eax, 0xc95ce5a
ja 0x1400595da
mov eax, dword [0x140218c68]
mov ecx, dword [0x140218c6c]
mov r11d, eax
or r11d, r11d
xor r11d, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and edx, r8d
or r11d, edx
xor r11d, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
xor r11d, 0xffffffff
xor eax, 0xffffffff
and r11d, eax
sub r11d, 0x9cc25d2b
mov eax, 0x7b63f2d7
xor eax, 0xf64d7eb0
sub r11d, eax
mov eax, 0x5622029b
xor eax, 0xcae05fb0
add r11d, eax
mov eax, 0x5ce0bbad
xor eax, 0xa31f4452
mov ecx, r11d
xor ecx, eax
mov r8d, 0x735996df
xor r8d, 0x1cdb03af
mov eax, 0xbfb1fda6
xor eax, 0x404e0259
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x7bb35b0
mov eax, ecx
and eax, 0x7bb35b0
and r11d, edx
mov r9d, r8d
and r9d, 0x7bb35b0
mov r10d, 0x2b7d730d
xor r10d, 0x44ffe67d
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x7bb35b0
and ecx, edx
or eax, ecx
or eax, 0x8463baa8
mov dword [rbp + 0x3c], eax
sub rsp, 0x20
call fcn.140008bc6
mov eax, dword [rbp + 0x3c]
add rsp, 0x20
cmp eax, 0xf838b380
jb 0x1400595da
jmp 0x140059509
mov ecx, dword [0x140218c70]
mov eax, 0x1c48dfae
xor eax, 0x63dc35f9
xor ecx, eax
mov edx, dword [0x140218c74]
mov eax, ecx
add eax, 1
mov r8d, 0xdaf795f7
xor r8d, 0x25086a08
xor ecx, r8d
or ecx, edx
add ecx, eax
sub ecx, 0x223294e8
mov edx, 0x60e05900
xor edx, 0xd0993cd4
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, 0xb07965d4
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x1f417392
xor ecx, 0xe0be8c6d
xor eax, ecx
mov ecx, 0xdced30fc
xor ecx, 0x2fa73c60
mov edx, 0x17c41f08
xor edx, 0xe83be0f7
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x6db7f7cb
xor ecx, 0xce3ccf5f
cmp eax, ecx
je 0x1400595e3
mov rdx, qword [rbp + 0x48]
mov eax, dword [0x140218c78]
xor eax, 0x64322751
and eax, dword [0x140218c7c]
mov ecx, 0xb86b71e7
xor ecx, 0xa9d257c0
sub eax, ecx
imul eax, eax, 0x6882bf2b
mov ecx, 0x35a5defe
xor ecx, 0xc135fc84
and eax, ecx
mov ecx, 0x8f8d1a07
xor ecx, 0xd0fd21fd
mov rdx, qword [rdx]
mov qword [rbp + 0x30], rdx
cmp rdx, 0
setl dl
mov byte [rbp + 0x3b], dl
cmp eax, ecx
jae 0x140058bdd
mov al, byte [rbp + 0x3b]
test al, 1
jne 0x140058c46
jmp 0x140058c6a
mov rcx, qword [rbp + 0x30]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x140059509
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.1400293bf
mov r8, qword [rbp + 0x40]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [r8]
mov qword [rbp + 0x10], rdx
mov rcx, r8
add rcx, 8
mov qword [rbp + 0x18], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rbp + 0x80]
mov qword [r8], r9
mov r9, qword [rbp + 0x88]
mov qword [r8 + 8], r9
mov qword [rbp + 0x80], rdx
mov qword [rax], rcx
lea rax, [rbp + 0x70]
add rax, 8
mov qword [rbp + 0x20], rax
xor eax, eax
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
mov qword [rbp + 8], rax
cmp rax, rcx
jge 0x1400594e2
mov rcx, qword [rbp + 8]
test rcx, rcx
setns al
mov rdx, qword [rbp + 0x80]
mov qword [rbp], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140058e13
mov eax, dword [0x140218c80]
xor eax, 0x24d08738
mov edx, dword [0x140218c84]
xor edx, 0x7ad431a9
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0x661a0ff3
xor edx, edx
div ecx
sub eax, 0xb9f13ce3
sub eax, 0x2e6dde5d
cmp eax, 0x3308d003
je 0x1400595ec
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
mov eax, dword [0x140218c88]
mov r9d, dword [0x140218c8c]
xor r9d, 0xa74b4658
mov r8d, eax
and r8d, r9d
shl r8d, 1
add eax, r9d
sub eax, r8d
mov r8d, 0x7b27265d
xor r8d, 0x84d8d9a2
xor eax, r8d
mov r9d, 0x83536b43
xor r9d, 0xb1de0dd1
mov r8d, 0x617bcb86
xor r8d, 0x9e843479
xor r9d, r8d
mov r8d, 0x4d8f0aae
xor r8d, 0x8568e4f0
mov r10d, 0x5d579464
xor r10d, 0xa2a86b9b
xor r8d, r10d
or eax, r9d
or r8d, 0xc8e7ee5e
xor eax, 0xffffffff
and eax, r8d
add eax, 0x1cda7c20
xor eax, 0x400a1be
mov dword [rbp - 4], eax
movabs rax, 0x4064c188fdd88fbb
movabs r8, 0xbf9b3e7702277044
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400153d3
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, 0xb11cb80a
je 0x1400595ec
jmp 0x140059509
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp - 0x10], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 5], al
or al, cl
test al, 1
jne 0x14005930d
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
add rax, 0xffffffffffffffff
and rax, rcx
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x28], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140058ea6
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x140059509
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
movabs rcx, 0x480fe089356419ec
movabs rdx, 0x480fe089356419ec
xor rcx, rdx
cmp rax, rcx
je 0x140058f2e
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
movabs rax, 0x8e6cb187b410c805
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x8e6cb187b410c805
sub rdx, rax
sub rsp, 0x20
call fcn.14004f7a4
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x1e
xor dl, 0x1e
cmp cl, dl
mov qword [rbp - 0x18], rax
je 0x140058e5f
jmp 0x140059509
mov eax, dword [0x140218c90]
xor eax, 0xcc522339
mov r8d, dword [0x140218c94]
mov ecx, 0xdb8ada39
xor ecx, 0x247525c6
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x958c7969
xor ecx, 0x9d25d6a1
mov r11d, eax
and r11d, ecx
mov ecx, 0x112714dc
xor ecx, 0x198ebb14
or eax, ecx
add r11d, eax
mov eax, 0xcf799f4a
xor eax, 0x3a2a13ba
mov ecx, 0xc6016418
xor ecx, 0x39fe9be7
xor eax, ecx
add r11d, eax
add r11d, 1
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0x46f12341
xor r8d, 0xe28b0634
mov eax, 0x4ac3ceca
xor eax, 0xb53c3135
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x4fd3526b
mov eax, ecx
and eax, 0x4fd3526b
and r11d, edx
mov r9d, r8d
and r9d, 0x4fd3526b
mov r10d, edx
and r10d, 0xa47a2575
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x4fd3526b
and ecx, edx
or eax, ecx
mov ecx, 0x2d2b2a89
xor ecx, 0x2db09e22
cmp eax, ecx
jbe 0x1400595f5
mov rcx, qword [rbp + 8]
mov edx, dword [0x140218c98]
mov r8d, dword [0x140218c9c]
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, r8d
or r9d, r9d
xor r9d, 0xffffffff
or eax, r9d
mov r9d, 0x385ef06d
xor r9d, 0xc7a10f92
xor eax, r9d
or edx, r8d
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xcc93388f
add eax, edx
add eax, 1
mov r8d, 0xf345920a
xor edx, edx
div r8d
imul eax, eax, 0xeea2f44a
mov rdx, qword [rbp + 0x80]
mov qword [rbp - 0x38], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x29], cl
cmp eax, 0x2bac0537
jae 0x1400595f5
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400590e6
jmp 0x1400590b2
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x38]
movabs rax, 0xa701fe526a88bb2f
movabs r8, 0x58fe01ad957744d0
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x140059509
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.1400123e0
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rcx, qword [rbp + 0x80]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x14005922e
mov eax, dword [0x140218ca0]
xor eax, 0xab6633a8
and eax, dword [0x140218ca4]
mov edx, 0xd9b6caa6
xor edx, 0x3960ac6a
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0xdd44999f
xor edx, 0x3d92ff53
or eax, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x40ed9547
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
add eax, 0x7a383b45
mov ecx, 0x8e46f3a2
xor ecx, 0xfddf7392
sub eax, ecx
sub eax, 0x7a383b45
cmp eax, 0x53e85719
je 0x1400595fe
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x40]
mov r8d, dword [0x140218ca8]
mov eax, dword [0x140218cac]
xor eax, 0xe5648444
sub r8d, eax
add r8d, 0xf37ec495
and r8d, 0xd4f0fb90
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x7fc81e84
xor r8d, 0x37d13b6d
mov r9d, 0x5da025ef
xor r9d, 0xa25fda10
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x481925e9
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
mov dword [rbp - 0x54], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400153d3
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x662eadf1
jae 0x1400595fe
jmp 0x140059509
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.1401696f4
mov r11, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x40]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x10]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp + 0x70], r11
mov qword [rcx], r8
lea r8, [rbp + 0x70]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140058270
mov rax, qword [rbp + 0x50]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140059509
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x14005932b
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x387541a538d7f4d5
movabs r8, 0x787541a538d7f4d5
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14005932b
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
jmp 0x14005932b
mov rcx, qword [rbp + 8]
mov dl, byte [rbp - 5]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jne 0x1400594c9
jmp 0x14005932b
mov r8, qword [rbp + 8]
movabs rax, 0xfc83d449de909b2c
movabs rcx, 0xfc83d449de909b2d
xor rax, rcx
mov rcx, r8
add rcx, rax
xor r8, 0xffffffffffffffff
mov rax, rcx
add rax, 1
movabs r9, 0x4cd66cc66f569c87
movabs rdx, 0xb329933990a96378
xor r9, rdx
mov rdx, rcx
xor rdx, r9
or rdx, r8
add rdx, rax
movabs r8, 0x9015b139821aed33
movabs rax, 0x9015b139821aed33
xor r8, rax
mov al, 1
cmp rdx, r8
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
jge 0x1400594c9
mov ecx, dword [0x140218cb0]
mov eax, dword [0x140218cb4]
mov edx, 0x5f91d358
xor edx, 0xa6754cde
xor eax, edx
xor ecx, eax
mov eax, ecx
or eax, 0xb1a490de
mov edx, 0xcbb597b7
xor edx, 0x344a6848
xor eax, edx
or ecx, 0xb1a490de
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x947650d7
xor ecx, 0x6b89af28
xor eax, ecx
mov r8d, eax
or r8d, 0x1802914b
xor r8d, 0xffffffff
mov ecx, 0xfb0f5f6a
xor ecx, 0xe30dce21
or eax, ecx
xor eax, 0xffffffff
or r8d, eax
xor r8d, 0xffffffff
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x4bed242b
mov edx, 0xb9813292
xor edx, 0xf26c16b9
mov ecx, 0x5a3b9fc6
xor ecx, 0xa5c46039
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x485e42
and ecx, 0x4bed242b
and edx, 0x485e42
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x6d550afc
jb 0x140059607
mov eax, dword [str._aFP1Uq]
xor edx, edx
div dword [0x140218cbc]
mov ecx, 0xc75bc552
xor ecx, 0xf1750de1
and ecx, eax
mov edx, 0xc5c351b0
xor edx, 0x3a3cae4f
xor ecx, edx
add eax, 0x362ec8b3
add eax, 1
add eax, ecx
mov ecx, 0xd87f6b16
xor ecx, 0xeb478e7a
and eax, ecx
mov ecx, 0x70c4198a
xor edx, edx
div ecx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.140008bc6
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0xba1f120e
ja 0x140059607
jmp 0x140059509
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x61]
test cl, 1
mov qword [rbp + 0x28], rax
jne 0x140058cd1
jmp 0x140059509
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140056810
add rsp, 0x20
mov eax, dword [0x140218cc0]
xor eax, 0x954c6889
add eax, dword [0x140218cc4]
or eax, 0x7b4d688e
add eax, 0x56f1c0ca
mov edx, 0xf27a6d81
xor edx, 0xd85927e
mov ecx, eax
xor ecx, edx
and ecx, 0xdb5dad4c
mov edx, 0xffffffff
xor edx, 0xdb5dad4c
and eax, edx
sub eax, ecx
mov ecx, 0x66a85918
xor ecx, 0x2b33e92a
cmp eax, ecx
jbe 0x140059610
mov ecx, dword [0x140218cc8]
mov edx, dword [0x140218ccc]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xe2bd9372
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xe2bd9372
add eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0x5768eb3a
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa9f3afaa
mov r8d, 0xffffffff
xor r8d, 0xa9f3afaa
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa9f3afaa
or eax, 0xa9f3afaa
imul eax, edx
add eax, ecx
cmp eax, 0x483c2388
shr byte [rcx], 1
enter 0xffffffffffffc931, 0xffffffffffffff81
jmp 0x1976e80cc
test eax, 0xf3afaa0d
test eax, 0x1c2af0f
enter 0xffffffffffff883d, 0x23
cmp al, 0x48
jb 0x14005955b
lea rsp, [rbp + 0x90]
pop rbp
ret
add byte [rax], al
add byte [rbp - 0x3d], bl
add eax, 0xe9142415
jo 0x1400595d5
invalid
lahf
cmp eax, 0xf1e94afa
cmc
invalid
sahf
invalid
stc
jle 0x140059587
jg 0x1400595e3
and al, 0xfa
invalid
pop r15
jl 0x1400595ba
jmp 0x14005919c
int1
invalid
invalid