Function at 0x140042730
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x348
mov rbx, r8
mov r14, rdx
mov r12, rcx
lea rdi, [rsp + 0x38]
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c60]
sub eax, dword [0x141dc5c64]
imul eax, eax, 0xc1f11a6f
add eax, 0x8a43ea76
cmp eax, 0xfd2b6ec5
ja 0x140042770
xor r15d, r15d
mov rax, rbx
mov rdx, r14
nop word [rax + rax]
mov rcx, rax
sub rax, 1
jb 0x1400432c2
mov r8, rdx
mov edx, dword [0x141dc5c68]
sub edx, dword [0x141dc5c6c]
imul edx, edx, 0xcf6259c
add edx, 0xb3a68c3b
cmp edx, 0x3a7ad98
jb 0x1400427b0
lea rdx, [r8 + 1]
cmp byte [r8], 0x30
je 0x1400427a0
xor r15d, r15d
jmp 0x1400427e9
test rcx, rcx
je 0x1400429cd
movzx r9d, byte [r8]
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x140042958
dec rcx
mov edx, dword [0x141dc5c70]
xor edx, dword [0x141dc5c74]
add edx, 0x83ce4e35
or edx, 0xd6f3eebd
and edx, 0xd6f3efbf
cmp edx, 0x4849eaad
jb 0x1400427fc
inc r8
nop word cs:[rax + rax]
mov edx, dword [0x141dc5c78]
imul edx, dword [0x141dc5c7c]
or edx, 0xfc5fdeff
cmp edx, 0x4a80809
jb 0x140042830
cmp r15, 0x2ff
ja 0x1400428f0
mov edx, dword [0x141dc5c80]
add edx, dword [0x141dc5c84]
imul edx, edx, 0x60a9a9f8
cmp edx, 0xaf1f0cf9
jne 0x140042880
mov byte [rsp + r15 + 0x40], al
nop word [rax + rax]
mov edx, dword [0x141dc5c88]
or edx, dword [0x141dc5c8c]
add edx, 0x2ff056df
xor edx, 0x38505294
imul rdx, rdx, 0x1e9aca53
shr rdx, 0x3c
mov byte [rsp + r15 + 0x40], al
cmp edx, 0x579e5e18
ja 0x140042880
mov rax, qword [rsp + 0x38]
nop word cs:[rax + rax]
mov edx, dword [0x141dc5c90]
xor edx, dword [0x141dc5c94]
or edx, 0xfff1e95f
and edx, 0xfff5fdff
cmp edx, 0xa58ef681
jb 0x1400428c0
jmp 0x1400428f3
mov rax, r15
mov edx, dword [0x141dc5c98]
sub edx, dword [0x141dc5c9c]
xor edx, 0x76ff5368
shr edx, 2
imul rdx, rdx, 0x22c8d221
shr rdx, 0x38
cmp edx, 0x75d63657
je 0x14004294d
nop dword [rax + rax]
mov edx, dword [0x141dc5ca0]
add edx, dword [0x141dc5ca4]
and edx, 0xa300c220
add edx, 0xb04198a8
lea r15, [rax + 1]
mov qword [rsp + 0x38], r15
cmp edx, 0xbdc1ec08
jbe 0x1400427e0
lea rdx, [rax + 1]
mov qword [rsp + 0x38], rdx
jmp 0x140042920
mov eax, dword [0x141dc5ca8]
xor edx, edx
div dword [0x141dc5cac]
lea r11, [r8 + 1]
lea rsi, [rcx - 1]
nop
mov eax, dword [0x141dc5cb0]
and eax, dword [0x141dc5cb4]
imul eax, eax, 0x5cf7d011
add eax, 0x6194cbe6
cmp eax, 0x2d4838e8
jb 0x140042970
cmp r9b, 0x2e
jne 0x1400429cf
nop word cs:[rax + rax]
mov eax, dword [0x141dc5cb8]
sub eax, dword [0x141dc5cbc]
add eax, 0x44baaf52
and eax, 0xf702f8d8
cmp eax, 0x41e7dc72
jb 0x1400429a0
test r15, r15
je 0x1400429dd
mov rcx, rsi
mov r10, r11
jmp 0x140042a9f
xor ecx, ecx
test r15, r15
jne 0x140042e40
jmp 0x14004301d
add r8, rcx
mov eax, dword [0x141dc5cc0]
sub eax, dword [0x141dc5cc4]
add eax, 0x2f1bf47d
xor eax, 0x54ee7a9
cmp eax, 0x4b63c925
jb 0x1400429e0
mov r9, rsi
mov r10, r11
mov rcx, r9
nop word cs:[rax + rax]
mov eax, dword [0x141dc5cc8]
or eax, dword [0x141dc5ccc]
add eax, 0xd9f0ef3
or eax, 0xedf334
imul rdx, rax, 0x2474b321
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x888a086f
je 0x140042a10
mov r9, rcx
sub r9, 1
jb 0x140042e1b
mov eax, dword [0x141dc5cd0]
xor edx, edx
div dword [0x141dc5cd4]
and eax, 0x1d9b62e2
add eax, 0xa486ef74
or eax, 0xac10cbcc
cmp eax, 0x1c6d544e
jb 0x140042a4e
lea r11, [r10 + 1]
mov eax, dword [0x141dc5cd8]
xor edx, edx
div dword [0x141dc5cdc]
add eax, 0x91c5534
xor eax, 0xb5ca871e
cmp eax, 0xbdcd041b
ja 0x140042a76
cmp byte [r10], 0x30
je 0x140042a00
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r12
cmp rcx, 8
jb 0x140042c30
movabs r8, 0x8080808080808080
xor r11d, r11d
movabs r12, 0x4646464646464646
movabs r13, 0xcfcfcfcfcfcfcfd0
mov ebp, 0xa2d8e967
jmp 0x140042af2
add rcx, 0xfffffffffffffff8
add r10, 8
cmp rcx, 7
jbe 0x140042c30
test r11b, r11b
jne 0x140042af2
lea rax, [r15 + 8]
cmp rax, 0x300
jae 0x140042c73
mov r9, qword [r10]
lea rsi, [r9 + r12]
add r9, r13
mov eax, dword [0x141dc5d10]
xor edx, edx
div dword [0x141dc5d14]
nop
mov eax, dword [0x141dc5d18]
add eax, dword [0x141dc5d1c]
imul rax, rax, 0x476e94a1
shr rax, 0x3e
imul eax, eax, 0x6198e38d
cmp eax, 0x93534b5a
je 0x140042b20
or rsi, r9
nop word [rax + rax]
mov eax, dword [0x141dc5d20]
or eax, dword [0x141dc5d24]
cmp eax, 0x5d22647
je 0x140042b50
test rsi, r8
jne 0x140042c73
mov eax, dword [0x141dc5d28]
and eax, dword [0x141dc5d2c]
imul eax, eax, 0x815f49ac
add eax, 0xf5191ee8
imul rax, rbp
shr rax, 0x3d
cmp eax, 0x1fb392ea
ja 0x140042b6c
nop word cs:[rax + rax]
mov eax, dword [0x141dc5d30]
or eax, dword [0x141dc5d34]
add eax, 0x2f4eea44
cmp eax, 0x9fd33fff
ja 0x140042ba0
cmp r15, 0x301
jae 0x1400432e8
mov qword [rsp + r15 + 0x40], r9
mov edx, dword [0x141dc5d48]
and edx, dword [0x141dc5d4c]
mov rax, qword [rsp + 0x38]
imul edx, edx, 0x83aa14c1
add edx, 0x57ab5dc
cmp edx, 0x3e3f572a
jb 0x140042c23
nop
mov edx, dword [0x141dc5d50]
xor edx, dword [0x141dc5d54]
add edx, 0x71b1d081
and edx, 0x592cbb9
imul edx, edx, 0xa48a8a99
lea r15, [rax + 8]
mov qword [rsp + 0x38], r15
cmp edx, 0xd6c64893
jbe 0x140042ae0
lea rdx, [rax + 8]
mov qword [rsp + 0x38], rdx
jmp 0x140042bf0
mov eax, dword [0x141dc5ce0]
xor edx, edx
div dword [0x141dc5ce4]
imul rax, rax, 0x45cf43c3
shr rax, 0x3e
imul eax, eax, 0xd2c3cb94
and eax, 0x668cf6fc
cmp eax, 0x7a093811
ja 0x140042c30
test rcx, rcx
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
je 0x140042e14
mov r8, r10
jmp 0x140042c80
mov r8, r10
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
mov eax, 0xb73491d3
nop word cs:[rax + rax]
mov edx, dword [0x141dc5ce8]
sub edx, dword [0x141dc5cec]
imul rdx, rax
shr rdx, 0x3d
or edx, 0xbef04d30
imul rdx, rdx, 0x2c2d88d7
shr rdx, 0x3d
cmp edx, 0xcc009208
je 0x140042c90
xor eax, eax
jmp 0x140042cd9
test rcx, rcx
je 0x140042e1e
test al, al
jne 0x140042cd9
movzx edx, byte [r8]
add dl, 0xd0
cmp dl, 9
ja 0x140042e20
dec rcx
inc r8
nop word cs:[rax + rax]
mov r9d, dword [0x141dc5cf0]
sub r9d, dword [0x141dc5cf4]
imul r9d, r9d, 0x18315f86
or r9d, 0xa7828fda
add r9d, 0xcdc12865
cmp r9d, 0x8e72526f
ja 0x140042d00
cmp r15, 0x2ff
ja 0x140042d70
mov r9d, dword [0x141dc5cf8]
or r9d, dword [0x141dc5cfc]
imul r9, r9, 0x527b3e69
shr r9, 0x3d
add r9d, 0xf0f2abd5
and r9d, 0xf0802847
cmp r9d, 0x8bba5002
jae 0x140042d80
jmp 0x140042dc0
mov rdx, r15
jmp 0x140042d8e
mov byte [rsp + r15 + 0x40], dl
test al, al
jne 0x140042dc0
mov rdx, qword [rsp + 0x38]
mov r9d, dword [0x141dc5d00]
or r9d, dword [0x141dc5d04]
imul r9d, r9d, 0x2748b4ae
or r9d, 0xd7f68534
and r9d, 0xdff7ed34
cmp r9d, 0x9ab58b5
jne 0x140042dd0
jmp 0x140042e09
mov byte [rsp + r15 + 0x40], dl
jmp 0x140042d80
mov r9d, dword [0x141dc5d08]
or r9d, dword [0x141dc5d0c]
add r9d, 0x5dcf13
and r9d, 0x19c76328
add r9d, 0xb921db6
lea r15, [rdx + 1]
mov qword [rsp + 0x38], r15
cmp r9d, 0x9541387e
jbe 0x140042cd0
lea r9, [rdx + 1]
mov qword [rsp + 0x38], r9
jmp 0x140042dd0
xor ecx, ecx
mov r8, r10
jmp 0x140042e20
xor r15d, r15d
xor ecx, ecx
mov eax, ecx
sub eax, esi
mov dword [rsp + 0x340], eax
test r15, r15
je 0x14004301d
nop word cs:[rax + rax]
mov eax, dword [0x141dc5d58]
add eax, dword [0x141dc5d5c]
imul eax, eax, 0xf2f36b7c
add eax, 0xc5f5dc87
or eax, 0xa0f59300
cmp eax, 0xceac5718
je 0x140042e40
nop word cs:[rax + rax]
mov eax, dword [0x141dc5d60]
and eax, dword [0x141dc5d64]
xor eax, 0x3a88e0ae
add eax, 0x71958e0a
or eax, 0xc0127e53
cmp eax, 0x67deb5ce
jb 0x140042e70
cmp rbx, rcx
jb 0x14004330e
sub rbx, rcx
jne 0x140042f40
xor r9d, r9d
mov eax, dword [rsp + 0x340]
add eax, r9d
sub r15, r9
mov qword [rsp + 0x38], r15
add eax, r15d
mov dword [rsp + 0x340], eax
cmp r15, 0x300
jbe 0x140043020
mov byte [rsp + 0x344], 1
mov eax, dword [0x141dc5db0]
imul eax, dword [0x141dc5db4]
and eax, 0x252b0ad
cmp eax, 0xb50554eb
jne 0x140042f00
mov qword [rsp + 0x38], 0x300
nop word [rax + rax]
mov eax, dword [0x141dc5db8]
or eax, dword [0x141dc5dbc]
and eax, 0x4840266
xor eax, 0xf2a81e1b
mov qword [rsp + 0x38], 0x300
cmp eax, 0xf17c8c55
jb 0x140042f00
mov r15d, 0x300
jmp 0x140043020
mov eax, dword [0x141dc5d70]
xor eax, dword [0x141dc5d74]
imul eax, eax, 0xf3645ff7
or eax, 0x34348081
and eax, 0x7474dba9
cmp eax, 0x83f15fa9
ja 0x140042f40
add rbx, r14
xor r9d, r9d
jmp 0x140042f7c
dec rbx
cmp rbx, r14
je 0x140042ea7
mov eax, dword [0x141dc5d90]
xor edx, edx
div dword [0x141dc5d94]
nop word [rax + rax]
mov eax, dword [0x141dc5d98]
imul eax, dword [0x141dc5d9c]
add eax, 0x38cd4f37
or eax, 0x5ce5ef00
xor eax, 0x459513d9
cmp eax, 0xd0d11fa6
ja 0x140042f90
movzx eax, byte [rbx - 1]
cmp eax, 0x2e
je 0x140042f70
cmp eax, 0x30
jne 0x140042ea7
nop word cs:[rax + rax]
mov eax, dword [0x141dc5da0]
xor eax, dword [0x141dc5da4]
or eax, 0x1addeac8
xor eax, 0xcdcfaef8
imul eax, eax, 0xea58d77a
cmp eax, 0x90741e6f
jb 0x140042fd0
inc r9
nop word cs:[rax + rax]
mov eax, dword [0x141dc5da8]
sub eax, dword [0x141dc5dac]
or eax, 0x7fbbffff
cmp eax, 0x5dca57ad
je 0x140043000
jmp 0x140042f70
xor r15d, r15d
lea r9, [r8 + 1]
lea r10, [rcx - 1]
nop dword [rax + rax]
mov eax, dword [0x141dc5d68]
add eax, dword [0x141dc5d6c]
and eax, 0x49908617
add eax, 0xe32a5665
cmp eax, 0x335c5f38
jb 0x140043030
test rcx, rcx
je 0x14004328b
movzx eax, byte [r8]
or eax, 0x20
cmp eax, 0x65
jne 0x14004328b
add r8, 2
nop word [rax + rax]
mov eax, dword [0x141dc5dd0]
xor edx, edx
div dword [0x141dc5dd4]
add eax, 0x6e27b7c1
or eax, 0xe74e62d4
shr eax, 1
imul rax, rax, 0x12fe9979
shr rax, 0x3a
cmp eax, 0xc6fba3da
ja 0x140043070
add rcx, 0xfffffffffffffffe
mov eax, dword [0x141dc5dd8]
xor eax, dword [0x141dc5ddc]
imul eax, eax, 0xe99aef18
add eax, 0x54eb608
cmp eax, 0x98547d0b
jb 0x1400430a0
test r10, r10
je 0x140043204
nop word [rax + rax]
mov eax, dword [0x141dc5de0]
imul eax, dword [0x141dc5de4]
and eax, 0x30914e05
add eax, 0xbea0e472
cmp eax, 0xea930649
ja 0x1400430d0
movzx r11d, byte [r9]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5de8]
and eax, dword [0x141dc5dec]
add eax, 0x7ab4e47
xor eax, 0xf95d2100
imul rax, rax, 0x4b4d62d3
shr rax, 0x3e
cmp eax, 0x4c1e6db0
je 0x140043100
cmp r11d, 0x2d
je 0x140043134
cmp r11d, 0x2b
jne 0x140043153
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140043140
mov r9, r8
mov r10, rcx
test rcx, rcx
je 0x14004320d
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140043160
xor r8d, r8d
xor ecx, ecx
nop dword [rax]
movzx eax, byte [r9]
add al, 0xd0
cmp al, 9
ja 0x140043208
dec r10
inc r9
lea edx, [rcx + rcx*4]
movzx eax, al
lea ebp, [rax + rdx*2]
nop dword [rax]
mov eax, dword [0x141dc5df0]
xor edx, edx
div dword [0x141dc5df4]
add eax, 0x27ae39c
xor eax, 0xbcfcfdec
shr eax, 1
imul rax, rax, 0x4a45ce79
shr rax, 0x39
cmp ecx, 0x10000
mov ebx, r8d
cmovl ebx, ebp
cmp eax, 0xe133c23
je 0x140043190
mov eax, dword [0x141dc5df8]
xor edx, edx
div dword [0x141dc5dfc]
or eax, 0xf1bfffcf
imul edx, eax, 0xab6baf1
cmp ecx, 0x10000
mov eax, ecx
cmovl eax, ebp
cmp edx, 0xfaff0f
jb 0x1400431c8
mov r8d, ebx
mov ecx, eax
test r10, r10
jne 0x140043170
jmp 0x14004320f
xor eax, eax
jmp 0x140043251
mov ebx, r8d
jmp 0x14004320f
xor ebx, ebx
mov ecx, ebx
neg ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc5e00]
xor edx, edx
div dword [0x141dc5e04]
imul edx, eax, 0xeaefac32
add edx, 0x3533bbe2
and edx, 0x66bc7c3a
cmp r11d, 0x2d
mov eax, ebx
cmove eax, ecx
cmp edx, 0x7e3a909
jb 0x140043220
mov ecx, dword [0x141dc5e08]
and ecx, dword [0x141dc5e0c]
xor ecx, 0xf06314ba
imul rcx, rcx, 0xa7a04c9
shr rcx, 0x3b
cmp ecx, 0xe0f33160
jne 0x14004327d
add dword [rsp + 0x340], eax
xor ecx, ecx
nop
add dword [rsp + 0x340], eax
test cl, cl
jne 0x140043280
mov eax, 0xdd720e45
mov ecx, dword [0x141dc5dc0]
add ecx, dword [0x141dc5dc4]
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x75e1845a
add ecx, 0x3afa3c63
cmp ecx, 0x8dab8fc0
jb 0x140043290
cmp r15, 0x12
ja 0x140043372
mov eax, dword [0x141dc5dc8]
xor edx, edx
div dword [0x141dc5dcc]
add eax, 0x9204584d
or eax, 0x41dc305a
xor eax, 0x2c6d722d
cmp eax, 0x19c85c21
jae 0x140043339
jmp 0x140043358
mov eax, dword [0x141dc5d38]
xor eax, dword [0x141dc5d3c]
add eax, 0x6eef4939
or eax, 0x76bffdd5
cmp eax, 0x33fa7f22
jne 0x14004339a
jmp 0x1400433af
mov eax, dword [0x141dc5d78]
or eax, dword [0x141dc5d7c]
xor eax, 0x5108a00a
and eax, 0x57b8e20e
add eax, 0x4c6f07f1
cmp eax, 0xd310e2fa
jbe 0x1400433c6
jmp 0x1400433f5
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
xor esi, esi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
test sil, sil
je 0x140043372
lea rcx, [r15 + rdi]
add rcx, 8
mov r8d, 0x13
sub r8, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
jmp 0x140043339
lea rdx, [rsp + 0x38]
mov r8d, 0x310
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
nop
add rsp, 0x348
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc5d40]
and eax, dword [0x141dc5d44]
ud2
ud2
mov eax, dword [0x141dc5d80]
xor edx, edx
div dword [0x141dc5d84]
xor eax, 0x210910e
or eax, 0xf88e26f1
mov ecx, 0x94e4bfeb
imul rcx, rax
shr rcx, 0x3e
ud2
ud2