Function at 0x140039290
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, rdx
mov rsi, rcx
mov eax, dword [0x141dc7eb0]
or eax, dword [0x141dc7eb4]
or eax, 0x948b00d6
imul eax, eax, 0x5609166d
add eax, 0x9a799f2e
cmp eax, 0xe1962461
ja 0x1400392f9
mov eax, dword [str.Cf]
or eax, dword [0x141dc7ebc]
imul ecx, eax, 0x359bae5b
add ecx, 0xc4d57f54
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x6f6ee754
jae 0x140039308
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
jmp 0x1400392c9
mov r12, qword [rbx]
mov r15, qword [rbx + 8]
test r15, r15
je 0x14003932a
mov eax, r15d
and eax, 3
cmp r15, 4
jae 0x140039398
xor r14d, r14d
xor ecx, ecx
jmp 0x140039417
mov eax, dword [0x141dc7ec0]
xor edx, edx
div dword [0x141dc7ec4]
mov eax, 0xa29ebfed
nop dword [rax]
mov ecx, dword [0x141dc7ec8]
imul ecx, dword [0x141dc7ecc]
imul rcx, rax
shr rcx, 0x3e
and ecx, 0xfffffffe
add ecx, 0x159fe96e
cmp ecx, 0x88ff9ace
ja 0x140039340
nop word cs:[rax + rax]
mov eax, dword [0x141dc7ed0]
mov ecx, dword [0x141dc7ed4]
add eax, ecx
add eax, 0x7b2a4f30
xor eax, 0xc964e771
cmp eax, 0x779964b4
jb 0x140039370
mov r8, qword [rbx + 0x18]
jmp 0x14003951f
mov rdx, r15
and rdx, 0xfffffffffffffffc
xor r14d, r14d
xor ecx, ecx
nop word cs:[rax + rax]
mov r8d, dword [0x141dc7ed8]
imul r8d, dword [0x141dc7edc]
xor r8d, 0x2eefebc6
add r8d, 0x297d11c5
imul r8, r8, 0x185f2361
shr r8, 0x3b
cmp r8d, 0xcc71f556
ja 0x1400393b0
mov r8, rcx
shl r8, 4
add r14, qword [r12 + r8 + 8]
mov r9, r8
or r9, 0x10
add r14, qword [r12 + r9 + 8]
mov r9, r8
or r9, 0x20
add r14, qword [r12 + r9 + 8]
or r8, 0x30
add r14, qword [r12 + r8 + 8]
add rcx, 4
cmp rcx, rdx
jne 0x1400393b0
mov edx, 0x902f321f
nop dword [rax]
mov r8d, dword [0x141dc7ee0]
sub r8d, dword [0x141dc7ee4]
imul r8d, r8d, 0xc2de0a8d
imul r8, rdx
shr r8, 0x3f
imul r8d, r8d, 0x65546447
cmp r8d, 0x806ada1
jb 0x140039420
test rax, rax
je 0x1400394a0
xor edx, edx
nop word cs:[rax + rax]
mov r8d, dword [0x141dc7ee8]
imul r8d, dword [0x141dc7eec]
add r8d, 0xc36eba10
and r8d, 0x14108481
cmp r8d, 0xbd74c18
je 0x140039460
mov r8, rcx
shl r8, 4
add r14, qword [r12 + r8 + 8]
inc rcx
inc rdx
cmp rdx, rax
jne 0x140039460
nop dword [rax]
mov eax, dword [0x141dc7ef0]
and eax, dword [0x141dc7ef4]
and eax, 0xdf59863c
add eax, 0x2db0d71e
imul rax, rax, 0xa3ffe15
shr rax, 0x3b
cmp eax, 0x42cf30cf
je 0x1400394a0
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x140039568
nop word cs:[rax + rax]
mov eax, dword [0x141dc7ef8]
imul eax, dword [0x141dc7efc]
imul edx, eax, 0x4c95fc42
add edx, 0xbebacc87
cmp qword [r12 + 8], 0
sete cl
cmp r14, 0x10
setb al
cmp edx, 0x94105812
ja 0x1400394e0
and al, cl
test r14, r14
setns cl
xor al, 1
test cl, al
jne 0x140039565
xor r14d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141dc7f00]
xor edx, edx
div dword [0x141dc7f04]
imul eax, eax, 0x2e48d3af
add eax, 0x224cd219
imul rax, rax, 0x5b4276f5
shr rax, 0x3e
cmp eax, 0xef90f23a
ja 0x140039530
mov eax, 1
jmp 0x140039658
add r14, r14
test r14, r14
js 0x1400398a5
je 0x14003959b
mov qword [rbp], r8
mov eax, dword [str.Es_rhn]
add eax, dword [0x141dc7f0c]
and eax, 0xab4ff99f
xor eax, 0xe6bb7020
add eax, 0x6b8d08e5
cmp eax, 0x8e8df2c9
jb 0x140039601
jmp 0x1400395a8
mov eax, 1
xor r14d, r14d
jmp 0x140039658
mov eax, dword [0x141dc7f10]
imul eax, dword [0x141dc7f14]
imul rax, rax, 0x6b716c4d
shr rax, 0x3a
imul r13d, eax, 0x956d0d45
imul rax, r13, 0x4801504b
shr rax, 0x20
sub r13d, eax
shr r13d, 1
add r13d, eax
shr r13d, 0x1f
movzx eax, byte [0x141dde6f8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1400c29b0
add rsp, 0x20
cmp r13d, 0x93efe1e7
jne 0x140039620
movzx eax, byte [0x141dde6f8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1400c29b0
add rsp, 0x20
jmp 0x1400395a8
mov ecx, dword [0x141dc7f18]
add ecx, dword [0x141dc7f1c]
xor ecx, 0x1552be62
add ecx, 0x3b2ee84a
imul rcx, rcx, 0x4d025415
shr rcx, 0x3c
cmp ecx, 0x1a15cd5c
ja 0x140039620
test rax, rax
mov r8, qword [rbp]
je 0x1400398a5
mov qword [rdi], r14
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], 0
cmp r15, 1
je 0x1400396f0
test r15, r15
jne 0x14003971d
mov ecx, 0xd1cbc27d
nop
mov edx, dword [0x141dc7f20]
add edx, dword [0x141dc7f24]
or edx, 0xe8b26676
imul edx, edx, 0xf7735582
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x2b20b748
ja 0x140039680
nop dword [rax + rax]
mov ecx, dword [0x141dc7f28]
sub ecx, dword [0x141dc7f2c]
xor ecx, 0x8ef58eb4
add ecx, 0x4eab8e4a
cmp ecx, 0x5f965954
jb 0x1400396b0
test r8, r8
jne 0x14003971d
xor ebx, ebx
mov r15d, 1
jmp 0x1400397c9
mov ecx, dword [0x141dc7f30]
mov edx, dword [0x141dc7f34]
add ecx, edx
add ecx, 0xd799fb59
xor ecx, 0x400a8060
or ecx, 0xac65659e
cmp ecx, 0x81958141
jb 0x1400396f0
test r8, r8
je 0x140039767
sub rsp, 0x20
lea rdx, [0x141db7398]
mov rcx, rdi
mov r8, rbx
call fcn.140054080
add rsp, 0x20
nop word [rax + rax]
mov ecx, dword [0x141dc7f50]
sub ecx, dword [0x141dc7f54]
and ecx, 0x819e74d
cmp ecx, 0xd7af45d2
je 0x140039740
test al, al
je 0x1400397ec
jmp 0x1400398b4
mov r15, qword [r12]
mov rbx, qword [r12 + 8]
mov ecx, dword [0x141dc7f38]
xor ecx, dword [0x141dc7f3c]
xor ecx, 0x3044304
or ecx, 0xa4611c53
xor ecx, 0x674e7137
cmp ecx, 0x3b114302
jb 0x140039770
nop word cs:[rax + rax]
mov ecx, dword [0x141dc7f40]
imul ecx, dword [0x141dc7f44]
imul rcx, rcx, 0x23a6d91f
shr rcx, 0x3b
cmp ecx, 0x2d33476e
je 0x1400397a0
cmp r14, rbx
jb 0x1400398b6
xor r14d, r14d
add rax, r14
sub rsp, 0x20
mov rcx, rax
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
add r14, rbx
mov qword [rdi + 0x10], r14
mov eax, dword [0x141dc7f58]
or eax, dword [0x141dc7f5c]
add eax, 0x4df96ba0
or eax, 0xd96c846e
add eax, 0xc5160e6a
cmp eax, 0x7ab5acdb
jae 0x140039820
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
nop dword [rax]
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [0x141dc7f60]
sub eax, dword [0x141dc7f64]
xor eax, 0x6000018c
or eax, 0x1820020
and eax, 0x658201ad
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
cmp eax, 0x25274110
jb 0x140039820
mov eax, 0xb6f52897
nop word cs:[rax + rax]
mov ecx, dword [0x141dc7f68]
add ecx, dword [0x141dc7f6c]
or ecx, 0x4b82f14d
imul rcx, rax
shr rcx, 0x3f
xor ecx, 0x9e4ae58f
cmp ecx, 0x683415aa
jb 0x140039860
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140039890
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
ud2
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.1400f52d0
add rsp, 0x20
mov r14, qword [rdi + 0x10]
nop
mov eax, dword [0x141dc7f48]
mov ecx, dword [0x141dc7f4c]
add eax, ecx
add eax, 0x6d3f475
imul rcx, rax, 0x67eed6e9
shr rcx, 0x3c
or ecx, 0xb81d10e8
mov rax, qword [rdi + 8]
cmp ecx, 0x7f3c93db
jb 0x1400398d0
jmp 0x1400397cc