Function at 0x1400467a0
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
xor r15d, r15d
lea rdi, [rsp + 0x28]
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea r8, [rbx + 1]
lea r9, [r14 - 1]
mov ecx, 0xc9d0c4a1
mov r10, r14
nop word cs:[rax + rax]
mov eax, dword [0x141f33028]
xor eax, dword [0x141f3302c]
or eax, 0xdefdbab8
add eax, 0x7c7ecb30
cmp eax, 0xb51bab85
ja 0x1400467f0
cmp r8, 1
je 0x14004718d
mov eax, dword [0x141f33030]
xor edx, edx
div dword [0x141f33034]
mov eax, dword [0x141f33038]
or eax, dword [0x141f3303c]
add eax, 0xa2d37ba0
imul rax, rax, 0x54900153
shr rax, 0x3e
or eax, 0xa4fa69ae
cmp eax, 0xf30c0156
ja 0x140046825
inc r10
movzx eax, byte [r9 + 1]
nop word cs:[rax + rax]
mov edx, dword [0x141f33040]
add edx, dword [0x141f33044]
xor edx, 0x8898f619
imul rdx, rcx
shr rdx, 0x3a
and edx, 0xffffffe5
cmp edx, 0x598c64c0
ja 0x140046860
dec r8
inc r9
cmp al, 0x30
je 0x1400467f0
mov r10d, 0xc5b5a4e3
xor ecx, ecx
jmp 0x1400468c0
mov rcx, qword [rsp + 0x28]
inc rcx
mov qword [rsp + 0x28], rcx
test r8, r8
je 0x140046d97
nop word cs:[rax + rax]
mov eax, dword [0x141f33048]
and eax, dword [0x141f3304c]
or eax, 0xf6f1fd5f
imul rdx, rax, 0x6ca0b15
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
or eax, 0xf2b361b4
cmp eax, 0x3325fd0e
jb 0x1400468c0
movzx r12d, byte [r9]
lea r11d, [r12 - 0x30]
cmp r11b, 9
ja 0x1400469f9
mov eax, dword [0x141f33050]
xor edx, edx
div dword [0x141f33054]
mov eax, dword [0x141f33058]
sub eax, dword [0x141f3305c]
imul rax, r10
shr rax, 0x3b
or eax, 0xe2fbd8fa
cmp eax, 0x267b5984
je 0x140046912
dec r8
inc r9
nop dword [rax + rax]
mov eax, dword [0x141f33060]
xor edx, edx
div dword [0x141f33064]
add eax, 0x6e89b9cd
xor eax, 0x9e7d1191
add eax, 0xc4988227
cmp eax, 0x7b6499d6
jb 0x140046940
cmp rcx, 0x2ff
ja 0x1400468a2
mov eax, dword [0x141f33068]
xor edx, edx
div dword [0x141f3306c]
mov eax, dword [0x141f33070]
add eax, dword [0x141f33074]
imul rax, rax, 0x6214a101
shr rax, 0x3c
imul eax, eax, 0x9a111410
or eax, 0xf67dff16
cmp eax, 0xbfbb5bcf
jb 0x14004697f
mov eax, dword [0x141f33078]
imul eax, dword [0x141f3307c]
xor eax, 0x1c12000
or eax, 0x941a9fe9
cmp eax, 0xb587e52e
jb 0x1400469f2
mov eax, dword [str.u:S]
or eax, dword [0x141f33084]
or eax, 0x6465680f
xor eax, 0xeb320bb1
imul eax, eax, 0x50361c84
mov byte [rsp + rcx + 0x30], r11b
cmp eax, 0xff25bc37
jbe 0x14004689d
mov byte [rsp + rcx + 0x30], r11b
jmp 0x1400469c6
mov eax, dword [0x141f33088]
xor edx, edx
div dword [0x141f3308c]
lea r15, [r9 + 1]
lea r10, [r8 - 1]
nop
mov eax, dword [0x141f33090]
add eax, dword [0x141f33094]
imul eax, eax, 0x577f9264
add eax, 0xfebfadd4
or eax, 0x4f9ee2c4
cmp eax, 0xc5a91f70
je 0x140046a10
cmp r12b, 0x2e
jne 0x140046d9a
mov r11, r10
test rcx, rcx
jne 0x140046ae0
lea rax, [r9 + r8]
nop dword [rax]
mov edx, dword [0x141f33098]
xor edx, dword [0x141f3309c]
cmp edx, 0xa8e4c5dc
je 0x140046a50
nop word cs:[rax + rax]
mov edx, dword [str.___fp]
xor edx, dword [0x141f330a4]
add edx, 0xbd7172a6
and edx, 0xf018586d
imul edx, edx, 0x5772e833
cmp edx, 0xdffb354b
ja 0x140046a70
mov r15, r9
mov r11, r8
nop dword [rax]
cmp r11, 1
je 0x140046f25
movzx edx, byte [r15 + 1]
mov r8d, dword [0x141f330a8]
and r8d, dword [0x141f330ac]
add r8d, 0x72843ef8
and r8d, 0x8a8260
cmp r8d, 0x6879809f
je 0x140046aaf
dec r11
inc r15
cmp dl, 0x30
je 0x140046aa0
nop
mov eax, dword [0x141f330b0]
or eax, dword [0x141f330b4]
add eax, 0xb2f4232f
imul rax, rax, 0x1040a907
shr rax, 0x3c
cmp eax, 0x33d092e2
ja 0x140046ae0
cmp r11, 8
jb 0x140046c76
movabs r8, 0x8080808080808080
movabs r9, 0x4646464646464646
movabs r12, 0xcfcfcfcfcfcfcfd0
nop dword [rax + rax]
lea rax, [rcx + 8]
cmp rax, 0x300
jae 0x140046c7f
mov r13, qword [r15]
lea rbp, [r9 + r13]
add r13, r12
or rbp, r13
mov eax, dword [0x141f330d8]
xor edx, edx
div dword [0x141f330dc]
nop dword [rax + rax]
mov eax, dword [0x141f330e0]
imul eax, dword [0x141f330e4]
add eax, 0xdaa959fe
or eax, 0x442641db
imul rax, rax, 0x73724f95
shr rax, 0x3c
cmp eax, 0xdfc5c6a9
je 0x140046b60
nop dword [rax]
mov eax, dword [0x141f330e8]
xor edx, edx
div dword [0x141f330ec]
imul rax, rax, 0x458dde81
shr rax, 0x3c
add eax, 0x7755871f
or eax, 0x15c5a025
cmp eax, 0x5804d676
jb 0x140046b90
test rbp, r8
jne 0x140046c7f
nop word cs:[rax + rax]
mov eax, dword [0x141f330f0]
xor edx, edx
div dword [0x141f330f4]
add eax, 0x5cb682c1
xor eax, 0xc17c82a0
add eax, 0xc7347142
cmp eax, 0x2cb12d12
jb 0x140046bd0
cmp rcx, 0x301
jae 0x140046f4b
mov qword [rsp + rcx + 0x30], r13
mov rcx, qword [rsp + 0x28]
add rcx, 8
mov qword [rsp + 0x28], rcx
mov eax, dword [0x141f33108]
imul eax, dword [0x141f3310c]
imul rax, rax, 0x6e8b6de5
shr rax, 0x3d
or eax, 0x5ffffe76
cmp eax, 0xa7a21f5d
ja 0x140046c14
add r11, 0xfffffffffffffff8
nop dword [rax]
mov eax, dword [0x141f33110]
or eax, dword [0x141f33114]
or eax, 0x8e4a9d78
add eax, 0xa53d3da6
imul rax, rax, 0x2d35c837
shr rax, 0x3d
cmp eax, 0x870e156f
ja 0x140046c40
add r15, 8
cmp r11, 7
ja 0x140046b30
test r11, r11
je 0x140046f1d
mov rax, r15
xor edx, edx
nop word cs:[rax + rax]
test dl, dl
jne 0x140046c90
xor edx, edx
mov r8d, 0x9bff82ff
jmp 0x140046cb1
inc rcx
mov qword [rsp + 0x28], rcx
test r11, r11
je 0x140046f27
movzx r9d, byte [rax]
add r9b, 0xd0
cmp r9b, 9
ja 0x140046f2a
test dl, dl
jne 0x140046cc3
dec r11
inc rax
nop dword [rax]
mov ebp, dword [0x141f330b8]
imul ebp, dword [0x141f330bc]
or ebp, 0x97dd776
imul ebp, ebp, 0xbedd7afa
add ebp, 0x318998cc
cmp ebp, 0x9108e76
jb 0x140046cd0
cmp rcx, 0x2ff
ja 0x140046ca0
mov r15d, dword [0x141f330c0]
add r15d, dword [0x141f330c4]
imul r15, r15, 0x689cce6f
shr r15, 0x3e
imul ebp, r15d, 0xce75c05f
add ebp, 0xeea7ef3e
cmp ebp, 0xe4ca4007
ja 0x140046d90
nop
mov r15d, dword [0x141f330c8]
and r15d, dword [0x141f330cc]
or r15d, 0x84c3249b
imul r15, r8
shr r15, 0x3f
mov byte [rsp + rcx + 0x30], r9b
cmp r15d, 0x69deae4e
je 0x140046d90
nop dword [rax + rax]
mov ecx, dword [0x141f330d0]
sub ecx, dword [0x141f330d4]
xor ecx, 0xe87ab7c
add ecx, 0xfda74708
or ecx, 0x1ffd4886
cmp ecx, 0xcdb9ab75
ja 0x140046d60
mov rcx, qword [rsp + 0x28]
jmp 0x140046ca0
mov byte [rsp + rcx + 0x30], r9b
jmp 0x140046d30
xor r8d, r8d
test rcx, rcx
je 0x140046f46
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046db0
nop word cs:[rax + rax]
mov eax, dword [0x141f33118]
imul eax, dword [0x141f3311c]
or eax, 0xfd613ac6
imul eax, eax, 0x490cd99c
cmp eax, 0x2da3ce1f
je 0x140046dc0
cmp rbx, r8
jb 0x140046f96
nop dword [rax + rax]
mov eax, dword [0x141f33128]
imul eax, dword [0x141f3312c]
imul eax, eax, 0x17219a7
add eax, 0x3f212dac
cmp eax, 0xad6bbd55
jb 0x140046df0
sub rbx, r8
jne 0x140046e1b
xor eax, eax
jmp 0x140046ee5
add rbx, r14
xor r10d, r10d
nop word cs:[rax + rax]
mov eax, dword [0x141f33130]
or eax, dword [0x141f33134]
imul eax, eax, 0x9c536e69
cmp eax, 0x2f53a941
je 0x140046e30
mov r11d, 0xb9f7109f
jmp 0x140046e6e
mov rax, r10
dec rbx
mov r10, rax
cmp rbx, r14
je 0x140046ee5
mov eax, dword [0x141f33148]
xor edx, edx
div dword [0x141f3314c]
nop dword [rax]
mov eax, dword [0x141f33150]
xor eax, dword [0x141f33154]
and eax, 0x22008346
xor eax, 0xd7f4639e
cmp eax, 0x4894cca4
jb 0x140046e80
movzx eax, byte [rbx - 1]
cmp eax, 0x2e
je 0x140046e60
cmp eax, 0x30
jne 0x140046ee2
mov eax, dword [0x141f33158]
xor edx, edx
div dword [0x141f3315c]
mov edx, dword [0x141f33160]
imul edx, dword [0x141f33164]
add edx, 0x73a75e27
imul rdx, r11
shr rdx, 0x3f
lea rax, [r10 + 1]
cmp edx, 0x39396b88
je 0x140046eb9
jmp 0x140046e63
mov rax, r10
mov edx, dword [0x141f33138]
mov r10d, dword [0x141f3313c]
add edx, r10d
add edx, 0x395e0fa2
imul rdx, rdx, 0x502b154b
shr rdx, 0x3e
or edx, 0xf969cd5e
cmp edx, 0xffde233f
jbe 0x1400472dc
jmp 0x140047321
xor r11d, r11d
mov rax, r15
jmp 0x140046f2a
xor ecx, ecx
xor r11d, r11d
mov edx, r11d
sub edx, r10d
mov dword [rsp + 0x330], edx
mov r8, r11
mov r9, rax
test rcx, rcx
jne 0x140046da3
xor r15d, r15d
jmp 0x140046f98
mov eax, dword [0x141f330f8]
or eax, dword [0x141f330fc]
imul eax, eax, 0x7a5b2122
add eax, 0xb621811f
cmp eax, 0xb0552d33
jbe 0x140046f70
ud2
mov eax, dword [0x141f33100]
imul eax, dword [str._buX]
and eax, 0xff13396c
imul eax, eax, 0xa62494fc
add eax, 0x3cada104
ud2
ud2
lea rcx, [r9 + 1]
lea r10, [r8 - 1]
mov eax, dword [0x141f33120]
xor edx, edx
div dword [0x141f33124]
xor eax, 0xd847f957
add eax, 0x23742d17
cmp eax, 0xe372b55d
jb 0x140046fa0
test r8, r8
je 0x140047160
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140046fd0
movzx eax, byte [r9]
or eax, 0x20
cmp eax, 0x65
jne 0x140047160
add r9, 2
add r8, 0xfffffffffffffffe
xor eax, eax
nop
test al, al
jne 0x140046ff0
mov eax, 0x8181a94b
nop dword [rax]
mov edx, dword [0x141f33188]
xor edx, dword [0x141f3318c]
add edx, 0x5e23d27d
imul rdx, rax
shr rdx, 0x3e
add edx, 0x311caf8d
cmp edx, 0xfd2e01ef
ja 0x140047000
test r10, r10
je 0x140047135
movzx r11d, byte [rcx]
nop word cs:[rax + rax]
mov eax, dword [0x141f33190]
imul eax, dword [0x141f33194]
imul rax, rax, 0x4f1bc253
shr rax, 0x3e
or eax, 0xfb9f7fe2
cmp eax, 0xf720ffb3
jb 0x140047040
cmp r11d, 0x2d
je 0x140047070
cmp r11d, 0x2b
jne 0x14004707f
mov rcx, r9
mov r10, r8
test r8, r8
je 0x140047145
xor r8d, r8d
xor r9d, r9d
xor ebx, ebx
nop word [rax + rax]
movzx ebp, byte [rcx]
add bpl, 0xd0
cmp bpl, 9
ja 0x140047140
mov eax, dword [0x141f33198]
xor edx, edx
div dword [0x141f3319c]
xor eax, 0x44191040
and eax, 0x661d165a
imul eax, eax, 0xf941a637
cmp eax, 0x130c00a9
jb 0x1400470a1
dec r10
mov r14d, dword [0x141f331a0]
add r14d, dword [0x141f331a4]
and r14d, 0x9e7c152f
xor r14d, 0xd1814cb5
add r14d, 0x8cde38
cmp ebx, 0x10000
lea eax, [rbx + rbx*4]
movzx edx, bpl
lea edx, [rdx + rax*2]
mov eax, r9d
cmovl eax, edx
cmovge edx, ebx
cmp r14d, 0xbd5bb2aa
ja 0x1400470c9
inc rcx
nop word cs:[rax + rax]
test r8b, r8b
jne 0x140047120
mov r9d, eax
mov ebx, edx
test r10, r10
jne 0x140047090
jmp 0x140047147
xor ecx, ecx
add dword [rsp + 0x330], ecx
jmp 0x140047160
mov eax, r9d
jmp 0x140047147
xor eax, eax
mov ecx, eax
neg ecx
cmp r11d, 0x2d
cmovne ecx, eax
add dword [rsp + 0x330], ecx
nop dword [rax]
mov eax, dword [0x141f33170]
add eax, dword [0x141f33174]
imul eax, eax, 0x249aa4bf
or eax, 0x280a0c50
and eax, 0x2cceee50
cmp eax, 0xc4c2731
jb 0x140047160
cmp r15, 0x12
ja 0x140047217
mov eax, dword [0x141f33178]
xor edx, edx
div dword [0x141f3317c]
imul eax, eax, 0x631ed2c5
or eax, 0xfbb9e373
xor eax, 0x3a725680
cmp eax, 0xc0961e0
jae 0x1400471ca
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add rdi, r15
add rdi, 8
mov ebx, 0x13
sub rbx, r15
nop dword [rax]
mov eax, dword [0x141f33180]
and eax, dword [0x141f33184]
and eax, 0x67713d29
xor eax, 0xfc948509
imul r14, rax, 0x3edd39d
shr r14, 0x39
mov rcx, rdi
xor edx, edx
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
cmp r14d, 0xf1eaa7e
ja 0x1400471e0
mov eax, dword [0x141f331a8]
and eax, dword [0x141f331ac]
xor eax, 0x9ddf9ccf
add eax, 0x29d9c45d
and eax, 0xdd63d3d6
cmp eax, 0xd3752b80
ja 0x140047272
mov eax, dword [0x141f331b0]
mov ecx, dword [0x141f331b4]
add eax, ecx
add eax, 0xf5921834
imul rdi, rax, 0x4c0c603b
shr rdi, 0x3c
lea rdx, [rsp + 0x28]
mov r8d, 0x310
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
cmp edi, 0xb854ff71
jne 0x140047290
lea rdx, [rsp + 0x28]
mov r8d, 0x310
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140047239
mov eax, dword [0x141f331b8]
or eax, dword [0x141f331bc]
imul eax, eax, 0x3fafc27f
cmp eax, 0x2f4c28e
je 0x140047290
nop dword [rax]
mov eax, dword [0x141f331c0]
xor eax, dword [0x141f331c4]
and eax, 0xe09f6e7b
cmp eax, 0x9c267d9d
je 0x1400472b0
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [0x141f33140]
mov r10d, dword [0x141f33144]
add edx, r10d
add edx, 0x8041599f
or edx, 0xf500c4ae
mov r10d, dword [rsp + 0x330]
add r10d, eax
mov r15, rcx
sub r15, rax
add r10d, r15d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x330], r10d
cmp edx, 0x1e50cf60
jae 0x140047342
mov edx, dword [rsp + 0x330]
add edx, eax
mov r10, rcx
sub r10, rax
mov qword [rsp + 0x28], r10
add r10d, edx
mov dword [rsp + 0x330], r10d
jmp 0x1400472dc
cmp r15, 0x300
jbe 0x140046f98
mov byte [rsp + 0x334], 1
mov qword [rsp + 0x28], 0x300
mov eax, dword [0x141f33168]
sub eax, dword [0x141f3316c]
imul eax, eax, 0xe43ad929
add eax, 0x2ba8d511
cmp eax, 0x7692153
jb 0x140047360
mov r15d, 0x300
jmp 0x140046f98