Function at 0x140044100
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x330
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov eax, dword [0x141dc8bb8]
mov ecx, dword [0x141dc8bbc]
add eax, ecx
add eax, 0x4a1d143b
and eax, 0xfdbde338
add eax, 0x20fc8e35
cmp eax, 0x4bff8a08
jb 0x14004415a
xor ebp, ebp
lea rdi, [rsp + 0x20]
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
test bpl, bpl
je 0x14004416e
lea rcx, [rsp + 0x20]
mov r8d, 0x30d
xor edx, edx
call sub.VCRUNTIME140.dll_memset
jmp 0x14004413e
lea r9, [r14 - 1]
xor r15d, r15d
mov rcx, rbx
nop dword [rax + rax]
test rcx, rcx
je 0x140044be6
mov eax, dword [str.G_rH:uFX]
and eax, dword [0x141dc8bc4]
imul eax, eax, 0xcd95659
add eax, 0xf7ff719f
cmp eax, 0x42bc743e
jb 0x140044189
movzx eax, byte [r9 + 1]
nop dword [rax]
mov edx, dword [0x141dc8bc8]
sub edx, dword [0x141dc8bcc]
imul edx, edx, 0xebd07521
and edx, 0x4089080
cmp edx, 0x92b541bd
ja 0x1400441b0
inc r9
dec rcx
cmp al, 0x30
je 0x140044180
inc rcx
mov eax, 0xc1c0b199
xor r8d, r8d
nop word cs:[rax + rax]
movzx r11d, byte [r9]
lea edx, [r11 - 0x30]
cmp dl, 9
ja 0x140044306
dec rcx
inc r9
nop word [rax + rax]
mov r10d, dword [0x141dc8bd0]
or r10d, dword [0x141dc8bd4]
imul r10d, r10d, 0x8fe0c03a
and r10d, 0xf059c7b6
add r10d, 0x2c9bf701
cmp r10d, 0xbc53f54d
jb 0x140044210
cmp r8, 0x2ff
ja 0x140044280
mov byte [rsp + r8 + 0x28], dl
mov rdx, qword [rsp + 0x20]
nop
mov r8d, dword [0x141dc8bd8]
sub r8d, dword [0x141dc8bdc]
imul r8d, r8d, 0xf1225b30
add r8d, 0x28e00b6e
xor r8d, 0xa46aab7b
cmp r8d, 0xb8a70ca5
ja 0x140044250
jmp 0x140044283
mov rdx, r8
mov r8d, dword [0x141dc8be0]
or r8d, dword [0x141dc8be4]
imul r8d, r8d, 0x8b69ddd0
add r8d, 0x9d7d498e
xor r8d, 0x30cd047b
cmp r8d, 0x4c7e19d1
jae 0x1400442c0
lea r8, [rdx + 1]
mov qword [rsp + 0x20], r8
nop dword [rax + rax]
mov r8d, dword [0x141dc8be8]
xor r8d, dword [0x141dc8bec]
imul r10d, r8d, 0x587b919f
add r10d, 0xe8b06d9a
imul r10, rax
shr r10, 0x3e
lea r8, [rdx + 1]
mov qword [rsp + 0x20], r8
cmp r10d, 0x90708823
ja 0x1400442c0
test rcx, rcx
jne 0x1400441f0
xor ecx, ecx
jmp 0x1400447b0
lea r15, [r9 + 1]
lea r10, [rcx - 1]
nop
mov eax, dword [0x141dc8bf0]
mov edx, dword [0x141dc8bf4]
add eax, edx
add eax, 0x56bd0ea
cmp eax, 0x54a75e56
jb 0x140044310
cmp r11b, 0x2e
jne 0x1400447b0
mov r11, r10
test r8, r8
jne 0x140044390
lea rax, [r9 + rcx]
mov edx, dword [0x141dc8c00]
imul edx, dword [0x141dc8c04]
imul edx, edx, 0xf7ae5aed
and edx, 0x81e7d2
imul edx, edx, 0xbb163032
cmp edx, 0xc4067552
ja 0x140044340
mov r11, rcx
nop word [rax + rax]
cmp r11, 1
je 0x140044726
lea r15, [r9 + 1]
dec r11
cmp byte [r9 + 1], 0x30
mov r9, r15
je 0x140044370
nop dword [rax + rax]
mov eax, dword [0x141dc8c08]
and eax, dword [0x141dc8c0c]
imul eax, eax, 0xc99ab68d
imul rax, rax, 0x1783269d
shr rax, 0x3c
xor eax, 0xd0a60157
cmp eax, 0xd93945de
ja 0x140044390
cmp r11, 8
jb 0x14004453b
movabs rcx, 0xcfcfcfcfcfcfcfd0
movabs r9, 0x8080808080808080
movabs r12, 0x4646464646464646
jmp 0x140044402
add r11, 0xfffffffffffffff8
add r15, 8
cmp r11, 7
jbe 0x14004453b
lea rax, [r8 + 8]
cmp rax, 0x300
jae 0x14004454d
mov eax, dword [0x141dc8c58]
xor edx, edx
div dword [0x141dc8c5c]
mov eax, dword [0x141dc8c60]
and eax, dword [0x141dc8c64]
xor eax, 0x7e1921af
add eax, 0x2e8be79b
cmp eax, 0x6b22c486
ja 0x140044420
mov rax, qword [r15]
mov edx, dword [0x141dc8c68]
and edx, dword [0x141dc8c6c]
imul rdx, rdx, 0x4732d047
shr rdx, 0x3c
cmp edx, 0xdb63f876
je 0x140044440
lea rdx, [rax + r12]
add rax, rcx
nop word cs:[rax + rax]
mov ebp, dword [0x141dc8c70]
and ebp, dword [0x141dc8c74]
and ebp, 0x9d62f6ef
imul ebp, ebp, 0xf64e16c7
add ebp, 0xcebcc1a7
cmp ebp, 0x8098fdfe
jb 0x140044470
or rdx, rax
test rdx, r9
jne 0x14004454d
nop word cs:[rax + rax]
mov edx, dword [0x141dc8c78]
or edx, dword [0x141dc8c7c]
cmp edx, 0x650aa858
je 0x1400444b0
cmp r8, 0x301
jae 0x14004491a
mov qword [rsp + r8 + 0x28], rax
mov r8, qword [rsp + 0x20]
add r8, 8
mov eax, dword [0x141dc8c90]
xor edx, edx
div dword [0x141dc8c94]
add eax, 0x9df8479a
or eax, 0xa2fe0554
cmp eax, 0xf9d7d5d5
je 0x140044534
nop
mov eax, dword [0x141dc8c98]
xor edx, edx
div dword [0x141dc8c9c]
and eax, 0xbc07b856
imul rax, rax, 0x35db94d5
shr rax, 0x3d
imul eax, eax, 0x2d797e2c
mov qword [rsp + 0x20], r8
cmp eax, 0x29329fb5
jbe 0x1400443f0
mov qword [rsp + 0x20], r8
jmp 0x140044500
xor eax, eax
nop dword [rax]
test al, al
jne 0x140044540
test r11, r11
je 0x14004471f
mov rax, r15
mov ecx, dword [0x141dc8c10]
sub ecx, dword [0x141dc8c14]
add ecx, 0x865da5fa
or ecx, 0x45d638df
cmp ecx, 0xd50a85be
je 0x140044550
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, dword [0x141dc8c18]
add edx, dword [0x141dc8c1c]
imul edx, edx, 0xa608e857
add edx, 0x35a3209e
cmp edx, 0x707de743
jb 0x140044580
movzx edx, byte [rax]
add dl, 0xd0
cmp dl, 9
ja 0x14004471a
dec r11
nop word cs:[rax + rax]
mov r9d, dword [0x141dc8c20]
imul r9d, dword [0x141dc8c24]
add r9d, 0x44a20cbb
imul r9, r9, 0x475e45db
shr r9, 0x3e
imul r9d, r9d, 0xe5a2e22f
cmp r9d, 0x864e6243
je 0x1400445c0
inc rax
nop word cs:[rax + rax]
mov r9d, dword [0x141dc8c28]
imul r9d, dword [0x141dc8c2c]
and r9d, 0x182c040a
xor r9d, 0x382e000a
cmp r9d, 0xfd798977
ja 0x140044600
cmp r8, 0x2ff
ja 0x140044660
mov r9d, dword [0x141dc8c30]
or r9d, dword [0x141dc8c34]
imul r9d, r9d, 0x3be004de
cmp r9d, 0xc7912776
jne 0x140044670
jmp 0x140044710
mov rdx, r8
test cl, cl
je 0x1400446d0
jmp 0x1400446bd
mov r9d, dword [0x141dc8c38]
sub r9d, dword [0x141dc8c3c]
imul r9, r9, 0x60a8da85
shr r9, 0x3e
add r9d, 0xb1110a3f
or r9d, 0x3b4e5335
mov byte [rsp + r8 + 0x28], dl
cmp r9d, 0x120df5e0
jb 0x140044710
nop word cs:[rax + rax]
test cl, cl
jne 0x1400446b0
mov rdx, qword [rsp + 0x20]
test cl, cl
je 0x1400446d0
lea r8, [rdx + 1]
mov qword [rsp + 0x20], r8
nop word cs:[rax + rax]
mov r8d, dword [str.NeI]
and r8d, dword [0x141dc8c44]
or r8d, 0xc3868a87
imul r9d, r8d, 0x25913165
or r9d, 0x112a9548
lea r8, [rdx + 1]
mov qword [rsp + 0x20], r8
cmp r9d, 0x8ab6dbc
jb 0x1400446d0
test r11, r11
jne 0x140044580
jmp 0x14004472b
mov byte [rsp + r8 + 0x28], dl
jmp 0x140044670
mov rcx, r11
jmp 0x14004472b
xor ecx, ecx
mov rax, r15
jmp 0x14004472b
xor r8d, r8d
xor ecx, ecx
mov edx, dword [0x141dc8c48]
imul edx, dword [0x141dc8c4c]
imul edx, edx, 0x1f95e35b
add edx, 0xf8fa5598
imul r9, rdx, 0x53a888ef
shr r9, 0x20
sub edx, r9d
shr edx, 1
add edx, r9d
shr edx, 0x1e
cmp edx, 0x1df67bb3
jbe 0x140044770
mov edx, ecx
sub edx, r10d
mov dword [rsp + 0x328], edx
nop
mov edx, dword [0x141dc8c50]
or edx, dword [0x141dc8c54]
add edx, 0x3615d1cb
or edx, 0xb29f88b5
and edx, 0xfe9fecf7
mov r9d, ecx
sub r9d, r10d
mov dword [rsp + 0x328], r9d
cmp edx, 0x6dc15c7
jbe 0x140044770
mov r9, rax
nop word [rax + rax]
mov eax, dword [0x141dc8bf8]
or eax, dword [0x141dc8bfc]
imul eax, eax, 0x5dbc82dc
imul rax, rax, 0x5158792d
shr rax, 0x3e
cmp eax, 0x9de543e7
je 0x1400447b0
test r8, r8
je 0x140044872
cmp rbx, rcx
jb 0x14004493b
nop word cs:[rax + rax]
mov eax, dword [0x141dc8ca8]
sub eax, dword [0x141dc8cac]
shr eax, 3
imul rax, rax, 0x24fb4c31
shr rax, 0x37
and eax, 0xfffffff9
add eax, 0xb5e6b811
cmp eax, 0x51d4c83e
jb 0x1400447f0
nop dword [rax]
mov eax, dword [0x141dc8cb0]
imul eax, dword [0x141dc8cb4]
add eax, 0x5a6a9674
or eax, 0x6b237455
cmp eax, 0x5a0d9b97
jb 0x140044820
sub rbx, rcx
jne 0x14004487a
xor r10d, r10d
mov eax, dword [0x141dc8cd0]
and eax, dword [0x141dc8cd4]
add eax, 0x4aed6e2d
imul rax, rax, 0x4a20c895
shr rax, 0x3d
cmp eax, 0x3ac7bfae
jne 0x140044d56
jmp 0x140044d8f
xor r15d, r15d
jmp 0x140044999
add rbx, r14
xor r10d, r10d
mov eax, dword [0x141dc8cb8]
sub eax, dword [0x141dc8cbc]
xor eax, 0x4101400
or eax, 0xfbcfebfb
cmp eax, 0x1dd3fcb2
je 0x140044880
mov eax, 0xad1e3879
jmp 0x1400448b0
dec rbx
cmp rbx, r14
je 0x140044846
nop dword [rax]
mov edx, dword [0x141dc8ce0]
or edx, dword [0x141dc8ce4]
xor edx, 0x13c66d2
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xbaa2098f
je 0x1400448b0
movzx edx, byte [rbx - 1]
cmp edx, 0x2e
je 0x1400448a4
cmp edx, 0x30
jne 0x140044846
nop word cs:[rax + rax]
mov edx, dword [0x141dc8ce8]
sub edx, dword [0x141dc8cec]
xor edx, 0xd243d06f
imul rdx, rdx, 0x4e4fd971
shr rdx, 0x3d
cmp edx, 0x1edeb836
je 0x1400448f0
inc r10
jmp 0x1400448a4
mov eax, dword [0x141dc8c80]
add eax, dword [0x141dc8c84]
and eax, 0x1050000
cmp eax, 0xef3dd3c5
jne 0x140044d26
jmp 0x140044d47
mov eax, dword [0x141dc8cc0]
add eax, dword [0x141dc8cc4]
xor eax, 0x5d9c7e6a
imul eax, eax, 0xbcb522c7
and eax, 0xc63460d6
cmp eax, 0x1ad43742
jbe 0x140044960
ud2
mov eax, dword [0x141dc8cc8]
xor edx, edx
div dword [0x141dc8ccc]
or eax, 0x900ac200
and eax, 0x92caee41
imul eax, eax, 0x2943c669
ud2
mov r8d, 0xbd71f19f
lea rax, [r9 + 1]
lea rdx, [rcx - 1]
nop word [rax + rax]
mov r10d, dword [str.b___]
and r10d, dword [0x141dc8ca4]
imul r10, r8
shr r10, 0x35
or r10d, 0xfb37fefd
cmp r10d, 0xc91c1f21
jb 0x1400449b0
test rcx, rcx
je 0x140044b90
movzx r8d, byte [r9]
xor r10d, r10d
nop word cs:[rax + rax]
test r10b, r10b
jne 0x1400449f0
or r8d, 0x20
cmp r8d, 0x65
jne 0x140044b90
nop word cs:[rax + rax]
mov r8d, dword [0x141dc8d20]
imul r8d, dword [0x141dc8d24]
and r8d, 0x5e27b2c8
add r8d, 0xece2308c
or r8d, 0xa0830459
cmp r8d, 0x400649e8
jb 0x140044a10
test rdx, rdx
je 0x140044b6e
add r9, 2
add rcx, 0xfffffffffffffffe
mov r8d, 0xc6843f0b
nop word cs:[rax + rax]
mov r10d, dword [0x141dc8d28]
sub r10d, dword [0x141dc8d2c]
imul r10, r8
shr r10, 0x3f
imul r10d, r10d, 0x3af9fcb2
add r10d, 0x3fa2997d
cmp r10d, 0x1cb6f86b
jb 0x140044a60
movzx r8d, byte [rax]
nop word cs:[rax + rax]
mov r10d, dword [0x141dc8d30]
or r10d, dword [0x141dc8d34]
or r10d, 0x7515d1e5
and r10d, 0x7d1df1e7
cmp r10d, 0x574c5f7
je 0x140044aa0
cmp r8d, 0x2d
je 0x140044ad1
cmp r8d, 0x2b
jne 0x140044ae0
mov rax, r9
mov rdx, rcx
test rcx, rcx
je 0x140044b79
xor ecx, ecx
xor r9d, r9d
nop word cs:[rax + rax]
mov r10d, dword [0x141dc8d38]
add r10d, dword [0x141dc8d3c]
imul r10d, r10d, 0xd2141dc9
imul r10, r10, 0x7168c61f
shr r10, 0x3e
cmp r10d, 0x7d8aebe4
je 0x140044af0
movzx r10d, byte [rax]
add r10b, 0xd0
cmp r10b, 9
ja 0x140044b7b
dec rdx
inc rax
cmp r9d, 0x10000
lea r11d, [r9 + r9*4]
movzx r10d, r10b
lea r10d, [r10 + r11*2]
cmovl ecx, r10d
cmovl r9d, r10d
nop dword [rax + rax]
mov r10d, dword [0x141dc8d40]
or r10d, dword [0x141dc8d44]
cmp r10d, 0xcdab1ff8
je 0x140044b50
test rdx, rdx
jne 0x140044af0
jmp 0x140044b7b
xor eax, eax
add dword [rsp + 0x328], eax
jmp 0x140044b90
xor ecx, ecx
mov eax, ecx
neg eax
cmp r8d, 0x2d
cmovne eax, ecx
add dword [rsp + 0x328], eax
nop dword [rax]
mov eax, dword [0x141dc8d00]
and eax, dword [0x141dc8d04]
or eax, 0x6001800c
and eax, 0x6db1b08e
add eax, 0x83147e5d
cmp eax, 0xeece16a
jb 0x140044b90
nop word cs:[rax + rax]
mov eax, dword [0x141dc8d08]
xor edx, edx
div dword [0x141dc8d0c]
xor eax, 0x95f3fffe
imul eax, eax, 0xfdf777d6
cmp eax, 0xf1b5d34a
je 0x140044bc0
cmp r15, 0x12
ja 0x140044c61
mov eax, dword [0x141dc8d10]
add eax, dword [0x141dc8d14]
or eax, 0x2140000
and eax, 0x3144280
cmp eax, 0xc868d69b
jbe 0x140044c1b
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 word [rax + rax]
mov eax, dword [0x141dc8d18]
and eax, dword [0x141dc8d1c]
add eax, 0xb6d1136c
and eax, 0x1a9168be
imul ebp, eax, 0xe9b00b5
mov rcx, rdi
xor edx, edx
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
cmp ebp, 0x23631b2a
jb 0x140044c30
mov eax, dword [0x141dc8d48]
xor edx, edx
div dword [0x141dc8d4c]
or eax, 0xbf5f245f
mov ecx, 0xbc1f2ec3
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xdfc81558
cmp ecx, 0xce28cf91
jae 0x140044ca2
lea rdx, [rsp + 0x20]
mov r8d, 0x310
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov ebx, 0x86ff2e7f
lea rdi, [rsp + 0x20]
nop dword [rax]
mov eax, dword [0x141dc8d50]
sub eax, dword [0x141dc8d54]
imul r14d, eax, 0x4a83e8ba
or r14d, 0xcef4b370
imul r14, rbx
shr r14, 0x3f
mov r8d, 0x310
mov rcx, rsi
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
cmp r14d, 0x20dd370a
je 0x140044cb0
nop dword [rax]
mov eax, dword [0x141dc8d58]
or eax, dword [0x141dc8d5c]
imul eax, eax, 0x8a13ed20
cmp eax, 0xfac9ddaa
je 0x140044cf0
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140044d10
add rsp, 0x330
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x141dc8c88]
xor edx, edx
div dword [0x141dc8c8c]
xor eax, 0x4e009201
and eax, 0x4f24db41
ud2
ud2
mov eax, dword [0x141dc8cd8]
xor edx, edx
div dword [0x141dc8cdc]
and eax, 0x44f4db1d
mov edx, dword [rsp + 0x328]
add edx, r10d
mov r15, r8
sub r15, r10
add edx, r15d
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x328], edx
cmp eax, 0xa5722ba2
jne 0x140044daf
mov eax, dword [rsp + 0x328]
add eax, r10d
mov rdx, r8
sub rdx, r10
mov qword [rsp + 0x20], rdx
add edx, eax
mov dword [rsp + 0x328], edx
jmp 0x140044d56
cmp r15, 0x300
jbe 0x140044999
mov byte [rsp + 0x32c], 1
mov eax, dword [str._RFW]
xor eax, dword [0x141dc8cf4]
add eax, 0x24391ccb
imul rax, rax, 0x6a3a149b
shr rax, 0x3e
imul eax, eax, 0x42028549
cmp eax, 0x61c5adcb
jbe 0x140044df6
mov qword [rsp + 0x20], 0x300
xor eax, eax
nop dword [rax + rax]
mov qword [rsp + 0x20], 0x300
test al, al
jne 0x140044e00
nop dword [rax]
mov eax, dword [0x141dc8cf8]
or eax, dword [0x141dc8cfc]
add eax, 0x51e5b96d
or eax, 0x83cb8070
imul eax, eax, 0x51bde554
cmp eax, 0xbb1c5f0a
jae 0x140044e10
mov r15d, 0x300
jmp 0x140044999