Function at 0x140046950
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov eax, 0xbd03e433
nop word cs:[rax + rax]
mov ecx, dword [0x141dc51a8]
xor ecx, dword [0x141dc51ac]
add ecx, 0x95cab2a4
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x5185c843
cmp ecx, 0xe91f6d11
ja 0x140046970
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400469a0
cmp rdi, 8
jae 0x140046ab5
mov rax, qword [rsi + 0xa0]
cmp rax, 0x28
ja 0x140046dfa
lea rcx, [0x141db4920]
mov edx, dword [rcx + rdi*4]
nop dword [rax]
mov ecx, dword [0x141dc5318]
or ecx, dword [0x141dc531c]
imul rcx, rcx, 0x46fbaf83
shr rcx, 0x3e
or ecx, 0xded5dffa
cmp ecx, 0xbadbd98a
jb 0x1400469d0
test rax, rax
je 0x140046d75
lea r8, [rax*4]
xor r9d, r9d
xor ecx, ecx
nop dword [rax + rax]
mov r10d, dword [rsi + r9]
imul r10, rdx
add r10, rcx
mov rcx, r10
shr rcx, 0x20
mov dword [rsi + r9], r10d
add r9, 4
cmp r8, r9
jne 0x140046a10
nop
mov edx, dword [0x141dc5320]
xor edx, dword [0x141dc5324]
or edx, 0xf40e6fbf
add edx, 0x7a765d8f
cmp edx, 0x63da8b73
jb 0x140046a30
test ecx, ecx
je 0x140046d77
xor edx, edx
nop word [rax + rax]
test dl, dl
jne 0x140046a60
mov edx, 0x83856d27
nop dword [rax]
mov r8d, dword [0x141dc5328]
and r8d, dword [0x141dc532c]
add r8d, 0x6b5d38cf
shr r8d, 1
imul r8, rdx
shr r8, 0x3e
add r8d, 0x3b575ee3
cmp r8d, 0x41176a26
ja 0x140046a70
cmp rax, 0x27
ja 0x140046e25
mov dword [rsi + rax*4], ecx
inc rax
jmp 0x140046d77
mov ecx, edi
and ecx, 7
mov eax, 0xad2666f7
nop
mov edx, dword [0x141dc51b0]
or edx, dword [str.__fVP]
imul rdx, rdx, 0x16b4f23
shr rdx, 0x36
imul edx, edx, 0xd9eebd00
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x18481edf
ja 0x140046ac0
test rcx, rcx
je 0x140046ee0
lea rax, [0x141db4920]
nop dword [rax]
mov edx, dword [0x141dc51c0]
and edx, dword [0x141dc51c4]
add edx, 0x33b4b559
imul rdx, rdx, 0x4cacc131
shr rdx, 0x3e
or edx, 0x72cf00c4
cmp edx, 0x41f741e5
jb 0x140046b00
mov r8d, dword [rax + rcx*4]
shr r8, cl
mov rcx, qword [rsi + 0xa0]
nop dword [rax]
mov eax, dword [0x141dc51c8]
sub eax, dword [0x141dc51cc]
imul eax, eax, 0x455d7257
and eax, 0xc49123f6
add eax, 0x7aa28c0
cmp eax, 0x607d6364
ja 0x140046b40
cmp rcx, 0x28
ja 0x140046e09
nop dword [rax]
mov eax, dword [0x141dc51d0]
mov edx, dword [0x141dc51d4]
add eax, edx
add eax, 0x52a2fa03
and eax, 0x523f8441
xor eax, 0x61345552
cmp eax, 0xba44b6f4
ja 0x140046b70
nop word cs:[rax + rax]
mov eax, dword [0x141dc51d8]
add eax, dword [0x141dc51dc]
or eax, 0xd9e521a2
and eax, 0xfbfd2ba2
imul eax, eax, 0xea2c8721
cmp eax, 0x5addfa50
ja 0x140046ba0
test rcx, rcx
je 0x140046dcc
mov eax, dword [0x141dc51e0]
xor edx, edx
div dword [0x141dc51e4]
nop word [rax + rax]
mov eax, dword [0x141dc51e8]
and eax, dword [0x141dc51ec]
and eax, 0x2748c045
add eax, 0xd20e513e
and eax, 0x6859d0ee
cmp eax, 0x121cb2d8
je 0x140046be0
nop word cs:[rax + rax]
mov eax, dword [0x141dc51f0]
and eax, dword [0x141dc51f4]
imul eax, eax, 0x1158d92d
or eax, 0xccc608b8
cmp eax, 0xe7b23f7
je 0x140046c10
lea rdx, [rcx*4]
xor r9d, r9d
mov r10d, 0xedb0d3cd
mov r11d, 0xdb50ad97
xor ebx, ebx
jmp 0x140046c60
shr rax, 0x20
add r9, 4
mov rbx, rax
cmp rdx, r9
je 0x140046cc5
mov eax, dword [0x141dc5208]
xor eax, dword [0x141dc520c]
imul rax, r10
shr rax, 0x39
cmp eax, 0x678ab775
je 0x140046cb5
nop dword [rax + rax]
mov r14d, dword [0x141dc5210]
sub r14d, dword [0x141dc5214]
imul r14, r11
shr r14, 0x3e
or r14d, 0x5f717b91
mov eax, dword [rsi + r9]
imul rax, r8
add rax, rbx
mov dword [rsi + r9], eax
cmp r14d, 0x9c6e4bf
jae 0x140046c50
mov eax, dword [rsi + r9]
imul eax, r8d
add eax, ebx
mov dword [rsi + r9], eax
jmp 0x140046c80
test rax, rax
je 0x140046dce
nop
mov edx, dword [0x141dc5218]
add edx, dword [0x141dc521c]
xor edx, 0x44ecdfb9
add edx, 0xb4adb3ac
cmp edx, 0x6964ec19
ja 0x140046cd0
cmp rcx, 0x27
ja 0x140046e6e
mov edx, dword [0x141dc5220]
or edx, dword [0x141dc5224]
add edx, 0x4a0e1a79
imul r8, rdx, 0x6200049f
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1b
cmp edx, 0x6b04c942
jne 0x140046d30
mov dword [rsi + rcx*4], eax
nop dword [rax]
mov edx, dword [0x141dc5228]
xor edx, dword [0x141dc522c]
imul edx, edx, 0xa6a15ca8
mov dword [rsi + rcx*4], eax
cmp edx, 0x3b58edcf
je 0x140046d30
inc rcx
mov eax, dword [0x141dc5230]
sub eax, dword [0x141dc5234]
imul eax, eax, 0x6cb53bfb
xor eax, 0xb3904031
or eax, 0xc4eaece
cmp eax, 0xc38723fe
ja 0x140046d50
jmp 0x140046dce
xor eax, eax
mov ecx, dword [0x141dc5340]
add ecx, dword [0x141dc5344]
imul ecx, ecx, 0x8fe0bed8
cmp ecx, 0x75c033d9
jne 0x140046da0
mov qword [rsi + 0xa0], rax
nop dword [rax + rax]
mov ecx, dword [0x141dc5348]
and ecx, dword [0x141dc534c]
xor ecx, 0xccc0bd
imul ecx, ecx, 0x48d7f031
mov qword [rsi + 0xa0], rax
cmp ecx, 0x1332fe12
je 0x140046da0
jmp 0x1400473c0
xor ecx, ecx
mov eax, dword [0x141dc5250]
imul eax, dword [0x141dc5254]
xor eax, 0xb113206
and eax, 0xab333266
add eax, 0xa8900446
cmp eax, 0x59aa810c
jae 0x14004742a
jmp 0x140047455
ud2
mov eax, dword [0x141dc51f8]
or eax, dword [0x141dc51fc]
cmp eax, 0x3b97ff0a
jne 0x14004745e
jmp 0x140047466
mov eax, dword [0x141dc5330]
xor eax, dword [0x141dc5334]
xor eax, 0x1c3e1ad5
add eax, 0x8d0a4fce
and eax, 0x9d4c28c6
cmp eax, 0x107ec265
jae 0x140046e49
ud2
mov eax, dword [0x141dc5338]
or eax, dword [0x141dc533c]
imul eax, eax, 0x9186ca90
add eax, 0x5b261bb7
ud2
mov eax, dword [0x141dc5238]
or eax, dword [0x141dc523c]
add eax, 0x6835b143
and eax, 0x56568a0c
add eax, 0xd2a68c5b
cmp eax, 0xa1fad19d
jbe 0x140046e92
ud2
mov eax, dword [0x141dc5240]
or eax, dword [0x141dc5244]
and eax, 0x80803940
add eax, 0x1dbef6bd
ud2
mov eax, dword [0x141dc51b8]
add eax, dword [0x141dc51bc]
and eax, 0x8000c680
or eax, 0x77b5283e
xor eax, 0x643def56
cmp eax, 0xc9e71448
ja 0x140046ee0
test dil, 8
je 0x140047110
nop dword [rax]
mov eax, dword [0x141dc5260]
xor eax, dword [0x141dc5264]
and eax, 0x80016120
or eax, 0x39f48e9f
imul rax, rax, 0x71d9fb7f
shr rax, 0x3e
cmp eax, 0x9cccf19c
ja 0x140046f10
mov rcx, qword [rsi + 0xa0]
mov r8d, 0x9357ed11
nop word cs:[rax + rax]
mov eax, dword [0x141dc5268]
xor edx, edx
div dword [0x141dc526c]
imul rax, r8
shr rax, 0x37
and eax, 0xffffffee
imul eax, eax, 0xb96bc5ba
cmp eax, 0x30ac7780
ja 0x140046f50
cmp rcx, 0x28
ja 0x1400473ce
lea r8, [rsi + rcx*4]
nop word cs:[rax + rax]
mov eax, dword [str.7xSm]
imul eax, dword [0x141dc5274]
add eax, 0xb247ca23
xor eax, 0x814a1117
cmp eax, 0xeb2e695f
ja 0x140046f90
test rcx, rcx
je 0x1400470b3
xor r11d, r11d
mov r10, rsi
nop dword [rax]
mov eax, dword [0x141dc5280]
or eax, dword [0x141dc5284]
add eax, 0x90495c47
imul rax, rax, 0x83b6f85
shr rax, 0x39
cmp eax, 0x108ca94b
jne 0x140046ff0
imul eax, dword [r10], 0x5f5e1
add eax, r11d
mov dword [r10], eax
mov eax, dword [0x141dc5288]
xor edx, edx
div dword [0x141dc528c]
imul eax, eax, 0x5615d375
imul rax, rax, 0x2a5069fd
shr rax, 0x3b
imul eax, eax, 0x4fc3f519
mov edx, dword [r10]
imul r9, rdx, 0x5f5e1
add r9, r11
mov dword [r10], r9d
cmp eax, 0x5459fc7e
je 0x140046ff0
add r10, 4
shr r9, 0x20
mov r11, r9
cmp r10, r8
jne 0x140046fc0
xor eax, eax
nop
test al, al
jne 0x140047040
test r9d, r9d
je 0x1400470b5
cmp rcx, 0x27
ja 0x1400473f4
mov eax, dword [0x141dc5290]
xor edx, edx
div dword [0x141dc5294]
add eax, 0xa7edc992
or eax, 0xe2865ab5
add eax, 0xf39f17a3
cmp eax, 0xa4cbf7d0
jae 0x14004707a
mov dword [r8], r9d
mov eax, 0xc69129a5
nop
mov edx, dword [0x141dc5298]
imul edx, dword [0x141dc529c]
add edx, 0xed88d56e
shr edx, 1
imul rdx, rax
shr rdx, 0x3c
imul edx, edx, 0xce1873e
mov dword [r8], r9d
cmp edx, 0x4aaeaff
jb 0x140047080
inc rcx
jmp 0x1400470b5
xor ecx, ecx
mov eax, dword [0x141dc52a8]
and eax, dword [0x141dc52ac]
imul eax, eax, 0x53b86cfd
cmp eax, 0xe48d2fe5
jne 0x1400470e0
mov qword [rsi + 0xa0], rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc52b0]
xor eax, dword [0x141dc52b4]
or eax, 0x27767aed
imul eax, eax, 0xe2223198
imul rax, rax, 0xecf77d5
shr rax, 0x37
mov qword [rsi + 0xa0], rcx
cmp eax, 0x8bd3ed17
ja 0x1400470e0
mov eax, 0xa712ccb7
nop word cs:[rax + rax]
mov ecx, dword [0x141dc52b8]
xor ecx, dword [0x141dc52bc]
or ecx, 0x120d2180
and ecx, 0xda0d21b5
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xf00cd125
ja 0x140047120
mov eax, 0xbbb4de65
nop dword [rax]
mov ecx, dword [0x141dc52c0]
imul ecx, dword [0x141dc52c4]
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x85f2381a
je 0x140047150
nop dword [rax]
mov eax, dword [0x141dc52c8]
and eax, dword [0x141dc52cc]
or eax, 0xaf340ef9
add eax, 0x6446894f
cmp eax, 0xc61cbaa7
ja 0x140047170
test dil, 0x10
je 0x1400471a8
lea rdx, [0x141db4948]
mov r8d, 2
mov rcx, rsi
call fcn.1400474b0
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400471b0
test dil, 0x20
je 0x140047270
mov eax, dword [0x141dc52d0]
or eax, dword [0x141dc52d4]
and eax, 0x45614c
imul eax, eax, 0x160863c5
cmp eax, 0x5f8b25d8
jne 0x1400471f1
lea rdx, [0x141db4950]
mov r8d, 3
mov rcx, rsi
call fcn.1400474b0
lea rbx, [0x141db4950]
nop dword [rax + rax]
mov ebp, dword [0x141dc52d8]
add ebp, dword [0x141dc52dc]
xor ebp, 0xa00ed143
and ebp, 0xb04ff5e3
add ebp, 0x74553e6a
mov r8d, 3
mov rcx, rsi
mov rdx, rbx
call fcn.1400474b0
cmp ebp, 0xe28aefdb
ja 0x140047200
nop word [rax + rax]
mov eax, dword [0x141dc52e0]
or eax, dword [0x141dc52e4]
imul eax, eax, 0x7efeb01
shr eax, 2
imul rax, rax, 0x4af3d501
shr rax, 0x37
xor eax, 0xd3c0a1ee
cmp eax, 0x1f3195d1
jb 0x140047240
nop dword [rax]
mov eax, dword [0x141dc52e8]
xor eax, dword [0x141dc52ec]
xor eax, 0xdb3cd086
add eax, 0xf818c8e8
cmp eax, 0x72ea64e3
jb 0x140047270
test dil, 0x40
je 0x1400472b0
lea rdx, [0x141db495c]
mov r8d, 5
mov rcx, rsi
call fcn.1400474b0
nop dword [rax + rax]
mov eax, dword [0x141dc52f0]
xor eax, dword [0x141dc52f4]
xor eax, 0x2cd9a384
add eax, 0x52624b4e
xor eax, 0xae2c5de9
cmp eax, 0xfaa046ba
ja 0x1400472b0
nop word cs:[rax + rax]
mov eax, dword [0x141dc52f8]
add eax, dword [0x141dc52fc]
imul eax, eax, 0xc1254a61
add eax, 0xd7e4c7be
or eax, 0xe25e8263
cmp eax, 0x75ba1a29
je 0x1400472e0
nop word cs:[rax + rax]
mov eax, dword [0x141dc5300]
imul eax, dword [0x141dc5304]
imul eax, eax, 0xd7a110c8
add eax, 0x244593c6
cmp eax, 0x7f55872e
jb 0x140047310
test dil, dil
jns 0x140047350
lea rdx, [0x141db4970]
mov r8d, 0xa
mov rcx, rsi
call fcn.1400474b0
nop dword [rax]
mov eax, dword [0x141dc5308]
imul eax, dword [0x141dc530c]
imul eax, eax, 0x9831a3f1
add eax, 0xa192c4de
cmp eax, 0x7a2e81cd
jb 0x140047350
test edi, 0x100
je 0x14004738c
lea rdx, [0x141db4998]
mov r8d, 0x13
mov rcx, rsi
call fcn.1400474b0
mov rcx, rsi
mov rdx, rdi
call fcn.140047da0
nop word [rax + rax]
mov eax, dword [0x141dc5310]
xor edx, edx
div dword [0x141dc5314]
imul eax, eax, 0xab48e07c
add eax, 0xfbc0292f
cmp eax, 0xa75d0296
ja 0x1400473a0
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
ud2
ud2
mov eax, dword [0x141dc5258]
xor edx, edx
div dword [0x141dc525c]
and eax, 0x33c0da89
imul eax, eax, 0x88dd2303
mov qword [rsi + 0xa0], rcx
cmp eax, 0x798eb44
jne 0x140046ee0
mov qword [rsi + 0xa0], rcx
jmp 0x14004742a
ud2
ud2