Function at 0x140042770
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x338
mov rbx, r8
mov r14, rdx
mov rsi, rcx
nop dword [rax]
mov eax, dword [0x141dc2c28]
add eax, dword [0x141dc2c2c]
imul eax, eax, 0xb461f8d6
cmp eax, 0x817c89a8
je 0x140042790
xor r15d, r15d
lea rdi, [rsp + 0x28]
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r9d, 0xa705500b
mov r10, rbx
mov r11, r14
nop dword [rax]
test r10, r10
je 0x140043312
mov r8, r11
mov rcx, r10
nop
mov eax, dword [0x141dc2c30]
or eax, dword [0x141dc2c34]
imul eax, eax, 0x8eb8e601
add eax, 0x1e71c4a7
and eax, 0x50f310a0
cmp eax, 0x9309e692
je 0x1400427e0
lea r11, [r8 + 1]
lea r10, [rcx - 1]
movzx ebp, byte [r8]
mov eax, dword [0x141dc2c38]
xor edx, edx
div dword [0x141dc2c3c]
nop dword [rax]
mov eax, dword [0x141dc2c40]
xor eax, dword [0x141dc2c44]
or eax, 0xbfefebdc
cmp eax, 0x429436ee
je 0x140042820
nop dword [rax + rax]
mov eax, dword [0x141dc2c48]
sub eax, dword [0x141dc2c4c]
shr eax, 1
imul rax, r9
shr rax, 0x39
imul eax, eax, 0xd5f5962a
add eax, 0xc0491b08
cmp eax, 0x516d2452
ja 0x140042840
cmp bpl, 0x30
je 0x1400427d0
xor r15d, r15d
jmp 0x140042880
test rcx, rcx
je 0x140042a95
mov eax, dword [0x141dc2c50]
xor edx, edx
div dword [0x141dc2c54]
or eax, 0xa57fbfe5
imul eax, eax, 0xcca11fe6
cmp eax, 0xf6d8ef27
ja 0x140042880
movzx r10d, byte [r8]
lea r9d, [r10 - 0x30]
cmp r9b, 9
ja 0x140042a25
dec rcx
mov eax, dword [0x141dc2c58]
xor edx, edx
div dword [0x141dc2c5c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc2c60]
xor edx, edx
div dword [0x141dc2c64]
imul rax, rax, 0x7ba4c915
shr rax, 0x3e
imul eax, eax, 0x1b99d3a1
or eax, 0x71e6b45f
cmp eax, 0x915964ff
ja 0x1400428d0
inc r8
nop
mov eax, dword [0x141dc2c68]
or eax, dword [0x141dc2c6c]
and eax, 0x7918abfd
add eax, 0x8fe1fd6d
or eax, 0x93d82df6
cmp eax, 0xf877db42
ja 0x140042900
cmp r15, 0x2ff
ja 0x1400429be
nop
mov eax, dword [0x141dc2c70]
xor edx, edx
div dword [0x141dc2c74]
add eax, 0xb630edc5
or eax, 0x589cdcf4
cmp eax, 0xaec74091
je 0x140042930
mov eax, dword [0x141dc2c78]
xor eax, dword [0x141dc2c7c]
imul rax, rax, 0xdc8946f
shr rax, 0x3b
or eax, 0xe1e38cc8
imul rax, rax, 0x163ee30f
shr rax, 0x3a
cmp eax, 0x4b91ba27
jbe 0x140042990
mov byte [rsp + r15 + 0x30], r9b
nop word cs:[rax + rax]
mov eax, dword [0x141dc2c80]
or eax, dword [0x141dc2c84]
and eax, 0xb33d626
add eax, 0x59517a7c
or eax, 0xa09d16c7
mov byte [rsp + r15 + 0x30], r9b
cmp eax, 0xd59305d3
jb 0x140042990
mov rax, qword [rsp + 0x28]
jmp 0x1400429c1
mov rax, r15
mov edx, dword [0x141dc2c88]
xor edx, dword [0x141dc2c8c]
imul edx, edx, 0x751efc07
and edx, 0x5d679868
xor edx, 0xe0b79498
cmp edx, 0x254ddc40
jb 0x140042a1a
mov edx, dword [0x141dc2c90]
or edx, dword [0x141dc2c94]
xor edx, 0x822000
or edx, 0x16444522
and edx, 0x36c6652a
lea r15, [rax + 1]
mov qword [rsp + 0x28], r15
cmp edx, 0xc583d5af
jbe 0x140042877
lea rdx, [rax + 1]
mov qword [rsp + 0x28], rdx
jmp 0x1400429e7
mov eax, dword [0x141dc2c98]
xor edx, edx
div dword [0x141dc2c9c]
lea rdx, [r8 + 1]
lea r9, [rcx - 1]
nop dword [rax + rax]
mov eax, dword [0x141dc2ca0]
add eax, dword [0x141dc2ca4]
xor eax, 0x28248489
or eax, 0xc7596a20
cmp eax, 0x2935bb0c
jb 0x140042a40
cmp r10b, 0x2e
jne 0x140042ec0
nop word [rax + rax]
mov eax, dword [0x141dc2cb0]
xor eax, dword [0x141dc2cb4]
add eax, 0xdc4b880d
cmp eax, 0x9cde6346
jb 0x140042a70
test r15, r15
je 0x140042a9c
mov r10, r9
mov rax, rdx
jmp 0x140042b00
xor ecx, ecx
jmp 0x140042ec0
add rcx, r8
xor r10d, r10d
mov r11, r9
nop word cs:[rax + rax]
test r11, r11
je 0x140042ea4
mov eax, dword [0x141dc2cb8]
sub eax, dword [0x141dc2cbc]
and eax, 0x16243116
xor eax, 0x109e1512
or eax, 0x6841cac9
cmp eax, 0x2d26bb3
jb 0x140042ab9
inc rdx
lea rax, [r8 + 1]
dec r11
cmp byte [r8 + 1], 0x30
mov r8, rax
je 0x140042ab0
inc r11
mov r10, r11
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2cc0]
imul ecx, dword [0x141dc2cc4]
imul ecx, ecx, 0xa118415a
imul rdx, rcx, 0x21ae05f1
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
add ecx, 0xfac56e17
cmp ecx, 0x98719146
jb 0x140042b00
cmp r10, 8
jb 0x140042d27
movabs rcx, 0xcfcfcfcfcfcfcfd0
movabs rdx, 0x8080808080808080
movabs r8, 0x4646464646464646
mov r11d, 0xceb308f5
xor ebp, ebp
nop word cs:[rax + rax]
mov r12d, dword [0x141dc2cc8]
add r12d, dword [0x141dc2ccc]
or r12d, 0xf0ee067b
xor r12d, 0xa0f4543f
add r12d, 0x6eb7bea4
cmp r12d, 0xbfd2c419
jb 0x140042b70
lea r12, [r15 + 8]
cmp r12, 0x300
jae 0x140042d30
mov r12d, dword [0x141dc2d00]
xor r12d, dword [0x141dc2d04]
or r12d, 0x179832f3
add r12d, 0xf471df44
or r12d, 0xeb32e977
cmp r12d, 0x744714a8
jb 0x140042bad
mov r12, qword [rax]
mov r13d, dword [0x141dc2d08]
add r13d, dword [0x141dc2d0c]
or r13d, 0x1d5684d2
imul r13, r13, 0x5b1820c3
shr r13, 0x3c
cmp r13d, 0x4ab0eb26
je 0x140042bdc
lea r13, [r12 + r8]
add r12, rcx
or r13, r12
test r13, rdx
jne 0x140042d30
nop dword [rax + rax]
mov r13d, dword [0x141dc2d10]
xor r13d, dword [0x141dc2d14]
imul r13, r11
shr r13, 0x3f
add r13d, 0x2469937
cmp r13d, 0x311b49a5
ja 0x140042c20
cmp r15, 0x301
jae 0x14004307d
test bpl, bpl
je 0x140042c60
mov qword [rsp + r15 + 0x30], r12
nop dword [rax]
mov r13d, dword [0x141dc2d18]
xor r13d, dword [0x141dc2d1c]
add r13d, 0x96316613
and r13d, 0xcc7922f6
add r13d, 0xe72a29bd
mov qword [rsp + r15 + 0x30], r12
cmp r13d, 0xc078ff70
ja 0x140042c60
mov r15, qword [rsp + 0x28]
add r15, 8
mov r12d, dword [0x141dc2d20]
add r12d, dword [0x141dc2d24]
xor r12d, 0x47d910b5
add r12d, 0xccdcd93f
and r12d, 0x4590b003
cmp r12d, 0xaa500e77
ja 0x140042d20
nop word cs:[rax + rax]
mov qword [rsp + 0x28], r15
test bpl, bpl
jne 0x140042d20
add r10, 0xfffffffffffffff8
nop
mov r12d, dword [0x141dc2d28]
xor r12d, dword [0x141dc2d2c]
imul r12d, r12d, 0x6e8a796e
add r12d, 0x11fc3864
cmp r12d, 0x2419e91a
jb 0x140042ce0
add rax, 8
cmp r10, 7
ja 0x140042b70
jmp 0x140042d27
mov qword [rsp + 0x28], r15
jmp 0x140042cd0
test r10, r10
je 0x140042e9c
xor r8d, r8d
mov r11d, 0xa8907b01
mov r12d, 0xa1878137
mov rcx, rax
nop word cs:[rax + rax]
movzx ebp, byte [rcx]
add bpl, 0xd0
cmp bpl, 9
ja 0x140042ea7
nop word cs:[rax + rax]
test r8b, r8b
jne 0x140042d70
dec r10
mov eax, dword [0x141dc2cd0]
add eax, dword [0x141dc2cd4]
imul rax, r11
shr rax, 0x3f
or eax, 0x7df60eee
imul eax, eax, 0xc460fce2
cmp eax, 0x11e34af5
je 0x140042d78
inc rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc2cd8]
xor eax, dword [str.uJbmO]
imul eax, eax, 0xa85c0380
cmp eax, 0xf08df0ae
je 0x140042db0
cmp r15, 0x2ff
ja 0x140042e30
mov eax, dword [0x141dc2ce0]
imul eax, dword [0x141dc2ce4]
add eax, 0xa1c608a3
and eax, 0x5e22db09
cmp eax, 0xdf3286ae
jbe 0x140042e00
mov byte [rsp + r15 + 0x30], bpl
nop word cs:[rax + rax]
mov eax, dword [str.YND_v]
xor edx, edx
div dword [0x141dc2cec]
and eax, 0xad523b38
mov byte [rsp + r15 + 0x30], bpl
cmp eax, 0x47b8cd8b
je 0x140042e00
mov r13, qword [rsp + 0x28]
jmp 0x140042e33
mov r13, r15
mov eax, dword [0x141dc2cf0]
xor edx, edx
div dword [0x141dc2cf4]
cmp eax, 0x91c209b3
jne 0x140042e60
lea rax, [r13 + 1]
mov qword [rsp + 0x28], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc2cf8]
and eax, dword [0x141dc2cfc]
and eax, 0x40610001
or eax, 0xb99cf994
imul rax, r12
shr rax, 0x3e
lea r15, [r13 + 1]
mov qword [rsp + 0x28], r15
cmp eax, 0x69cf9c6a
je 0x140042e60
test r10, r10
jne 0x140042d50
xor r10d, r10d
jmp 0x140042ea7
xor r10d, r10d
mov rcx, rax
jmp 0x140042ea7
xor r15d, r15d
mov r8, rcx
mov eax, r10d
sub eax, r9d
mov dword [rsp + 0x330], eax
mov rcx, r10
nop word [rax + rax]
mov eax, dword [0x141dc2ca8]
xor edx, edx
div dword [0x141dc2cac]
or eax, 0x6f6fc777
add eax, 0xeb0becda
cmp eax, 0xc4e62c4e
ja 0x140042ec0
test r15, r15
je 0x14004304a
nop dword [rax + rax]
mov eax, dword [0x141dc2d30]
add eax, dword [0x141dc2d34]
and eax, 0x905222c0
add eax, 0x7d106548
cmp eax, 0x169d9d12
jb 0x140042ef0
cmp rbx, rcx
jb 0x14004305c
nop word cs:[rax + rax]
mov eax, dword [0x141dc2d38]
add eax, dword [0x141dc2d3c]
or eax, 0xc10108a2
and eax, 0xe12908a2
xor eax, 0x423251f8
cmp eax, 0x64169fec
jb 0x140042f20
nop word cs:[rax + rax]
mov eax, dword [0x141dc2d40]
xor edx, edx
div dword [0x141dc2d44]
xor eax, 0x40606240
or eax, 0xb51f1d34
cmp eax, 0x1f4239e8
jb 0x140042f50
sub rbx, rcx
jne 0x140042f80
xor eax, eax
jmp 0x140042fff
mov eax, dword [0x141dc2d48]
imul eax, dword [0x141dc2d4c]
add eax, 0x1a7dbbc7
cmp eax, 0x1f7abc1d
ja 0x140042f80
add rbx, r14
xor eax, eax
nop
mov edx, dword [0x141dc2d58]
or edx, dword [0x141dc2d5c]
imul edx, edx, 0x9167f05c
xor edx, 0x40281062
or edx, 0xbf434e95
cmp edx, 0x759c402a
jb 0x140042fa0
movzx edx, byte [rbx - 1]
cmp edx, 0x2e
je 0x140042fd7
cmp edx, 0x30
jne 0x140042fff
inc rax
dec rbx
mov edx, dword [0x141dc2d60]
add edx, dword [0x141dc2d64]
imul edx, edx, 0x6c19d604
add edx, 0x530c06bc
cmp edx, 0x4e052954
jb 0x140042fda
cmp rbx, r14
jne 0x140042fa0
mov edx, dword [rsp + 0x330]
add edx, eax
sub r15, rax
mov qword [rsp + 0x28], r15
lea eax, [r15 + rdx]
mov dword [rsp + 0x330], eax
cmp r15, 0x300
jbe 0x14004304d
mov eax, dword [0x141dc2d68]
xor eax, dword [0x141dc2d6c]
or eax, 0x13d227c9
and eax, 0xb3d227dd
cmp eax, 0x354148be
jne 0x140043448
jmp 0x140043473
xor r15d, r15d
mov r9, rcx
sub r9, 1
jb 0x1400432c0
jmp 0x14004307f
ud2
ud2
movzx eax, byte [r8]
or eax, 0x20
cmp eax, 0x65
jne 0x1400432c0
lea r10, [r8 + 1]
add r8, 2
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400430a0
add rcx, 0xfffffffffffffffe
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1400430b0
nop word cs:[rax + rax]
mov eax, dword [0x141dc2da0]
xor edx, edx
div dword [0x141dc2da4]
add eax, 0x3b3c7292
and eax, 0x70109184
cmp eax, 0x19ca24e4
jb 0x1400430c0
test r9, r9
je 0x14004325b
nop dword [rax + rax]
mov eax, dword [0x141dc2da8]
xor edx, edx
div dword [0x141dc2dac]
imul eax, eax, 0x7f69f5cc
cmp eax, 0x88691b3c
je 0x1400430f0
movzx eax, byte [r10]
nop
mov edx, dword [0x141dc2db0]
mov r11d, dword [0x141dc2db4]
add edx, r11d
add edx, 0x7c088d26
imul r11, rdx, 0x4c24a3ff
shr r11, 0x20
sub edx, r11d
shr edx, 1
add edx, r11d
shr edx, 0x1b
or edx, 0x20815c3a
cmp edx, 0xff768370
ja 0x140043110
cmp eax, 0x2d
je 0x140043160
cmp eax, 0x2b
jne 0x14004319f
nop word cs:[rax + rax]
mov edx, dword [0x141dc2db8]
or edx, dword [0x141dc2dbc]
imul r9, rdx, 0x4b7a23cd
shr r9, 0x20
sub edx, r9d
shr edx, 1
add edx, r9d
shr edx, 0x1f
add edx, 0xe97fc5ed
cmp edx, 0xbfcea3a
jb 0x140043160
mov r10, r8
mov r9, rcx
test rcx, rcx
je 0x14004326a
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400431b0
xor ecx, ecx
xor r8d, r8d
xor edx, edx
nop dword [rax + rax]
mov r11d, dword [0x141dc2dc0]
sub r11d, dword [0x141dc2dc4]
imul r11d, r11d, 0x6f6c3931
and r11d, 0x67037cd8
add r11d, 0x53584dce
cmp r11d, 0x667df22b
jb 0x1400431c0
movzx ebx, byte [r10]
add bl, 0xd0
cmp bl, 9
ja 0x140043265
dec r9
inc r10
cmp edx, 0x10000
lea r11d, [rdx + rdx*4]
movzx r14d, bl
lea ebp, [r14 + r11*2]
mov r11d, r8d
cmovl r11d, ebp
test cl, cl
jne 0x1400431fe
mov r8d, dword [0x141dc2dc8]
or r8d, dword [0x141dc2dcc]
imul r8d, r8d, 0xb7af4df0
add r8d, 0x712ba4e0
cmp edx, 0x10000
mov ebx, edx
cmovl ebx, ebp
cmp r8d, 0xaf35c634
jb 0x14004321b
mov r8d, r11d
mov edx, ebx
test r9, r9
jne 0x1400431c0
jmp 0x14004326d
xor ecx, ecx
xor eax, eax
test al, al
je 0x140043290
jmp 0x14004327f
mov r11d, r8d
jmp 0x14004326d
xor r11d, r11d
mov ecx, r11d
neg ecx
cmp eax, 0x2d
cmovne ecx, r11d
xor eax, eax
test al, al
je 0x140043290
add dword [rsp + 0x330], ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc2dd0]
xor eax, dword [0x141dc2dd4]
xor eax, 0x18904330
or eax, 0xe56f180b
add eax, 0x1eef36bf
add dword [rsp + 0x330], ecx
cmp eax, 0x48c5f73b
ja 0x140043290
nop dword [rax]
mov eax, dword [0x141dc2d80]
sub eax, dword [0x141dc2d84]
imul eax, eax, 0x253201db
add eax, 0x9290717f
cmp eax, 0xd21501d2
ja 0x1400432c0
nop
mov eax, dword [0x141dc2d88]
or eax, dword [0x141dc2d8c]
add eax, 0x8d9d9f27
imul rax, rax, 0x409a5d5
shr rax, 0x39
or eax, 0x19e2ad2a
cmp eax, 0x90fbf953
ja 0x1400432e0
cmp r15, 0x12
ja 0x14004339a
mov eax, dword [0x141dc2d90]
xor eax, dword [0x141dc2d94]
imul rax, rax, 0x50f43679
shr rax, 0x37
or eax, 0xcc6c1b82
imul rax, rax, 0x5dbaf45d
shr rax, 0x3e
cmp eax, 0xdee98c98
je 0x140043380
mov eax, dword [0x141dc2d98]
imul eax, dword [0x141dc2d9c]
mov ecx, 0xd88dba4b
imul rcx, rax
shr rcx, 0x3d
imul ebx, ecx, 0x38e6b94d
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
cmp ebx, 0x58caa937
jne 0x14004339a
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
jmp 0x140043340
mov eax, dword [0x141dc2dd8]
xor eax, dword [0x141dc2ddc]
or eax, 0x4eab88ac
imul eax, eax, 0xff9184d0
add eax, 0xd2f04d70
cmp eax, 0x55951115
jb 0x1400433f4
mov eax, dword [0x141dc2de0]
sub eax, dword [0x141dc2de4]
or eax, 0xa1fa99cd
xor eax, 0xb7378a9e
imul edi, eax, 0x51b57971
lea rdx, [rsp + 0x28]
mov r8d, 0x310
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
cmp edi, 0x8bb2244e
jne 0x140043410
lea rdx, [rsp + 0x28]
mov r8d, 0x310
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1400433bd
mov eax, dword [0x141dc2de8]
xor edx, edx
div dword [0x141dc2dec]
or eax, 0x472d4b62
add eax, 0xc162f246
xor eax, 0x6602d651
cmp eax, 0x81bcd04
jb 0x140043410
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc2d70]
imul eax, dword [0x141dc2d74]
add eax, 0xd7f74c8b
or eax, 0x44fe769d
add eax, 0x2c8f2afd
mov byte [rsp + 0x334], 1
cmp eax, 0xf15f2723
jbe 0x14004347d
mov byte [rsp + 0x334], 1
jmp 0x140043448
mov qword [rsp + 0x28], 0x300
nop word cs:[rax + rax]
mov eax, dword [0x141dc2d78]
add eax, dword [str._VBf]
imul eax, eax, 0xbed5aec7
or eax, 0x46cf8c2
and eax, 0xf7fcfade
cmp eax, 0xe7a3adfa
jae 0x140043490
mov r15d, 0x300
mov r9, rcx
sub r9, 1
jb 0x1400432c0
jmp 0x14004307f