Function at 0x140014020
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0xd8
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
cmp rdx, 0
je 0x140014cba
mov rax, qword [rsp + 0xd0]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xc0], rax
cmp rax, 0
je 0x14001418a
mov eax, dword [0x1401d8908]
mov edx, dword [0x1401d890c]
mov ecx, eax
and ecx, edx
mov r8d, 0xeb6832c2
xor r8d, 0xeb6832c0
imul ecx, r8d
xor eax, edx
add eax, ecx
xor eax, 0xe2ccc00c
mov ecx, 0xac5aced8
xor edx, edx
div ecx
mov edx, 0x53aba078
xor edx, 0xc6d08558
mov ecx, eax
xor ecx, edx
mov edx, 0x9eaa047e
xor edx, 0x6155fb81
xor ecx, edx
or eax, 0x957b2520
and eax, ecx
cmp eax, 0x29ee7907
je 0x140014e04
mov rcx, qword [rsp + 0xc0]
mov eax, dword [0x1401d8910]
mov edx, dword [0x1401d8914]
mov r8d, 0x18ac45de
xor r8d, 0x8570d89b
xor edx, r8d
xor eax, edx
mov r8d, 0xffffffff
xor r8d, 0xde14515f
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0xde14515f
add eax, r8d
sub eax, edx
mov r8d, 0x392637df
xor edx, edx
div r8d
mov r8d, 0xbce02569
xor r8d, 0x2b72448a
xor edx, edx
div r8d
mov rdx, qword [rcx]
mov qword [rsp + 0xa8], rdx
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0xb7], cl
cmp eax, 0x3e40263
ja 0x140014e04
mov al, byte [rsp + 0xb7]
test al, 1
jne 0x140014775
jmp 0x14001418a
mov rdx, qword [rsp + 0xc8]
mov rax, rdx
add rax, 1
mov qword [rsp + 0xa0], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400141c9
call fcn.140007bb8
jmp 0x140014dfa
mov rdx, qword [rsp + 0xc8]
mov rcx, 0xffffffffffffffff
xor rcx, 9
movabs rax, 0xc0abf0b77a7a006
movabs r8, 0xc0abf0b77a7a006
xor rax, r8
movabs r8, 0x212d9e4f8e00e818
movabs r9, 0x212d9e4f8e00e819
xor r8, r9
sub rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x98], rax
xor ecx, ecx
sub rcx, rdx
add rcx, 0xfffffffffffffffe
and rax, rcx
cmp rax, 0
jge 0x14001423e
call fcn.140007bb8
jmp 0x140014dfa
mov rax, qword [rsp + 0x98]
cmp rax, 0
jge 0x140014260
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x140014dfa
mov rcx, qword [rsp + 0x98]
call fcn.14000a511
mov r8, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc8]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x88], rcx
mov qword [r8], rcx
mov qword [rcx], rdx
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
movabs rcx, 0x1f65c835a3b5655e
movabs rdx, 0x1f65c835a3b5655e
xor rcx, rdx
cmp rax, rcx
jle 0x140014670
mov edx, dword [str.LF]
mov ecx, dword [0x1401d891c]
mov eax, edx
and eax, ecx
shl eax, 1
xor edx, ecx
add edx, eax
mov eax, 0x86450fee
xor eax, 0xe3b2d0c8
sub edx, eax
xor eax, eax
sub eax, 0x128cba46
add edx, eax
mov ecx, edx
xor ecx, 0xe19af46d
mov eax, 0x44bbc611
xor eax, 0xa521327c
mov r8d, 0x6c4bdff8
xor r8d, 0x93b42007
xor eax, r8d
and edx, eax
mov eax, 0xd9a352a3
xor eax, 0xd9a352a1
imul eax, edx
sub eax, ecx
cmp eax, 0xba7d9877
je 0x140014e0d
mov r8, qword [rsp + 0x90]
mov ecx, dword [0x1401d8920]
mov edx, dword [0x1401d8924]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xbab02e9d
xor ecx, 0x454fd162
xor eax, ecx
mov ecx, 0x53cbe8a0
xor edx, edx
div ecx
mov ecx, 0x6c5c08a4
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xc8]
add eax, 0xd7227be
sub eax, 0x60572349
sub eax, 0xd7227be
mov ecx, 0x24c3c4c2
xor ecx, 0xf0b6c119
mov r9, r8
sub r9, rdx
cmovl rdx, r8
mov qword [rsp + 0x78], rdx
cmp rdx, 0
setl dl
mov byte [rsp + 0x87], dl
cmp eax, ecx
ja 0x140014e0d
mov al, byte [rsp + 0x87]
test al, 1
jne 0x1400143c7
jmp 0x1400143d7
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x140014dfa
mov r8, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x88]
add rcx, 8
add rdx, 8
call fcn.14002e4d6
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
cmp rax, rcx
jge 0x140014653
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc8]
mov rdx, rcx
sub rdx, r8
mov qword [rsp + 0x68], rdx
mov rax, rdx
xor rax, rcx
cmp rax, 0
setl al
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
movabs r9, 0xf9b6694ed2886d3a
movabs r10, 0x64996b12d7792c5
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140014482
jmp 0x14001448c
call fcn.140007bb8
jmp 0x140014dfa
mov rdx, qword [rsp + 0x68]
movabs rcx, 0x36e2c32be337bfed
movabs rax, 0x36e2c32be337bfec
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, rdx
or rcx, rcx
movabs r8, 0x7b5954a90027d3da
movabs r9, 0x84a6ab56ffd82c25
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
movabs r9, 0xb9d6d511f436d27d
movabs r10, 0x46292aee0bc92d82
xor r9, r10
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x3bc2f8652da718eb
movabs r9, 0xc43d079ad258e714
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400145f8
mov eax, dword [0x1401d8928]
xor edx, edx
div dword [0x1401d892c]
mov ecx, 0x6a0630f2
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x13bea330
mov edx, 0x9e9db617
xor edx, 0x9e9db615
imul ecx, edx
mov edx, 0xd142626c
xor edx, 0xc2fcc15c
xor eax, edx
add eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xffcb3cb0
mov ecx, 0xa0403d49
xor ecx, 0xb2fd1edc
mov r8d, 0x70e09dc5
xor r8d, 0x8f1f623a
xor ecx, r8d
or eax, edx
or ecx, 0x12bd2395
mov edx, 0xfb7d496
xor edx, 0xf0482b69
xor eax, edx
and eax, ecx
cmp eax, 0xf7cff2af
ja 0x140014e16
mov eax, dword [0x1401d8930]
and eax, dword [0x1401d8934]
add eax, 0xf7bf9d4e
and eax, 0xffbae4cb
mov ecx, 0x4fb67c99
xor ecx, 0x8e8d6ca9
and eax, ecx
mov dword [rsp + 0x5c], eax
call fcn.140007bb8
mov eax, dword [rsp + 0x5c]
cmp eax, 0xb15d40b1
jae 0x1400145b8
jmp 0x140014dfa
mov rax, qword [rsp + 0x60]
movabs rcx, 0xa1aedcd4952dba02
movabs rdx, 0xa1aedcd4952dba02
xor rcx, rdx
cmp rax, rcx
jge 0x14001462d
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x140014dfa
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
add rcx, 8
add rcx, rax
call fcn.1400080a0
jmp 0x140014c9e
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
jmp 0x140014c9e
mov eax, dword [0x1401d8938]
mov r8d, dword [0x1401d893c]
xor r8d, 0x2ffdd656
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
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x50d59ccf
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xdf93ef63
xor ecx, 0x898f9669
imul eax, ecx
imul eax, eax, 0x8f057b4e
cmp eax, 0xdb161b35
jb 0x140014e1f
mov rcx, qword [rsp + 0xa0]
mov eax, dword [0x1401d8940]
xor eax, 0x6a6a4b0c
and eax, dword [0x1401d8944]
mov edx, 0xbd44386e
xor edx, 0x26600229
imul eax, edx
mov edx, 0x2deca977
xor edx, 0x5cc818ea
or eax, edx
mov r8d, 0xd1dbcfd1
xor r8d, 0xb0371652
xor edx, edx
div r8d
cmp rcx, 0
setl cl
mov byte [rsp + 0x5b], cl
cmp eax, 0x2b60734f
je 0x140014e1f
mov al, byte [rsp + 0x5b]
test al, 1
jne 0x140014765
jmp 0x140014747
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x88]
add rcx, 8
call fcn.1400080a0
jmp 0x140014c9e
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x140014dfa
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
cmp qword [rax], rcx
jge 0x140014c9e
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xa8]
movabs rdx, 0xbfffffffffffffff
and rax, rdx
mov qword [rsp + 0x50], rax
cmp rax, rcx
jge 0x140014c9e
mov eax, dword [0x1401d8948]
or eax, dword [0x1401d894c]
sub eax, 0x274cd38
mov ecx, 0x33a09194
xor ecx, 0xe5e2c48c
add eax, ecx
add eax, 0x274cd38
mov ecx, 0xf7a89ed3
xor ecx, 0xae30c5bb
xor edx, edx
div ecx
mov ecx, 0x37b24a60
xor ecx, 0x941042f1
xor edx, edx
div ecx
cmp eax, 0xa9c387c
ja 0x140014e28
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401d8950]
mov edx, dword [0x1401d8954]
mov r8d, 0xe801e907
xor r8d, 0xa8c238ab
xor edx, r8d
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov edx, 0x6ac600bc
xor edx, 0xe57d0827
and eax, edx
mov r9d, 0xffffffff
xor r9d, 0xa23b6058
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x10424dd3
xor r9d, 0xefbdb22c
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xa23b6058
or eax, 0xa23b6058
imul eax, r8d
add eax, edx
mov edx, 0x40ccd452
xor edx, 0x6a580f5
add eax, edx
mov dword [rsp + 0x3c], eax
call fcn.1400112e0
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa8]
mov r9, rax
mov eax, dword [rsp + 0x3c]
mov r10, r9
sub r10, rcx
cmovg rcx, r9
mov qword [rsp + 0x40], rcx
mov rcx, rdx
and rcx, 1
shl rcx, 1
movabs r9, 0xc02465a15f31a025
movabs r10, 0xc02465a15f31a024
xor r9, r10
xor rdx, r9
add rdx, rcx
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
or rcx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xb5cb5c46a5cadea2
movabs r10, 0x4a34a3b95a35215d
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xe95c236f
jae 0x140014e28
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14001494d
jmp 0x140014957
call fcn.140007bb8
jmp 0x140014dfa
mov rcx, qword [rsp + 0x50]
mov rdx, 0xffffffffffffffff
xor rdx, 9
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x30], rax
mov rdx, 0xfffffffffffffffe
sub rdx, rcx
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400149b9
call fcn.140007bb8
jmp 0x140014dfa
mov ecx, dword [0x1401d8958]
mov eax, 0xcf8c3596
xor eax, 0xcbe18cca
xor ecx, eax
mov eax, dword [0x1401d895c]
xor eax, 0xddaa0c31
sub ecx, eax
mov eax, ecx
and eax, 0x650ff8c
xor eax, 0xffffffff
add ecx, 0x650ff8c
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x332a1817
xor edx, 0xf1975819
mov r8d, 0xf8cb2cf8
xor r8d, 0x734d307
xor edx, r8d
or eax, edx
mov edx, 0xe063c2e3
xor edx, 0x22de82ed
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0xe6504559
xor edx, 0x19afbaa6
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9fa72d55
xor ecx, 0x96b787b
sub eax, ecx
add eax, 0xba9740b5
add eax, 0x96cc552e
mov ecx, 0x6b2fdfd6
xor ecx, 0x3a4e470a
cmp eax, ecx
jbe 0x140014e31
mov rcx, qword [rsp + 0x50]
mov edx, dword [0x1401d8960]
mov r8d, dword [0x1401d8964]
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
mov r8d, 0xc6897558
xor edx, edx
div r8d
or eax, 0xa367b2e1
or eax, eax
xor eax, 0xffffffff
mov edx, 0x69dcb309
xor edx, 0x5fce990c
mov r8d, 0xdd9d5bd3
xor r8d, 0x2262a42c
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x36122a05
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
movabs rdx, 0x64bcd7d5daa296b3
movabs r8, 0x9b43282a255d6944
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xb3201206
jae 0x140014a5b
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140014afc
jmp 0x140014b0c
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x140014dfa
mov r9, qword [rsp + 0x40]
mov rcx, r9
add rcx, 1
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rax, 0xccb76578a263d5cf
and rdx, rax
mov r8, 0xffffffffffffffff
movabs rax, 0xccb76578a263d5cf
xor r8, rax
and r9, r8
movabs rax, 0xa4707a23e83d2a6c
movabs r10, 0x5b8f85dc17c2d593
xor rax, r10
movabs r10, 0x6f2b73c854eff433
movabs r11, 0x90d48c37ab100bcc
xor r10, r11
xor rax, r10
movabs r10, 0x56ef83de93ba2ab4
movabs r11, 0x9a58e6a631d9ff7b
xor r10, r11
and rax, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140014bbc
call fcn.140007bb8
jmp 0x140014dfa
mov rdx, qword [rsp + 0x40]
movabs rcx, 0x3ddf2fe00a431496
movabs rax, 0x3ddf2fe00a43149f
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x20], rax
movabs rcx, 0x5f396304dcebe555
movabs r8, 0xa0c69cfb23141aab
xor rcx, r8
sub rcx, rdx
or rax, rax
xor rax, 0xffffffffffffffff
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0xeeec82ab982cc479
movabs rdx, 0x11137d5467d33b86
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jge 0x140014c3c
call fcn.140007bb8
jmp 0x140014dfa
mov rax, qword [rsp + 0x20]
movabs rcx, 0x778c8ee4324314f2
movabs rdx, 0x778c8ee4324314f2
xor rcx, rdx
cmp rax, rcx
jge 0x140014c71
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x140014dfa
mov rax, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rax]
call fcn.140010022
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x40]
mov qword [rdx], rax
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov dl, 0x40
xor dl, 0x40
mov byte [rax + rcx + 8], dl
mov eax, dword [0x1401d8968]
mov ecx, dword [0x1401d896c]
mov edx, 0x9c6587d5
xor edx, 0x9b97cc84
xor ecx, edx
xor edx, edx
div ecx
imul eax, eax, 0xef9b14f6
and eax, 0x792a7bfa
mov ecx, 0x7b02584
xor edx, edx
div ecx
mov ecx, 0x91f32005
xor ecx, 0xc9d76730
cmp eax, ecx
jae 0x140014e3a
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x1401d8970]
xor edx, edx
div dword [0x1401d8974]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xa79ad525
mov r9d, 0xffffffff
xor r9d, 0xa79ad525
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xa79ad525
mov r9d, 0xb2a937cf
xor r9d, 0x1533e2ea
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x693cff6f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xc8]
mov edi, eax
mov r8d, edi
xor r8d, 0xffffffff
mov r10d, 0xcd7036c9
xor r10d, 0x8299ecb2
mov eax, 0x67473cf4
xor eax, 0x98b8c30b
xor r10d, eax
mov r9d, 0xffffffff
xor r9d, 0x18c3f1c
mov r11d, 0xf286b29f
xor r11d, 0xf30a8d83
mov eax, r8d
and eax, r11d
and edi, r9d
mov esi, 0x2a310e1b
xor esi, 0x2bbd3107
mov r11d, r10d
and r11d, esi
mov esi, r9d
and esi, 0x4fe9da7b
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r10d
xor r8d, 0xffffffff
or r9d, 0x18c3f1c
and r8d, r9d
or eax, r8d
mov qword [rcx], rdx
cmp eax, 0xc58729bb
ja 0x140014cfe
jmp 0x140014dfa
add rsp, 0xd8
pop rdi
pop rsi
ret
or al, 0x76
xlatb
clc
jmp 0x1400140d1
not ecx
invalid
xlatb
sbb dl, ah
int3
invalid
adc dword [rax - 0x2b16e663], ebx
stc
invalid
iretd
adc eax, 0xe9171880
mov ebx, 0x48fffffe
sub rsp, 0x28
mov qword [rsp + 0x20], rcx
call fcn.1400435e4
mov rcx, qword [rsp + 0x20]
add rsp, 0x28
jmp 0x140043641
mov qword [rcx], 0
mov eax, 0x7d5f14e0
xor eax, 0x7d5f14e0
mov dword [rcx + 8], eax
mov qword [rcx + 0x10], 0
ret