Function at 0x14001c9d0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x13d0
call fcn.14006faa0
sub rsp, rax
mov rax, qword [0x14034dac0]
xor rax, rsp
mov qword [rsp + 0x13c0], rax
lea rcx, [rsp + 0x20]
call fcn.14001bf60
mov dword [rsp + 0x13b4], 0xffffffff
mov ecx, 1
mov edx, dword [rax]
mov dword [rsp + 0x34], edx
nop
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x34], edx
inc rcx
cmp rcx, 0x270
jb 0x14001ca20
mov dword [rsp + 0x30], 0x270
mov ebp, 0x3e8
nop dword [rax]
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
mov ecx, eax
imul rbx, rcx, 0x3e8
cmp ebx, 0x127
ja 0x14001ca8b
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
mov ecx, eax
imul rbx, rcx, 0x3e8
cmp ebx, 0x128
jb 0x14001ca70
shr rbx, 0x20
mov eax, 0x66666667
add ebx, 0x80000001
btc ebx, 0x1f
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*4]
cmp ebx, ecx
jne 0x14001cb9f
xor edi, edi
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
mov ecx, eax
imul rax, rcx, 0x3e8
cmp eax, 0x127
ja 0x14001caea
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
mov ecx, eax
imul rax, rcx, 0x3e8
cmp eax, 0x128
jb 0x14001cad0
shr rax, 0x20
lea esi, [rax - 0x7fffffff]
mov eax, 0x92492493
xor esi, 0x80000000
imul esi, edi
add esi, ebx
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul ecx, edx, 7
cmp esi, ecx
jne 0x14001cb74
lea rdx, str.Hook_inside_trash_code_executed_for_VirtualAlloc_
lea rcx, [0x140350180]
call fcn.1400080e0
mov dl, 0xa
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call fcn.140007e80
movzx edx, al
mov rcx, rbx
call fcn.14001bdb0
mov rcx, rbx
call fcn.140007a30
mov edx, 0x1000
xor ecx, ecx
mov r8d, edx
mov r9d, 4
call qword [0x140350810]
test rax, rax
lea ebx, [rsi + 0x64]
cmovne ebx, esi
jmp 0x14001cb8f
mov ebx, edi
mov eax, 0x4ec4ec4f
imul ebx, esi
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xd
sub ebx, eax
inc edi
cmp edi, 0x64
jl 0x14001cab6
jmp 0x14001cc3e
mov eax, 0x55555556
imul ebx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ebx, eax
jne 0x14001cbf7
xor ebx, ebx
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
mov ecx, eax
imul rax, rcx, 0x3e8
cmp eax, 0x127
ja 0x14001cbea
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
mov ecx, eax
imul rax, rcx, 0x3e8
cmp eax, 0x128
jb 0x14001cbd0
add ebx, 3
cmp ebx, 0x96
jl 0x14001cbb6
jmp 0x14001cc3e
mov ebx, 0xc8
nop dword [rax]
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
imul ecx, eax, 0x3e8
cmp ecx, 0x127
ja 0x14001cc38
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.14001ccb0
imul ecx, eax, 0x3e8
cmp ecx, 0x128
jb 0x14001cc20
sub rbx, 1
jne 0x14001cc00
sub rbp, 1
jne 0x14001ca50
lea rdx, str.Complex_trash_code_with_hook_executed_
lea rcx, [0x140350180]
call fcn.1400080e0
mov dl, 0xa
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call fcn.140007e80
movzx edx, al
mov rcx, rbx
call fcn.14001bdb0
mov rcx, rbx
call fcn.140007a30
mov rcx, qword [rsp + 0x13c0]
xor rcx, rsp
call fcn.14006ee80
lea r11, [rsp + 0x13d0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret