Function at 0x1400455d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
mov r8, rcx
mov rsi, qword [rcx]
nop word cs:[rax + rax]
mov eax, dword [str.jb9d]
xor eax, dword [0x141f32dbc]
or eax, 0xd6ea1797
imul rax, rax, 0x1a657091
shr rax, 0x3b
xor eax, 0x1d312b41
cmp eax, 0xc3ab5d06
ja 0x1400455f0
test rsi, rsi
je 0x140045e80
and r9d, 0x3f
lea rdx, [0x141f21490]
movzx ecx, word [rdx + r9*2]
mov eax, ecx
and eax, 0x7ff
cmp eax, 0x51d
jae 0x140045d4e
shr ecx, 0xb
mov r11d, 0xab5a8b7b
lea r10, [0x141f21512]
add r10, rax
nop word cs:[rax + rax]
mov edi, dword [0x141f32dd0]
sub edi, dword [0x141f32dd4]
imul edi, edi, 0x9fc1b5c4
xor edi, 0xc4f74500
imul rdi, r11
shr rdi, 0x3f
cmp edi, 0xaeba3a6a
ja 0x140045660
movzx r11d, word [rdx + r9*2 + 2]
and r11d, 0x7ff
sub r11, rax
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400456a0
xor edi, edi
lea rbx, [0x141f21a2e]
mov r14d, 0x9da1a793
mov r15d, 0xe103d65b
nop dword [rax]
mov ebp, dword [0x141f32dd8]
or ebp, dword [0x141f32ddc]
xor ebp, 0x12244506
and ebp, 0x1b357726
add ebp, 0x2b1e8050
test r11, r11
sete al
cmp r10, rbx
sete dl
cmp ebp, 0xa85eb715
ja 0x1400456c0
or al, dl
jne 0x14004599d
lea rax, [r10 + 1]
mov r12, rdi
or r12, 1
nop word cs:[rax + rax]
mov edx, dword [0x141f32de0]
xor edx, dword [0x141f32de4]
and edx, 0x62eab9aa
xor edx, 0x11957be5
imul edx, edx, 0xafbdce89
cmp edx, 0x6249f97c
je 0x140045710
cmp rdi, rsi
je 0x14004595f
movzx ebp, byte [r10]
nop word cs:[rax + rax]
mov edx, dword [0x141f32de8]
sub edx, dword [0x141f32dec]
add edx, 0x1d048e0e
and edx, 0x4167ccb7
imul edx, edx, 0xf55e2c99
cmp edx, 0xe854beb6
je 0x140045750
cmp rdi, 0x300
je 0x140045d23
movzx edx, byte [r8 + rdi + 8]
nop dword [rax]
mov r13d, dword [0x141f32df8]
sub r13d, dword [0x141f32dfc]
imul r13d, r13d, 0xece435e4
and r13d, 0x2c7d9c4c
cmp r13d, 0xcbdecfc4
ja 0x140045790
cmp dl, bpl
jne 0x140045930
mov edx, dword [0x141f32e00]
or edx, dword [0x141f32e04]
or edx, 0xb64922c8
add edx, 0x1335df3e
cmp edx, 0xc9c3278
jb 0x1400457be
cmp r11, 1
je 0x14004599d
add r11, 0xfffffffffffffffe
nop dword [rax]
mov edx, dword [0x141f32e08]
sub edx, dword [0x141f32e0c]
xor edx, 0x50162420
and edx, 0x5676a460
imul rdx, r14
shr rdx, 0x38
cmp edx, 0xd148a172
je 0x1400457f0
nop dword [rax + rax]
mov edx, dword [0x141f32e10]
sub edx, dword [0x141f32e14]
imul rdx, rdx, 0x12c85279
shr rdx, 0x3b
or edx, 0x1042a020
xor edx, 0x817611d6
cmp edx, 0xf223efec
ja 0x140045820
cmp rax, rbx
je 0x14004599d
nop word cs:[rax + rax]
mov edx, dword [0x141f32e18]
xor edx, dword [0x141f32e1c]
or edx, 0x2ab5d5ff
imul edx, edx, 0x3b865371
xor edx, 0xa778df8d
cmp edx, 0xf89753e
jb 0x140045860
cmp r12, rsi
je 0x14004595f
mov edx, dword [0x141f32e20]
add edx, dword [0x141f32e24]
and edx, 0x87170e37
imul rdx, rdx, 0x117a35db
shr rdx, 0x3b
or edx, 0x1d0f43d2
cmp edx, 0xe6233859
ja 0x14004588f
movzx ebp, byte [rax]
mov eax, dword [0x141f32e28]
xor edx, edx
div dword [0x141f32e2c]
nop dword [rax + rax]
mov eax, dword [0x141f32e30]
and eax, dword [0x141f32e34]
xor eax, 0x57b0a424
imul rax, r15
shr rax, 0x3f
cmp eax, 0xb81a8c88
ja 0x1400458d0
add rdi, 2
add r10, 2
movzx edx, byte [r8 + r12 + 8]
nop
mov eax, dword [0x141f32e38]
imul eax, dword [0x141f32e3c]
imul eax, eax, 0x81701418
xor eax, 0x41d20a
or eax, 0x7f062cd5
cmp eax, 0x269e0c95
jb 0x140045900
cmp dl, bpl
je 0x1400456c0
nop dword [rax]
mov eax, dword [0x141f32e50]
imul eax, dword [0x141f32e54]
add eax, 0xbb8d337f
xor eax, 0x303308c4
or eax, 0x8e487713
cmp dl, bpl
mov rdi, rcx
sbb rdi, 0
cmp eax, 0x313dfc9
jb 0x140045930
jmp 0x1400459a0
dec rcx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140045970
nop word cs:[rax + rax]
mov eax, dword [0x141f32df0]
sub eax, dword [0x141f32df4]
add eax, 0x7cd98480
and eax, 0x9bb5f35c
cmp eax, 0x4b2bbeab
je 0x140045980
mov rdi, rcx
lea r14, [rdi + rsi]
xor r10d, r10d
movabs rbx, 0xcccccccccccccccd
jmp 0x1400459c9
test rsi, rsi
je 0x140045b60
mov eax, dword [0x141f32e68]
add eax, dword [0x141f32e6c]
and eax, 0x74ab0b54
imul rax, rax, 0x4bfac025
shr rax, 0x3c
add eax, 0x7907bf11
cmp eax, 0x9fb61dc4
ja 0x1400459c9
cmp rsi, 0x301
jae 0x140045cf6
dec rsi
movzx r11d, byte [r8 + rsi + 8]
mov ecx, r9d
shl r11, cl
dec r14
add r11, r10
mov rax, r11
mul rbx
mov r10, rdx
shr r10, 3
lea rax, [r10 + r10]
lea rax, [rax + rax*4]
mov rcx, r11
sub rcx, rax
nop
mov eax, dword [0x141f32eb8]
sub eax, dword [0x141f32ebc]
or eax, 0xcaa77ffd
and eax, 0xcfb7fffd
cmp eax, 0xb211bee5
jb 0x140045a30
cmp r14, 0x300
jae 0x140045ab0
nop word cs:[rax + rax]
mov eax, dword [0x141f32ed8]
xor edx, edx
div dword [0x141f32edc]
or eax, 0x21498c3c
imul eax, eax, 0xaa0f487
and eax, 0x79c38d2c
cmp eax, 0xa6ae464
je 0x140045a60
mov eax, dword [0x141f32ee0]
and eax, dword [0x141f32ee4]
and eax, 0xeab58671
imul eax, eax, 0x21479a69
cmp eax, 0xf9c30003
je 0x140045b4c
jmp 0x140045b30
mov eax, dword [0x141f32ec8]
sub eax, dword [0x141f32ecc]
add eax, 0xbfebf915
or eax, 0xa4adb66a
imul rdx, rax, 0x475529a1
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x4c502fbe
ja 0x140045ab0
test rcx, rcx
je 0x1400459c0
mov byte [r8 + 0x30c], 1
nop word cs:[rax + rax]
mov eax, dword [0x141f32ed0]
and eax, dword [0x141f32ed4]
add eax, 0x55a12f3a
xor eax, 0x2012240c
or eax, 0x1da95912
cmp eax, 0x64b032e0
jb 0x140045b00
jmp 0x1400459c0
mov eax, dword [0x141f32ee8]
add eax, dword [0x141f32eec]
mov byte [r8 + r14 + 8], cl
cmp eax, 0xa5dbe742
jne 0x1400459c0
mov byte [r8 + r14 + 8], cl
jmp 0x140045b30
mov eax, dword [0x141f32e60]
add eax, dword [0x141f32e64]
imul rax, rax, 0x6a817d4d
shr rax, 0x3b
or eax, 0xf718a845
imul eax, eax, 0x8f04f42f
cmp eax, 0xdd33ec16
je 0x140045b60
cmp r11, 0xa
jb 0x140045ccf
xor ecx, ecx
mov r9d, 0xd501dd7d
mov r11d, 0x8e71ceb7
mov rsi, rdi
nop word cs:[rax + rax]
mov rax, r10
mul rbx
dec rsi
shr rdx, 3
lea rax, [rdx + rdx]
lea r14, [rax + rax*4]
mov rax, r10
sub rax, r14
cmp rsi, 0x300
jae 0x140045bf0
mov byte [r8 + rsi + 8], al
nop dword [rax]
test cl, cl
jne 0x140045be0
jmp 0x140045c80
test cl, cl
jne 0x140045bf0
test rax, rax
je 0x140045c80
mov eax, dword [0x141f32e90]
and eax, dword [0x141f32e94]
and eax, 0x4537440
imul eax, eax, 0x3c4868f8
or eax, 0xf67f1901
cmp eax, 0xf5abae83
jae 0x140045c30
mov byte [r8 + 0x30c], 1
nop dword [rax + rax]
mov eax, dword [0x141f32e98]
add eax, dword [0x141f32e9c]
and eax, 0x164f028
or eax, 0xd8180cd7
imul rax, r11
shr rax, 0x3c
mov byte [r8 + 0x30c], 1
cmp eax, 0xde48d67f
ja 0x140045c30
nop dword [rax]
mov eax, dword [0x141f32ea0]
or eax, dword [0x141f32ea4]
xor eax, 0xf0de81c0
imul eax, eax, 0x1c318a4a
cmp eax, 0xb4aa63aa
je 0x140045c60
nop
mov eax, dword [0x141f32ea8]
sub eax, dword [0x141f32eac]
add eax, 0x62be4c73
imul rax, r9
shr rax, 0x3f
cmp eax, 0x92e36ae9
je 0x140045c80
mov eax, dword [0x141f32eb0]
or eax, dword [0x141f32eb4]
add eax, 0x274fa5b0
or eax, 0x40d497dd
add eax, 0x3d248b36
cmp eax, 0x5af698a
jb 0x140045ca0
cmp r10, 0xa
mov r10, rdx
jae 0x140045bb0
mov rax, qword [r8]
add rax, rdi
cmp rax, 0x300
mov ecx, 0x300
cmovb rcx, rax
mov qword [r8], rcx
xor eax, eax
test al, al
jne 0x140045dcf
jmp 0x140045da9
ud2
mov eax, dword [0x141f32e40]
sub eax, dword [0x141f32e44]
add eax, 0xf0033fc7
xor eax, 0x80910a2
and eax, 0xcdb19b2
cmp eax, 0xa0816c68
ja 0x140045ec4
jmp 0x140045eac
mov eax, dword [0x141f32dc0]
xor eax, dword [0x141f32dc4]
imul eax, eax, 0x72b04b26
xor eax, 0x1c8109b4
and eax, 0x5c854fbc
cmp eax, 0x613f570d
jbe 0x140045d80
ud2
mov eax, dword [0x141f32dc8]
and eax, dword [0x141f32dcc]
xor eax, 0x4cb1041
or eax, 0x30000fac
add eax, 0xc4dd4fa1
ud2
mov eax, dword [0x141f32e70]
xor edx, edx
div dword [0x141f32e74]
and eax, 0xb002da5b
add eax, 0x9f429901
add dword [r8 + 0x308], edi
cmp eax, 0xe67a537e
jbe 0x140045de0
add dword [r8 + 0x308], edi
jmp 0x140045da9
mov eax, dword [0x141f32e78]
and eax, dword [0x141f32e7c]
add eax, 0x77f5b2b9
and eax, 0xbea21474
xor eax, 0xad46b090
cmp eax, 0x942f2c4d
ja 0x140045de0
jmp 0x140045e68
mov eax, dword [0x141f32e80]
sub eax, dword [0x141f32e84]
dec rcx
or eax, 0x7433e877
imul eax, eax, 0xcff13b
cmp eax, 0x1cdee377
jne 0x140045e40
mov qword [r8], rcx
nop word cs:[rax + rax]
mov eax, dword [str.o_F_]
xor edx, edx
div dword [0x141f32e8c]
add eax, 0x578b68ae
and eax, 0x41d7852b
imul eax, eax, 0xd0d9792e
mov qword [r8], rcx
cmp eax, 0x3b7f8fad
jb 0x140045e40
test rcx, rcx
je 0x140045e80
cmp byte [r8 + rcx + 7], 0
je 0x140045e10
nop word cs:[rax + rax]
mov eax, dword [0x141f32e58]
xor eax, dword [0x141f32e5c]
add eax, 0x933c14e8
xor eax, 0xb769e46e
cmp eax, 0xedfcaaea
ja 0x140045e80
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141f32e48]
xor eax, dword [0x141f32e4c]
or eax, 0xffffffdf
ud2
ud2