Function at 0x140046fd0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov eax, 0xb59564c7
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9130]
imul ecx, dword [0x141dc9134]
add ecx, 0x4aa3b956
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x4584d69d
ja 0x140046ff0
cmp rdi, 8
jae 0x140047202
mov eax, dword [0x141dc92b8]
xor edx, edx
div dword [0x141dc92bc]
lea rax, [0x141db7b40]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140047040
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x140047c15
mov eax, dword [rax + rdi*4]
nop dword [rax + rax]
mov edx, dword [0x141dc92c0]
sub edx, dword [0x141dc92c4]
add edx, 0x7381ed86
and edx, 0xa21c2228
add edx, 0x6b81a25d
cmp edx, 0x4ccd8b0d
jb 0x140047060
test rcx, rcx
je 0x140047475
nop
mov edx, dword [0x141dc92c8]
mov r8d, dword [0x141dc92cc]
add edx, r8d
add edx, 0x54c94b08
or edx, 0xbe777e6e
cmp edx, 0x9a4d2fd0
jb 0x140047090
mov edx, 0xd8d58eb5
nop dword [rax]
mov r8d, dword [0x141dc92d0]
and r8d, dword [0x141dc92d4]
imul r8, rdx
shr r8, 0x3f
or r8d, 0x17d1dc9e
cmp r8d, 0x580582f4
je 0x1400470c0
lea rdx, [rcx*4]
xor r9d, r9d
xor r8d, r8d
nop word cs:[rax + rax]
mov r10d, dword [rsi + r9]
imul r10, rax
add r10, r8
mov r8, r10
shr r8, 0x20
mov dword [rsi + r9], r10d
add r9, 4
cmp rdx, r9
jne 0x140047100
nop
mov eax, dword [0x141dc92d8]
and eax, dword [0x141dc92dc]
imul eax, eax, 0x3f750d06
and eax, 0xe1079894
add eax, 0xc978d579
cmp eax, 0xa1979219
jb 0x140047120
test r8d, r8d
je 0x140047477
mov eax, dword [0x141dc92e0]
xor edx, edx
div dword [0x141dc92e4]
nop word [rax + rax]
mov eax, dword [0x141dc92e8]
add eax, dword [0x141dc92ec]
imul eax, eax, 0xd2147a4
cmp eax, 0x2cbf73f1
jb 0x140047160
nop dword [rax]
mov eax, dword [0x141dc92f0]
and eax, dword [0x141dc92f4]
add eax, 0x9e78f62e
imul rax, rax, 0x3d10dcb9
shr rax, 0x3d
imul eax, eax, 0xe3047c03
cmp eax, 0x2e8824af
ja 0x140047180
cmp rcx, 0x27
ja 0x140047701
mov dword [rsi + rcx*4], r8d
inc rcx
nop word [rax + rax]
mov eax, dword [0x141dc92f8]
and eax, dword [0x141dc92fc]
add eax, 0x3f6129f7
or eax, 0x48e43c82
cmp eax, 0x31b73e7d
je 0x1400471c0
nop dword [rax]
mov eax, dword [0x141dc9300]
and eax, dword [0x141dc9304]
or eax, 0x8743dd9f
add eax, 0x9634c24
cmp eax, 0x733b9771
jbe 0x1400471e0
jmp 0x140047477
mov eax, dword [0x141dc9138]
xor edx, edx
div dword [0x141dc913c]
mov eax, dword [0x141dc9140]
add eax, dword [0x141dc9144]
imul eax, eax, 0xee773f9c
imul rax, rax, 0x5268e81
shr rax, 0x39
add eax, 0xf5118b5b
cmp eax, 0xfd5bf3e3
ja 0x140047210
mov ecx, edi
and ecx, 7
nop
mov eax, dword [0x141dc9148]
add eax, dword [0x141dc914c]
xor eax, 0x10878088
or eax, 0xaf186b51
imul eax, eax, 0x1e8987e8
cmp eax, 0x75172eaf
jb 0x140047240
test rcx, rcx
je 0x1400474b0
mov r8d, 0xccbc634f
lea r9, [0x141db7b40]
nop dword [rax]
mov eax, dword [0x141dc9158]
xor edx, edx
div dword [0x141dc915c]
add eax, 0x82473540
imul rax, r8
shr rax, 0x3e
mov edx, dword [r9 + rcx*4]
shr rdx, cl
cmp eax, 0xc420564
ja 0x140047280
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400472b0
mov rax, qword [rsi + 0xa0]
nop dword [rax + rax]
mov ecx, dword [0x141dc9160]
imul ecx, dword [0x141dc9164]
add ecx, 0x3d5f914e
and ecx, 0x77698f89
imul ecx, ecx, 0x86dd16cb
cmp ecx, 0x1b5aa902
je 0x1400472c0
cmp rax, 0x28
ja 0x140047732
nop word cs:[rax + rax]
mov ecx, dword [0x141dc9168]
sub ecx, dword [0x141dc916c]
or ecx, 0xcf40e34a
imul rcx, rcx, 0x5e581bcf
shr rcx, 0x3e
imul ecx, ecx, 0xeed1aae3
cmp ecx, 0x30ca1d4f
je 0x140047300
nop dword [rax + rax]
mov ecx, dword [0x141dc9170]
and ecx, dword [0x141dc9174]
or ecx, 0xaa50ceae
imul ecx, ecx, 0x45178040
add ecx, 0xe390b44c
cmp ecx, 0xa2528b81
jb 0x140047330
test rax, rax
je 0x14004749e
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x140047370
lea r8, [rax*4]
xor r9d, r9d
xor ecx, ecx
nop word cs:[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 0x140047390
test rcx, rcx
je 0x14004746c
nop dword [rax + rax]
mov edx, dword [0x141dc9190]
sub edx, dword [0x141dc9194]
add edx, 0x69416310
or edx, 0xbfeecfdd
cmp edx, 0x9b3fb200
jb 0x1400473c0
mov edx, dword [0x141dc9198]
sub edx, dword [0x141dc919c]
and edx, 0xb30d573d
imul edx, edx, 0x3574465e
cmp edx, 0x9b8c9d38
je 0x1400473e0
cmp rax, 0x27
ja 0x1400477c9
mov edx, dword [0x141dc91a0]
and edx, dword [0x141dc91a4]
imul edx, edx, 0x9a12272e
add edx, 0xc5a654e5
and edx, 0xa0f431b8
cmp edx, 0x616207a9
jbe 0x140047440
mov dword [rsi + rax*4], ecx
nop word cs:[rax + rax]
mov edx, dword [0x141dc91a8]
xor edx, dword [0x141dc91ac]
and edx, 0xbdeaa46a
xor edx, 0xa110cab8
add edx, 0xc1365c73
mov dword [rsi + rax*4], ecx
cmp edx, 0xf6c542d1
ja 0x140047440
inc rax
mov qword [rsi + 0xa0], rax
jmp 0x1400474b0
xor ecx, ecx
mov eax, dword [0x141dc9310]
and eax, dword [0x141dc9314]
imul eax, eax, 0xb6ed1349
and eax, 0xc6468078
cmp eax, 0x3ef70ab4
jne 0x140047c17
jmp 0x140047c40
xor eax, eax
mov qword [rsi + 0xa0], rax
nop word [rax + rax]
mov eax, dword [0x141dc9150]
xor eax, dword [0x141dc9154]
imul eax, eax, 0xe7785558
add eax, 0x795cc63e
cmp eax, 0xeb4ef3d7
ja 0x1400474b0
test dil, 8
je 0x140047698
mov eax, 0xcd9d5f77
nop dword [rax]
mov ecx, dword [0x141dc91c8]
or ecx, dword [0x141dc91cc]
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x69a30e55
add ecx, 0x7dd2059f
cmp ecx, 0x13e9d686
jb 0x1400474e0
nop dword [rax + rax]
mov eax, dword [0x141dc91d0]
imul eax, dword [0x141dc91d4]
add eax, 0x18eb8a53
and eax, 0x6eda6f91
cmp eax, 0xe07accc8
je 0x140047510
mov eax, 0xb4870603
nop word cs:[rax + rax]
mov ecx, dword [0x141dc91d8]
sub ecx, dword [0x141dc91dc]
imul rcx, rax
shr rcx, 0x3d
imul ecx, ecx, 0xab52c227
add ecx, 0xeca5d4f3
cmp ecx, 0xe9f52e82
ja 0x140047540
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x140047767
lea r8, [rsi + rcx*4]
nop dword [rax]
mov eax, dword [0x141dc91e0]
xor edx, edx
div dword [0x141dc91e4]
add eax, 0x5c2c71aa
xor eax, 0x59aaa394
imul eax, eax, 0x197f5366
cmp eax, 0xd26a1f0b
je 0x140047580
test rcx, rcx
je 0x14004768f
xor edx, edx
mov rax, rsi
nop word cs:[rax + rax]
mov r9d, dword [0x141dc9200]
xor r9d, dword [0x141dc9204]
imul r9, r9, 0x798bb5d
shr r9, 0x35
cmp r9d, 0x3ccc9ef8
jne 0x1400475f0
imul r9d, dword [rax], 0x5f5e1
add r9d, edx
mov dword [rax], r9d
nop
mov r10d, dword [0x141dc9208]
imul r10d, dword [0x141dc920c]
and r10d, 0x348e005c
xor r10d, 0x21861204
or r10d, 0xca70aca3
mov r9d, dword [rax]
imul r9, r9, 0x5f5e1
add r9, rdx
mov dword [rax], r9d
cmp r10d, 0xbf549d1b
je 0x1400475f0
add rax, 4
shr r9, 0x20
mov rdx, r9
cmp rax, r8
jne 0x1400475c0
nop dword [rax]
mov eax, dword [0x141dc91f8]
xor eax, dword [0x141dc91fc]
and eax, 0x41008220
cmp eax, 0xad987e37
je 0x140047640
test r9d, r9d
je 0x140047691
cmp rcx, 0x27
ja 0x14004782b
mov dword [r8], r9d
inc rcx
nop dword [rax]
mov eax, dword [0x141dc9210]
xor eax, dword [0x141dc9214]
or eax, 0xafbe9fc7
add eax, 0x1bb5f961
cmp eax, 0xbebdbd8d
ja 0x140047670
jmp 0x140047691
xor ecx, ecx
mov qword [rsi + 0xa0], rcx
mov eax, 0x81696d05
nop dword [rax]
mov ecx, dword [0x141dc9230]
xor ecx, dword [0x141dc9234]
add ecx, 0xd9a74dac
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x40cde86e
ja 0x1400476a0
test dil, 0x10
je 0x1400478f0
mov eax, dword [0x141dc9238]
imul eax, dword [0x141dc923c]
imul eax, eax, 0xb2746ae9
xor eax, 0x706dd65c
imul rax, rax, 0x3d52975b
shr rax, 0x3c
cmp eax, 0x6690c29a
jbe 0x14004789d
jmp 0x1400478d2
ud2
mov eax, dword [0x141dc9178]
and eax, dword [0x141dc917c]
or eax, 0xd4486174
mov ecx, 0xfd47bad7
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x723f16b6
cmp ecx, 0xa4155e01
jbe 0x140047bbe
jmp 0x140047bea
mov eax, dword [0x141dc91e8]
sub eax, dword [0x141dc91ec]
imul eax, eax, 0x24b98e7b
add eax, 0xe0cebf8e
mov ecx, 0xb44749cb
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x8aa3391a
jbe 0x1400477a0
ud2
mov eax, dword [0x141dc91f0]
or eax, dword [0x141dc91f4]
add eax, 0x4df2874a
or eax, 0x834a8a04
and eax, 0x83fb8f55
ud2
mov eax, dword [0x141dc91b0]
xor edx, edx
div dword [0x141dc91b4]
add eax, 0xbf69a1bf
or eax, 0x6dcb6d72
cmp eax, 0x2e5cc5c6
jne 0x1400477ea
ud2
mov eax, dword [0x141dc91b8]
and eax, dword [0x141dc91bc]
and eax, 0x240e000a
xor eax, 0x26140108
ud2
mov eax, dword [0x141dc9218]
add eax, dword [0x141dc921c]
xor eax, 0x1e2adcb8
imul eax, eax, 0xd89a1b82
add eax, 0xe1b53ad4
cmp eax, 0xdf3fb816
jbe 0x140047850
ud2
mov eax, dword [0x141dc9220]
add eax, dword [0x141dc9224]
and eax, 0xf78d6759
imul eax, eax, 0xa8912f5b
or eax, 0x5fb1a69a
ud2
mov ebx, dword [0x141dc9240]
sub ebx, dword [0x141dc9244]
add ebx, 0x405ee103
and ebx, 0x60f3a99c
lea rdx, [0x141db7b68]
mov r8d, 2
mov rcx, rsi
call fcn.140047c50
cmp ebx, 0xe578beda
jbe 0x1400478f0
lea rdx, [0x141db7b68]
mov r8d, 2
mov rcx, rsi
call fcn.140047c50
jmp 0x14004789d
mov eax, dword [0x141dc9248]
xor edx, edx
div dword [0x141dc924c]
add eax, 0x8c41be02
imul rax, rax, 0x6acaed23
shr rax, 0x3c
and eax, 2
cmp eax, 0x47bc93de
ja 0x1400478f0
nop dword [rax + rax]
mov eax, dword [0x141dc9250]
sub eax, dword [0x141dc9254]
add eax, 0x51f5d157
or eax, 0xe2f044cb
cmp eax, 0x54493d4a
je 0x140047920
test dil, 0x20
je 0x140047958
lea rdx, [0x141db7b70]
mov r8d, 3
mov rcx, rsi
call fcn.140047c50
mov eax, 0xac0afe17
nop dword [rax]
mov ecx, dword [0x141dc9258]
xor ecx, dword [0x141dc925c]
xor ecx, 0x62138404
or ecx, 0x98e40bfb
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xc076f5b2
ja 0x140047960
nop dword [rax + rax]
mov eax, dword [0x141dc9260]
and eax, dword [0x141dc9264]
or eax, 0x90cbd03e
imul rax, rax, 0xd0ad6a9
shr rax, 0x3a
and eax, 0xfffffffe
cmp eax, 0xd1ccfe35
ja 0x140047990
nop word cs:[rax + rax]
mov eax, dword [0x141dc9268]
imul eax, dword [0x141dc926c]
and eax, 0xfd7753a8
imul eax, eax, 0x7b1e4e4e
imul rcx, rax, 0x136b9d1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0xb90fc019
ja 0x1400479c0
test dil, 0x40
je 0x140047a33
lea rdx, [0x141db7b7c]
mov r8d, 5
mov rcx, rsi
call fcn.140047c50
nop
mov eax, dword [0x141dc9270]
and eax, dword [0x141dc9274]
and eax, 0x43b645e1
imul eax, eax, 0xddc5f6f1
or eax, 0x509b88a6
cmp eax, 0xb9c12dfe
je 0x140047a10
mov eax, 0xa5c789a9
nop dword [rax + rax]
mov ecx, dword [0x141dc9278]
imul ecx, dword [0x141dc927c]
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x8f4595f9
je 0x140047a40
nop dword [rax]
mov eax, dword [0x141dc9280]
add eax, dword [0x141dc9284]
imul eax, eax, 0xb51d429e
and eax, 0x3a4f638
cmp eax, 0x4e7abb75
je 0x140047a60
test dil, dil
jns 0x140047a98
lea rdx, [0x141db7b90]
mov r8d, 0xa
mov rcx, rsi
call fcn.140047c50
mov eax, dword [0x141dc9288]
xor edx, edx
div dword [0x141dc928c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9290]
sub eax, dword [0x141dc9294]
or eax, 0xdd9d89d7
add eax, 0x4a5b614
imul rcx, rax, 0x54bfb8b5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x60987c4b
ja 0x140047ab0
nop word cs:[rax + rax]
mov eax, dword [0x141dc9298]
sub eax, dword [0x141dc929c]
add eax, 0x6362a0dd
and eax, 0xd5b1acf6
cmp eax, 0xb077a75f
je 0x140047af0
nop dword [rax]
mov eax, dword [0x141dc92a0]
or eax, dword [0x141dc92a4]
or eax, 0x6f31a2a5
add eax, 0xcc305471
and eax, 0x92978576
cmp eax, 0x8f4f64e5
je 0x140047b10
test edi, 0x100
je 0x140047ba8
mov eax, dword [0x141dc92a8]
imul eax, dword [0x141dc92ac]
xor eax, 0x7d65b6c9
add eax, 0x5a52c4ff
xor eax, 0xef2cb714
cmp eax, 0x1d512eb3
jb 0x140047b91
mov eax, dword [0x141dc92b0]
xor eax, dword [0x141dc92b4]
and eax, 0x576bfc4e
imul ebx, eax, 0x14aff89e
lea rdx, [0x141db7bb8]
mov r8d, 0x13
mov rcx, rsi
call fcn.140047c50
cmp ebx, 0x2accfb34
jne 0x140047ba8
lea rdx, [0x141db7bb8]
mov r8d, 0x13
mov rcx, rsi
call fcn.140047c50
jmp 0x140047b5d
mov rcx, rsi
mov rdx, rdi
call fcn.1400484d0
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x141dc9180]
mov ecx, dword [0x141dc9184]
add eax, ecx
add eax, 0x64f468a2
xor eax, 0xe5fc9580
imul rax, rax, 0x3a35dd2f
shr rax, 0x3d
ud2
ud2
ud2
mov eax, dword [0x141dc9318]
or eax, dword [str.z]
imul eax, eax, 0x58d7d31f
and eax, 0x51ace5dd
mov qword [rsi + 0xa0], rcx
cmp eax, 0xd1a81285
jbe 0x140047bb3
mov qword [rsi + 0xa0], rcx
jmp 0x140047c17