Function at 0x140090680
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r14, rdx
mov eax, dword [0x141dcea28]
xor eax, dword [0x141dcea2c]
imul eax, eax, 0xdbc606bb
cmp eax, 0x8e933576
je 0x1400906ea
mov eax, dword [0x141dcea30]
xor edx, edx
div dword [0x141dcea34]
imul rdx, rax, 0x1e99608f
shr rdx, 0x3c
not edx
and edx, 0x1001009
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
cmp edx, 0x56c53d33
jbe 0x1400906f9
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x1400906b1
mov eax, dword [0x141dcea38]
sub eax, dword [0x141dcea3c]
xor eax, 0x2a248080
or eax, 0x19b365f
add eax, 0xba90f99c
cmp eax, 0x17c833a8
jae 0x140090728
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
movabs r9, 0x7ffffffffffffffe
lea rsi, [r8 + 1]
mov qword [rbp], r8
lea r12, [r8*2 + 2]
nop word cs:[rax + rax]
mov eax, dword [0x141dcea40]
sub eax, dword [0x141dcea44]
xor eax, 0xbdd41217
imul edx, eax, 0xcc69ee1
add edx, 0x46a41233
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
test rsi, rsi
sets al
cmp r12, r9
seta r8b
cmp edx, 0x863fad5d
ja 0x140090750
or al, r8b
jne 0x14009103d
nop dword [rax + rax]
mov eax, dword [0x141dcea48]
and eax, dword [0x141dcea4c]
shr eax, 2
imul rax, rax, 0x2607c9cf
shr rax, 0x39
xor eax, 0x7a6dbc0d
cmp eax, 0xbc1ca226
ja 0x1400907a0
nop word cs:[rax + rax]
mov eax, dword [0x141dcea50]
sub eax, dword [0x141dcea54]
xor eax, 0x74f32bad
imul eax, eax, 0x39635e38
and eax, 0xc0f0db58
cmp eax, 0x5fb1c099
je 0x1400907d0
mov qword [rbp - 8], rcx
test r12, r12
je 0x14009082f
movzx eax, byte [0x141dda6b8]
mov eax, dword [0x141dcea58]
xor eax, dword [0x141dcea5c]
imul eax, eax, 0x5b4c778e
add eax, 0xd9a95787
and eax, 0xa3c56a0e
cmp eax, 0x4f5f930
jne 0x140090f83
jmp 0x140090f9b
mov r13d, 2
xor esi, esi
mov r12, qword [rbp]
mov eax, dword [0x141dcea78]
sub eax, dword [0x141dcea7c]
imul eax, eax, 0x778c2fa4
add eax, 0xc9c3e78b
cmp eax, 0x1ba31ca4
jb 0x1400908b3
mov ebx, dword [0x141dcea80]
and ebx, dword [0x141dcea84]
xor ebx, 0x13295b6a
add ebx, 0xbd32a08a
and ebx, 0x15ad4e73
mov qword [rdi], rsi
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], 0
lea rax, [r14 + r12]
mov qword [r15], r14
mov qword [r15 + 8], rax
mov word [r15 + 0x10], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.140091040
add rsp, 0x20
cmp ebx, 0x6a35de36
jbe 0x1400908ec
mov qword [rdi], rsi
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], 0
lea rax, [r14 + r12]
mov qword [r15], r14
mov qword [r15 + 8], rax
mov word [r15 + 0x10], 0
sub rsp, 0x20
mov rcx, rdi
mov rdx, r15
call fcn.140091040
add rsp, 0x20
jmp 0x140090859
mov r8, qword [rdi + 8]
mov rbx, qword [rdi + 0x10]
mov r9, rbx
mov rcx, r8
cmp rbx, 8
mov r15, qword [rbp - 8]
jb 0x140090baf
mov r10d, 0xe22f4ea7
xor r11d, r11d
mov r14d, 0x8701c8d7
mov rcx, r8
mov r9, rbx
cmp word [rcx], 0
je 0x140090c3a
mov eax, dword [0x141dcea98]
sub eax, dword [0x141dcea9c]
add eax, 0xeea4066
or eax, 0xab7e7898
add eax, 0x6bdba53
cmp eax, 0x543b9c75
jb 0x140090927
movzx eax, word [rcx + 2]
nop dword [rax]
mov edx, dword [0x141dceaa0]
imul edx, dword [0x141dceaa4]
or edx, 0xbbc7a9d2
imul rdx, rdx, 0x84b4859
shr rdx, 0x3a
and edx, 1
cmp edx, 0x237ed36c
je 0x140090950
test ax, ax
je 0x140090c3a
nop word cs:[rax + rax]
mov eax, dword [0x141dceaa8]
xor eax, dword [0x141dceaac]
or eax, 0x4fffbfcf
imul rax, rax, 0x2f85b1b7
shr rax, 0x3c
cmp eax, 0x8fa45769
ja 0x140090990
movzx eax, word [rcx + 4]
nop word [rax + rax]
mov edx, dword [0x141dceab0]
sub edx, dword [0x141dceab4]
or edx, 0x7818bd4a
add edx, 0xaf2e48c9
imul rdx, r10
shr rdx, 0x3a
cmp edx, 0xc17533e1
ja 0x1400909c0
test ax, ax
je 0x140090c3a
movzx eax, word [rcx + 6]
nop word cs:[rax + rax]
test r11b, r11b
jne 0x140090a00
test ax, ax
je 0x140090c3a
mov eax, dword [0x141dceab8]
xor edx, edx
div dword [0x141dceabc]
nop dword [rax]
mov eax, dword [0x141dceac0]
xor eax, dword [0x141dceac4]
and eax, 0xdb09a7ba
imul eax, eax, 0x8b998cfb
xor eax, 0x354c8120
cmp eax, 0x7c31fc4a
jb 0x140090a20
nop word cs:[rax + rax]
mov eax, dword [0x141dceac8]
imul eax, dword [0x141dceacc]
imul eax, eax, 0x8fd7e74b
or eax, 0x1c42300a
and eax, 0x1c43b50a
cmp eax, 0xd8c7fed1
ja 0x140090a50
cmp word [rcx + 8], 0
je 0x140090c3a
movzx eax, word [rcx + 0xa]
nop word cs:[rax + rax]
mov edx, dword [0x141dcead0]
add edx, dword [0x141dcead4]
and edx, 0x605a2028
imul rdx, rdx, 0x198f1fc7
shr rdx, 0x3b
imul edx, edx, 0x890d2242
cmp edx, 0xad6ac31d
ja 0x140090a90
test ax, ax
je 0x140090c3a
mov eax, dword [0x141dcead8]
xor edx, edx
div dword [0x141dceadc]
imul rax, r14
shr rax, 0x3f
imul eax, eax, 0x6d14f638
imul rax, rax, 0x5a045523
shr rax, 0x3c
cmp eax, 0xc4e12adc
ja 0x140090ac4
movzx esi, word [rcx + 0xc]
mov eax, dword [0x141dceae0]
imul eax, dword [0x141dceae4]
xor eax, 0x1a0cd755
imul eax, eax, 0x871de849
and eax, 0x70cd2e88
cmp eax, 0x819f6687
ja 0x140090af6
nop word [rax + rax]
mov eax, dword [0x141dceae8]
xor edx, edx
div dword [0x141dceaec]
add eax, 0xfafd10d1
and eax, 0xc292e989
cmp eax, 0xb78a32f2
jb 0x140090b20
test si, si
je 0x140090c3a
mov eax, dword [0x141dceaf0]
xor edx, edx
div dword [0x141dceaf4]
mov eax, dword [0x141dceaf8]
imul eax, dword [0x141dceafc]
imul eax, eax, 0xbd5ceaab
add eax, 0x605a3b48
cmp eax, 0x11d23bba
jb 0x140090b56
cmp word [rcx + 0xe], 0
je 0x140090c3a
add r9, 0xfffffffffffffff8
add rcx, 0x10
nop dword [rax + rax]
mov eax, dword [0x141dceb00]
xor edx, edx
div dword [0x141dceb04]
cmp eax, 0x6bbd8574
je 0x140090b90
cmp r9, 7
ja 0x14009091d
lea r9, [rcx + r9*2]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140090bc0
xor r10d, r10d
mov r11d, 0xb8d081d5
nop dword [rax]
mov eax, dword [0x141dcea88]
xor edx, edx
div dword [0x141dcea8c]
or eax, 0xefe4fb76
xor eax, 0xd8116c3b
cmp eax, 0xe0e0ce98
ja 0x140090bd0
cmp rcx, r9
je 0x140090c80
mov eax, dword [0x141dcea90]
sub eax, dword [0x141dcea94]
imul eax, eax, 0x393fb8ee
xor eax, 0x798841cb
imul rax, r11
shr rax, 0x3f
cmp eax, 0x913d37e2
ja 0x140090bf8
movzx eax, word [rcx]
add rcx, 2
nop word cs:[rax + rax]
test r10b, r10b
jne 0x140090c30
test ax, ax
jne 0x140090bd0
mov eax, dword [0x141dceb08]
sub eax, dword [0x141dceb0c]
imul eax, eax, 0xf28dbc82
xor eax, 0x6510807c
imul eax, eax, 0x19f6570a
cmp eax, 0xb59ee1c4
movabs rdx, 0x7ffffffffffffffe
jbe 0x140090e30
jmp 0x140090e5f
mov eax, dword [0x141dceb38]
add eax, dword [0x141dceb3c]
imul eax, eax, 0x3c72fc4c
add eax, 0xb97e4221
imul rcx, rax, 0x1e56c04b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0xec55beee
ja 0x140090c80
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dceb40]
imul ecx, dword [0x141dceb44]
add ecx, 0xa3d7e600
or ecx, 0x7ff34d95
add ecx, 0xa2e8df50
cmp ecx, 0x42ac7ffc
jb 0x140090cc0
nop word [rax + rax]
mov ecx, dword [0x141dceb48]
or ecx, dword [0x141dceb4c]
or ecx, 0xd096a4b4
imul ecx, ecx, 0x4f655cff
add ecx, 0x78229dd5
cmp ecx, 0x815e5351
ja 0x140090cf0
cmp rbx, rax
jne 0x140090da8
mov eax, dword [0x141dceb58]
or eax, dword [0x141dceb5c]
add eax, 0x8c873ff
or eax, 0x622265a
imul rax, rax, 0x53cfd61d
shr rax, 0x3e
cmp eax, 0xb374bb
jbe 0x140090d60
sub rsp, 0x20
mov rcx, rdi
call fcn.1400da400
add rsp, 0x20
nop word [rax + rax]
mov esi, dword [0x141dceb60]
and esi, dword [0x141dceb64]
or esi, 0x87f6ddeb
add esi, 0x4cdcc176
sub rsp, 0x20
mov rcx, rdi
call fcn.1400da400
add rsp, 0x20
cmp esi, 0xf75b0bf8
ja 0x140090d60
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140090da0
mov r8, qword [rdi + 8]
mov eax, dword [0x141dceb68]
xor edx, edx
div dword [0x141dceb6c]
imul rax, rax, 0x15074881
shr rax, 0x3c
add eax, 0x36b0aca7
and eax, 0x3000ac22
cmp eax, 0xf371dd8c
jbe 0x140090dec
mov word [r8 + rbx*2], 0
lea rax, [rbx + 1]
mov qword [rdi + 0x10], rax
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
lea rcx, [rbx + 1]
mov eax, dword [0x141dceb70]
xor edx, edx
div dword [0x141dceb74]
xor eax, 0x3e7d7cd4
imul eax, eax, 0x98aef0b5
add eax, 0xf92da730
mov word [r8 + rbx*2], 0
mov qword [rdi + 0x10], rcx
mov qword [r15 + 0x10], rcx
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
cmp eax, 0x4005c272
jae 0x140090df0
jmp 0x140090f50
mov eax, dword [0x141dceb10]
and eax, dword [0x141dceb14]
or eax, 0xe8e9b9af
add eax, 0xc834a58d
lea rcx, [0x141db89b8]
mov qword [r15 + 8], rcx
lea rcx, [rdx + 2]
mov qword [r15], rcx
cmp eax, 0x7a8759b1
jae 0x140090e73
lea rax, [0x141db89b8]
mov qword [r15 + 8], rax
lea rax, [rdx + 2]
mov qword [r15], rax
jmp 0x140090e30
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dceb18]
add ecx, dword [0x141dceb1c]
or ecx, 0x20108010
and ecx, 0x3054a110
cmp ecx, 0xe6805084
je 0x140090e80
test rax, rax
je 0x140090f20
mov eax, dword [0x141dceb20]
xor edx, edx
div dword [0x141dceb24]
xor eax, 0x9e114a5e
mov ecx, 0xcb140c01
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xa0619bdb
cmp ecx, 0xe253fb7a
ja 0x140090efd
mov eax, dword [0x141dceb28]
imul eax, dword [0x141dceb2c]
or eax, 0xd220f8c7
add eax, 0x7842e6d1
or eax, 0x3759e3cd
mov rcx, qword [0x141dda6a0]
cmp eax, 0xc7d6cf08
jbe 0x140090f06
mov rax, qword [0x141dda6a0]
jmp 0x140090ed3
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dceb30]
sub eax, dword [0x141dceb34]
xor eax, 0x10201c1
and eax, 0xb0697c3
imul eax, eax, 0xca3346fd
cmp eax, 0x9768d739
je 0x140090f20
nop word cs:[rax + rax]
mov eax, dword [0x141dceb50]
sub eax, dword [0x141dceb54]
xor eax, 0x47e3d68
add eax, 0xcd4995a4
or eax, 0xcf0460d1
cmp eax, 0x2022019c
jb 0x140090f50
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
xor ebx, ebx
xor ecx, ecx
mov rdx, r12
call fcn.1400bf230
add rsp, 0x20
test bl, bl
je 0x140090faf
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.1400bf230
add rsp, 0x20
jmp 0x140090f83
mov r13, rax
mov r12, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dcea60]
sub eax, dword [0x141dcea64]
xor eax, 0x4209800
and eax, 0x4a89904
cmp eax, 0x913279d4
ja 0x140090fc0
test r13, r13
jne 0x14009083b
mov eax, dword [0x141dcea68]
or eax, dword [0x141dcea6c]
shr eax, 2
imul rax, rax, 0x3420ba1d
shr rax, 0x3a
and eax, 0xfffffffe
cmp eax, 0xece88115
je 0x140091012
ud2
ud2
ud2