Function at 0x140046110
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
nop
mov eax, dword [0x141dc5f28]
xor eax, dword [0x141dc5f2c]
imul rax, rax, 0x7a4a923f
shr rax, 0x3d
imul eax, eax, 0x5206e113
cmp eax, 0xc784ba99
ja 0x140046120
cmp rdi, 8
jae 0x1400462b9
lea rax, [0x141db5720]
mov r8d, dword [rax + rdi*4]
mov rcx, qword [rsi + 0xa0]
mov eax, dword [str.b.9Zl]
sub eax, dword [0x141dc6074]
imul eax, eax, 0x86b33353
add eax, 0xacec243
cmp eax, 0x71d1be38
ja 0x140046160
cmp rcx, 0x28
ja 0x1400464fc
nop dword [rax + rax]
mov eax, dword [0x141dc6078]
and eax, dword [0x141dc607c]
add eax, 0xd8ee6c69
cmp eax, 0x686d9fa3
jb 0x140046190
test rcx, rcx
je 0x1400464e7
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400461c0
lea r10, [rcx*4]
xor r11d, r11d
xor edi, edi
jmp 0x1400461f0
shr r9, 0x20
add r11, 4
mov rdi, r9
cmp r10, r11
je 0x140046260
mov eax, dword [0x141dc6090]
imul eax, dword [0x141dc6094]
imul eax, eax, 0xea15d237
cmp eax, 0x5106b885
je 0x140046243
nop word [rax + rax]
mov eax, dword [0x141dc6098]
xor edx, edx
div dword [0x141dc609c]
add eax, 0xc45a26b9
xor eax, 0x7c4e9b89
add eax, 0x1073a66a
mov r9d, dword [rsi + r11]
imul r9, r8
add r9, rdi
mov dword [rsi + r11], r9d
cmp eax, 0xd9d739a6
jbe 0x1400461e0
mov eax, dword [rsi + r11]
imul eax, r8d
add eax, edi
mov dword [rsi + r11], eax
jmp 0x140046210
mov eax, dword [0x141dc6088]
imul eax, dword [0x141dc608c]
add eax, 0x82897acc
xor eax, 0x1c103147
or eax, 0x608688b8
cmp eax, 0x717e9512
jb 0x140046260
test r9d, r9d
je 0x140046bc5
cmp rcx, 0x27
ja 0x140046599
mov eax, dword [0x141dc60a0]
xor edx, edx
div dword [0x141dc60a4]
or eax, 0x4846b3e3
cmp eax, 0x51a3c46
jne 0x140046b9f
jmp 0x140046bbc
mov ecx, edi
and ecx, 7
nop
mov eax, dword [str.dS_vz]
and eax, dword [0x141dc5f34]
or eax, 0x4e7ffb9b
imul eax, eax, 0x3c2c6263
or eax, 0x602aaf5c
cmp eax, 0x1cd5cf92
je 0x1400462c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc5f38]
or eax, dword [0x141dc5f3c]
or eax, 0x7ae9531d
add eax, 0xcf973aac
cmp eax, 0xfe95af9c
ja 0x1400462f0
test rcx, rcx
je 0x1400465d0
lea rax, [0x141db5720]
mov r9d, dword [rax + rcx*4]
mov eax, dword [0x141dc5f50]
xor edx, edx
div dword [0x141dc5f54]
nop
mov eax, dword [0x141dc5f58]
and eax, dword [0x141dc5f5c]
mov r8, r9
shr r8, cl
cmp eax, 0x34496980
je 0x140046330
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x14004653d
mov eax, dword [0x141dc5f60]
xor edx, edx
div dword [0x141dc5f64]
nop dword [rax + rax]
mov eax, dword [0x141dc5f68]
add eax, dword [0x141dc5f6c]
imul eax, eax, 0xc36cd2c8
xor eax, 0x4607600
or eax, 0xf38809be
cmp eax, 0x1b0ef32a
jb 0x140046370
mov eax, 0x9e5f053d
nop dword [rax + rax]
mov edx, dword [0x141dc5f70]
and edx, dword [0x141dc5f74]
imul rdx, rax
shr rdx, 0x3b
xor edx, 0x7845bacf
add edx, 0xdde575eb
cmp edx, 0xf3c40980
ja 0x1400463a0
mov eax, 0xf45642a1
nop dword [rax]
mov edx, dword [0x141dc5f78]
sub edx, dword [0x141dc5f7c]
and edx, 0x40031002
or edx, 0xbefcef64
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x42a9567d
je 0x1400463d0
test rcx, rcx
je 0x1400464f5
lea rax, [rcx*4]
xor edx, edx
xor r10d, r10d
jmp 0x140046424
shr r9, 0x20
add rdx, 4
mov r10, r9
cmp rax, rdx
je 0x1400464a0
mov r9d, dword [0x141dc5f98]
imul r9d, dword [0x141dc5f9c]
or r9d, 0xd7fa7d9e
add r9d, 0x9c9c0fe7
cmp r9d, 0xb002bda4
ja 0x14004648f
nop word [rax + rax]
mov r9d, dword [0x141dc5fa0]
sub r9d, dword [0x141dc5fa4]
imul r11, r9, 0x1c188497
shr r11, 0x38
xor r11d, 0x5ee5879
add r11d, 0xbb6899b6
mov r9d, dword [rsi + rdx]
imul r9, r8
add r9, r10
mov dword [rsi + rdx], r9d
cmp r11d, 0x9ddec2b2
jae 0x140046410
mov r9d, dword [rsi + rdx]
imul r9d, r8d
add r9d, r10d
mov dword [rsi + rdx], r9d
jmp 0x140046450
mov eax, dword [str.0og_]
and eax, dword [0x141dc5f94]
cmp eax, 0xd6c7cbef
je 0x1400464a0
test r9d, r9d
je 0x140046b22
cmp rcx, 0x27
ja 0x140046b2e
mov eax, dword [0x141dc5fa8]
sub eax, dword [0x141dc5fac]
and eax, 0x838edadb
cmp eax, 0xe431b96e
jne 0x140046b30
jmp 0x140046b3a
xor ecx, ecx
mov qword [rsi + 0xa0], rcx
jmp 0x140046b16
xor ecx, ecx
jmp 0x140046b22
ud2
mov eax, dword [0x141dc5f80]
sub eax, dword [0x141dc5f84]
xor eax, 0xc696f69
add eax, 0x6e79a05d
cmp eax, 0xe35d3fcb
jbe 0x140046560
ud2
mov eax, dword [0x141dc5f88]
sub eax, dword [0x141dc5f8c]
or eax, 0x1020544b
and eax, 0x52b3544f
ud2
mov eax, dword [0x141dc60b0]
imul eax, dword [0x141dc60b4]
add eax, 0x5f3d9281
xor eax, 0x388201a5
add eax, 0x83e0047a
cmp eax, 0xec0a1b58
jbe 0x140046bd1
jmp 0x140046bf6
mov eax, dword [0x141dc5f40]
xor edx, edx
div dword [0x141dc5f44]
or eax, 0x47ceb137
xor eax, 0x781ec5fa
imul eax, eax, 0xd51a0b95
cmp eax, 0x69dd03f0
je 0x1400465d0
mov eax, 0xdf69c725
nop word [rax + rax]
mov ecx, dword [0x141dc5f48]
or ecx, dword [str._Y_]
imul rcx, rax
shr rcx, 0x3c
and ecx, 2
add ecx, 0x7b3e87aa
cmp ecx, 0x1d72b84c
jb 0x140046600
test dil, 8
je 0x14004681f
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x28
ja 0x140046b2e
mov eax, dword [0x141dc5fb8]
xor edx, edx
div dword [0x141dc5fbc]
nop
mov eax, dword [0x141dc5fc0]
or eax, dword [0x141dc5fc4]
add eax, 0x89d11666
xor eax, 0x363e5684
imul eax, eax, 0x4be30e06
cmp eax, 0x715e2195
jb 0x140046650
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046680
nop word cs:[rax + rax]
mov eax, dword [0x141dc5fc8]
imul eax, dword [0x141dc5fcc]
and eax, 0x7f552776
imul eax, eax, 0x482b789b
and eax, 0x60fb6e7c
cmp eax, 0xd537e645
ja 0x140046690
test rcx, rcx
je 0x1400467a0
lea rdx, [rcx*4]
xor r8d, r8d
xor eax, eax
nop word [rax + rax]
mov r9d, dword [rsi + r8]
imul r9, r9, 0x5f5e1
add r9, rax
mov rax, r9
shr rax, 0x20
mov dword [rsi + r8], r9d
add r8, 4
cmp rdx, r8
jne 0x1400466d0
test rax, rax
je 0x1400467a2
nop dword [rax + rax]
mov edx, dword [0x141dc5fd0]
or edx, dword [0x141dc5fd4]
imul rdx, rdx, 0x6a61796b
shr rdx, 0x3e
or edx, 0x72f5bdce
cmp edx, 0x1f14cb1e
jb 0x140046700
cmp rcx, 0x27
ja 0x1400467c7
mov dword [rsi + rcx*4], eax
inc rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc5fd8]
and eax, dword [0x141dc5fdc]
imul rdx, rax, 0x3014a56d
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
imul eax, eax, 0x7efa12aa
add eax, 0x95a84f82
cmp eax, 0x58d64958
jb 0x140046740
nop word cs:[rax + rax]
mov eax, dword [0x141dc5fe0]
imul eax, dword [0x141dc5fe4]
and eax, 0xa002a
add eax, 0x36e0ec5e
cmp eax, 0x89083f7c
jae 0x140046780
jmp 0x1400467a2
xor ecx, ecx
mov eax, dword [0x141dc5ff8]
or eax, dword [0x141dc5ffc]
or eax, 0x46b7b2a9
xor eax, 0xee28b03e
imul eax, eax, 0xd5e685d2
cmp eax, 0x702e634b
jae 0x1400467e8
jmp 0x140046816
mov eax, dword [0x141dc5fe8]
sub eax, dword [0x141dc5fec]
and eax, 0x285d4907
cmp eax, 0xbf03bbc4
jne 0x140046b74
jmp 0x140046b9b
mov eax, dword [0x141dc6000]
add eax, dword [0x141dc6004]
mov edx, 0xa492eff3
imul rdx, rax
shr rdx, 0x3c
add edx, 0xa6cb426f
mov qword [rsi + 0xa0], rcx
cmp edx, 0x88168c49
jae 0x14004681f
mov qword [rsi + 0xa0], rcx
jmp 0x1400467e8
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046830
nop word cs:[rax + rax]
mov eax, dword [0x141dc6008]
xor eax, dword [0x141dc600c]
cmp eax, 0xdddd166d
je 0x140046840
test dil, 0x10
je 0x1400468e3
mov eax, dword [0x141dc6010]
xor edx, edx
div dword [0x141dc6014]
imul eax, eax, 0xd2b6b30c
xor eax, 0xf9c419cc
imul eax, eax, 0x5196ec13
cmp eax, 0xc175925d
ja 0x14004689e
lea rdx, [0x141db5748]
mov r8d, 2
mov rcx, rsi
call fcn.140046c30
xor eax, eax
test al, al
je 0x1400468c0
lea rdx, [0x141db5748]
mov r8d, 2
mov rcx, rsi
call fcn.140046c30
jmp 0x140046883
mov eax, dword [0x141dc6018]
sub eax, dword [0x141dc601c]
xor eax, 0x65851be1
imul eax, eax, 0x31136ea4
or eax, 0xb0888c3a
cmp eax, 0xb3d6231b
jb 0x1400468c0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400468f0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6020]
and eax, dword [0x141dc6024]
add eax, 0x55f98f77
cmp eax, 0x45ef915e
jb 0x140046900
test dil, 0x20
je 0x140046971
lea rdx, [0x141db5750]
mov r8d, 3
mov rcx, rsi
call fcn.140046c30
nop word cs:[rax + rax]
mov eax, dword [0x141dc6028]
and eax, dword [0x141dc602c]
imul rcx, rax, 0x2978dbef
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x80c7384e
xor eax, 0x715f0b84
cmp eax, 0x567bc1fa
jb 0x140046940
mov eax, dword [0x141dc6030]
xor edx, edx
div dword [0x141dc6034]
nop
mov eax, dword [0x141dc6038]
xor edx, edx
div dword [0x141dc603c]
add eax, 0x9235dd17
xor eax, 0x5adf405
cmp eax, 0x27ea648b
jb 0x140046980
test dil, 0x40
je 0x140046a30
mov eax, dword [0x141dc6040]
add eax, dword [0x141dc6044]
imul eax, eax, 0x5b81d081
and eax, 0x77392f17
add eax, 0x19019a6b
cmp eax, 0x6aee5f59
jbe 0x1400469e1
lea rdx, [0x141db575c]
mov r8d, 5
mov rcx, rsi
call fcn.140046c30
lea rbx, [0x141db575c]
xor ebp, ebp
nop word [rax + rax]
mov r8d, 5
mov rcx, rsi
mov rdx, rbx
call fcn.140046c30
test bpl, bpl
jne 0x1400469f0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6048]
xor edx, edx
div dword [0x141dc604c]
imul eax, eax, 0x273fb264
cmp eax, 0x342515f9
je 0x140046a10
nop dword [rax + rax]
mov eax, dword [0x141dc6050]
xor eax, dword [0x141dc6054]
and eax, 0xd86dfe8d
add eax, 0xa6ae6b7a
xor eax, 0xc881d5a0
cmp eax, 0xe0e692d1
jb 0x140046a30
nop word cs:[rax + rax]
mov eax, dword [0x141dc6058]
xor eax, dword [0x141dc605c]
imul eax, eax, 0xf351f8e8
add eax, 0xf2513720
cmp eax, 0x808a1f1a
ja 0x140046a60
test dil, dil
jns 0x140046aa0
lea rdx, [0x141db5770]
mov r8d, 0xa
mov rcx, rsi
call fcn.140046c30
nop dword [rax + rax]
mov eax, dword [0x141dc6060]
imul eax, dword [0x141dc6064]
or eax, 0x8453af64
imul rax, rax, 0x338bac4b
shr rax, 0x3d
or eax, 0xa13ea052
cmp eax, 0xe7039a99
je 0x140046aa0
nop dword [rax]
mov eax, dword [0x141dc6068]
xor eax, dword [0x141dc606c]
imul eax, eax, 0xc1ad0612
or eax, 0xbd7b2bee
cmp eax, 0x8d452e8f
jb 0x140046ad0
test edi, 0x100
je 0x140046b0b
lea rdx, [0x141db5798]
mov r8d, 0x13
mov rcx, rsi
call fcn.140046c30
mov rcx, rsi
mov rdx, rdi
call fcn.140047630
mov rax, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov qword [rsi + 0xa0], rcx
jmp 0x1400465d0
ud2
mov dword [rsi + rcx*4], r9d
xor eax, eax
test al, al
je 0x140046b40
mov dword [rsi + rcx*4], r9d
jmp 0x140046b30
inc rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc5fb0]
or eax, dword [0x141dc5fb4]
or eax, 0x1c24c3e9
add eax, 0x219a1c67
or eax, 0x2b9230a2
cmp eax, 0x1da16032
je 0x140046b50
jmp 0x140046b22
mov eax, dword [0x141dc5ff0]
xor edx, edx
div dword [0x141dc5ff4]
or eax, 0x3d6dec0a
imul eax, eax, 0x7905da7d
add eax, 0x6572f119
ud2
ud2
mov eax, dword [0x141dc60a8]
imul eax, dword [0x141dc60ac]
or eax, 0xa6363ab4
mov dword [rsi + rcx*4], r9d
cmp eax, 0x4fa4bbdf
jne 0x140046bc2
mov dword [rsi + rcx*4], r9d
jmp 0x140046b9f
inc rcx
mov qword [rsi + 0xa0], rcx
jmp 0x140046b16
mov eax, dword [0x141dc60b8]
or eax, dword [0x141dc60bc]
imul rax, rax, 0x37ea6865
shr rax, 0x3b
xor eax, 0xc7501e9d
ud2
ud2