Function at 0x140053a00
Capabilities:
Encode data using base64
Encode data using xor
Generate random numbers using a mersenne twister
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1480
call fcn.1400c29a0
sub rsp, rax
mov rax, qword [0x1400f10c0]
xor rax, rsp
mov qword [rsp + 0x1470], rax
mov rbx, rcx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rcx
xor edi, edi
mov dword [rsp + 0x70], edi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], dil
mov r15d, 1
mov dword [rsp + 0x70], r15d
xor edx, edx
mov cl, 0x30
call fcn.1400435a0
mov byte [rsp + 0x20], al
mov edx, r15d
mov cl, Ordinal_50
call fcn.1400435a0
mov byte [rsp + 0x21], al
mov edx, 2
mov cl, reloc.WLDAP32.dll_Ordinal_50
call fcn.1400435a0
mov byte [rsp + 0x22], al
mov edx, 3
mov cl, 0x33
call fcn.1400435a0
mov byte [rsp + 0x23], al
mov edx, 4
mov cl, 0x34
call fcn.1400435a0
mov byte [rsp + 0x24], al
mov edx, 5
mov cl, 0x35
call fcn.1400435a0
mov byte [rsp + 0x25], al
mov edx, 6
mov cl, 0x36
call fcn.1400435a0
mov byte [rsp + 0x26], al
mov edx, 7
mov cl, 0x37
call fcn.1400435a0
mov byte [rsp + 0x27], al
mov edx, 8
mov cl, gethostname
call fcn.1400435a0
mov byte [rsp + 0x28], al
mov edx, 9
mov cl, reloc.WS2_32.dll_gethostname
call fcn.1400435a0
mov byte [rsp + 0x29], al
mov edx, 0xa
mov cl, 0x41
call fcn.1400435a0
mov byte [rsp + 0x2a], al
mov edx, listen
mov cl, 0x42
call fcn.1400435a0
mov byte [rsp + 0x2b], al
mov edx, listen
mov cl, 0x43
call fcn.1400435a0
mov byte [rsp + 0x2c], al
mov edx, reloc.WS2_32.dll_listen
mov cl, 0x44
call fcn.1400435a0
mov byte [rsp + 0x2d], al
mov edx, reloc.WS2_32.dll_ntohl
mov cl, 0x45
call fcn.1400435a0
mov byte [rsp + 0x2e], al
mov edx, reloc.WS2_32.dll_ntohs
mov cl, 0x46
call fcn.1400435a0
mov byte [rsp + 0x2f], al
mov edx, reloc.WS2_32.dll_recv
mov cl, 0x47
call fcn.1400435a0
mov byte [rsp + 0x30], al
mov edx, reloc.WS2_32.dll_recvfrom
mov cl, 0x48
call fcn.1400435a0
mov byte [rsp + 0x31], al
mov edx, reloc.WS2_32.dll_select
mov cl, 0x49
call fcn.1400435a0
mov byte [rsp + 0x32], al
mov edx, reloc.WS2_32.dll_send
mov cl, 0x4a
call fcn.1400435a0
mov byte [rsp + 0x33], al
mov edx, reloc.WS2_32.dll_sendto
mov cl, 0x4b
call fcn.1400435a0
mov byte [rsp + 0x34], al
mov edx, reloc.WS2_32.dll_setsockopt
mov cl, 0x4c
call fcn.1400435a0
mov byte [rsp + 0x35], al
mov edx, reloc.WLDAP32.dll_Ordinal_22
mov cl, 0x4d
call fcn.1400435a0
mov byte [rsp + 0x36], al
mov edx, reloc.WS2_32.dll_socket
mov cl, Ordinal_79
call fcn.1400435a0
mov byte [rsp + 0x37], al
mov edx, Ordinal_27
mov cl, reloc.WLDAP32.dll_Ordinal_79
call fcn.1400435a0
mov byte [rsp + 0x38], al
mov edx, Ordinal_27
mov cl, 0x50
call fcn.1400435a0
mov byte [rsp + 0x39], al
mov edx, reloc.WLDAP32.dll_Ordinal_26
mov cl, 0x51
call fcn.1400435a0
mov byte [rsp + 0x3a], al
mov edx, reloc.WLDAP32.dll_Ordinal_27
mov cl, 0x52
call fcn.1400435a0
mov byte [rsp + 0x3b], al
mov edx, Ordinal_32
mov cl, 0x53
call fcn.1400435a0
mov byte [rsp + 0x3c], al
mov edx, Ordinal_32
mov cl, 0x54
call fcn.1400435a0
mov byte [rsp + 0x3d], al
mov edx, reloc.WLDAP32.dll_Ordinal_30
mov cl, 0x55
call fcn.1400435a0
mov byte [rsp + 0x3e], al
mov edx, Ordinal_32
mov cl, 0x56
call fcn.1400435a0
mov byte [rsp + 0x3f], al
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov cl, 0x57
call fcn.1400435a0
mov byte [rsp + 0x40], al
mov edx, reloc.WLDAP32.dll_Ordinal_33
mov cl, 0x58
call fcn.1400435a0
mov byte [rsp + 0x41], al
mov edx, Ordinal_35
mov cl, 0x59
call fcn.1400435a0
mov byte [rsp + 0x42], al
mov edx, reloc.WLDAP32.dll_Ordinal_35
mov cl, 0x5a
call fcn.1400435a0
mov byte [rsp + 0x43], al
mov edx, 0x24
mov cl, 0x61
call fcn.1400435a0
mov byte [rsp + 0x44], al
mov edx, Ordinal_41
mov cl, 0x62
call fcn.1400435a0
mov byte [rsp + 0x45], al
mov edx, Ordinal_41
mov cl, 0x63
call fcn.1400435a0
mov byte [rsp + 0x46], al
mov edx, Ordinal_41
mov cl, 0x64
call fcn.1400435a0
mov byte [rsp + 0x47], al
mov edx, Ordinal_41
mov cl, 0x65
call fcn.1400435a0
mov byte [rsp + 0x48], al
mov edx, reloc.WLDAP32.dll_Ordinal_41
mov cl, 0x66
call fcn.1400435a0
mov byte [rsp + 0x49], al
mov edx, Ordinal_46
mov cl, 0x67
call fcn.1400435a0
mov byte [rsp + 0x4a], al
mov edx, Ordinal_46
mov cl, 0x68
call fcn.1400435a0
mov byte [rsp + 0x4b], al
mov edx, Ordinal_46
mov cl, 0x69
call fcn.1400435a0
mov byte [rsp + 0x4c], al
mov edx, reloc.WLDAP32.dll_Ordinal_45
mov cl, 0x6a
call fcn.1400435a0
mov byte [rsp + 0x4d], al
mov edx, reloc.WLDAP32.dll_Ordinal_46
mov cl, 0x6b
call fcn.1400435a0
mov byte [rsp + 0x4e], al
mov edx, Ordinal_50
mov cl, 0x6c
call fcn.1400435a0
mov byte [rsp + 0x4f], al
mov edx, Ordinal_50
mov cl, 0x6d
call fcn.1400435a0
mov byte [rsp + 0x50], al
mov edx, Ordinal_50
mov cl, WSAGetLastError
call fcn.1400435a0
mov byte [rsp + 0x51], al
mov edx, reloc.WLDAP32.dll_Ordinal_50
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.1400435a0
mov byte [rsp + 0x52], al
mov edx, 0x33
mov cl, reloc.WS2_32.dll_WSASetLastError
call fcn.1400435a0
mov byte [rsp + 0x53], al
mov edx, 0x34
mov cl, 0x71
call fcn.1400435a0
mov byte [rsp + 0x54], al
mov edx, gethostname
mov cl, WSAStartup
call fcn.1400435a0
mov byte [rsp + 0x55], al
mov edx, gethostname
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.1400435a0
mov byte [rsp + 0x56], al
mov edx, gethostname
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.1400435a0
mov byte [rsp + 0x57], al
mov edx, gethostname
mov cl, 0x75
call fcn.1400435a0
mov byte [rsp + 0x58], al
mov edx, reloc.WS2_32.dll_gethostname
mov cl, 0x76
call fcn.1400435a0
mov byte [rsp + 0x59], al
mov edx, Ordinal_60
mov cl, 0x77
call fcn.1400435a0
mov byte [rsp + 0x5a], al
mov edx, Ordinal_60
mov cl, 0x78
call fcn.1400435a0
mov byte [rsp + 0x5b], al
mov edx, reloc.WLDAP32.dll_Ordinal_60
mov cl, 0x79
call fcn.1400435a0
mov byte [rsp + 0x5c], al
mov edx, 0x3d
mov cl, 0x7a
call fcn.1400435a0
mov byte [rsp + 0x5d], al
mov edx, 0x3e
mov cl, reloc.WLDAP32.dll_Ordinal_33
call fcn.1400435a0
mov byte [rsp + 0x5e], al
mov edx, 0x3f
mov cl, 0x40
call fcn.1400435a0
mov byte [rsp + 0x5f], al
mov r14d, 0x40
mov edx, r14d
mov cl, reloc.WLDAP32.dll_Ordinal_35
call fcn.1400435a0
mov byte [rsp + 0x60], al
mov edx, 0x41
mov cl, 0x24
call fcn.1400435a0
mov byte [rsp + 0x61], al
mov edx, 0x42
mov cl, 0x25
call fcn.1400435a0
mov byte [rsp + 0x62], al
mov edx, 0x43
mov cl, 0x5e
call fcn.1400435a0
mov byte [rsp + 0x63], al
mov edx, 0x44
mov cl, 0x26
call fcn.1400435a0
mov byte [rsp + 0x64], al
mov edx, 0x45
mov cl, 0x2a
call fcn.1400435a0
mov byte [rsp + 0x65], al
xor eax, eax
mov byte [rsp + 0x66], al
mov r8d, edi
cmp dword [reloc.WS2_32.dll_accept], 6
jl 0x140054070
movdqa xmm4, xmmword [0x1400de970]
movdqa xmm0, xmmword [0x1400ded10]
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmm1, xmmword [0x1400de9b0]
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmm5, xmmword [0x1400de910]
mov edx, dword [rsp + 0x80]
mov r9d, dword [rsp + 0xa0]
movsxd rcx, r8d
movd xmm1, r8d
pshufd xmm1, xmm1, 0
paddd xmm1, xmm4
pshufb xmm1, xmm5
movd xmm0, r9d
vpmovzxbw ymm1, xmm1
vpmovzxbw ymm0, xmm0
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rsp + rcx + 0x20]
xorps xmm3, xmm0
movd dword [rsp + rcx + 0x20], xmm3
lea eax, [r8 + 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm4
pshufb xmm1, xmm5
movd xmm0, r9d
vpmovzxbw ymm1, xmm1
vpmovzxbw ymm0, xmm0
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rsp + rcx + 0x24]
xorps xmm3, xmm0
movd dword [rsp + rcx + 0x24], xmm3
lea eax, [r8 + 8]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm4
pshufb xmm1, xmm5
movd xmm0, r9d
vpmovzxbw ymm1, xmm1
vpmovzxbw ymm0, xmm0
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rsp + rcx + 0x28]
xorps xmm3, xmm0
movd dword [rsp + rcx + 0x28], xmm3
lea eax, [r8 + 0xc]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm4
pshufb xmm1, xmm5
movd xmm0, r9d
vpmovzxbw ymm1, xmm1
vpmovzxbw ymm0, xmm0
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
movd xmm0, edx
paddb xmm3, xmm0
movd xmm0, dword [rsp + rcx + 0x2c]
xorps xmm3, xmm0
movd dword [rsp + rcx + 0x2c], xmm3
add r8d, 0x10
cmp r8d, r14d
jb 0x140053f21
cmp r8d, 0x46
jae 0x140054090
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
lea rdx, [rsp + 0x20]
add rdx, rax
movsx eax, r8b
imul ecx, eax, 0x62
add cl, 2
xor byte [rdx], cl
inc r8d
cmp r8d, 0x46
jb 0x140054070
mov byte [rsp + 0x66], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xd0], xmm1
lea rax, [rsp + 0x20]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400540c0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xc0]
call fcn.14004daf0
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov edi, 0xffffffff
mov dword [rsp + 0x1464], edi
mov dword [rsp + 0xe4], eax
mov rcx, r15
nop dword [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0xe4], edx
inc rcx
cmp rcx, 0x270
jb 0x140054100
mov dword [rsp + 0xe0], 0x270
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ecx, eax
mov eax, 0x30c30c31
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x15
sub ecx, eax
add ecx, 0xa
mov dword [rsp + 0x74], ecx
lea rdx, [rsp + 0xc0]
mov r9, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xd8]
cmp r10, 0xf
cmova rdx, r9
mov rcx, qword [rsp + 0xd0]
add rdx, rcx
mov qword [rsp + 0xa0], rdx
lea r13, [rsp + 0xc0]
cmp r10, 0xf
cmova r13, r9
dec r14
shr rsi, 1
cmp rsi, rdi
ja 0x140054195
cmp r13, rdx
je 0x14005429a
lea rax, [r13 + 1]
cmp rax, rdx
je 0x14005429a
mov rcx, r15
sub rcx, r13
mov qword [rsp + 0x80], rcx
nop dword [rax]
nop dword [rax + rax]
lea r12, [r15 + r13]
add r12, rcx
xor edi, edi
xor ebx, ebx
test r15, r15
je 0x140054219
lea rcx, [r14 - 1]
shl rdi, cl
add rdi, rdi
nop word [rax + rax]
lea rcx, [rsp + 0xe0]
call fcn.14005b320
mov eax, eax
cmp rax, rsi
ja 0x1400541f0
or rdi, rax
lea rcx, [r14 - 1]
shl rbx, cl
add rbx, rbx
or rbx, rsi
cmp rbx, r15
jb 0x1400541e0
xor edx, edx
mov rax, rbx
div r12
mov rcx, rax
xor edx, edx
mov rax, rdi
div r12
cmp rax, rcx
jb 0x14005423e
xor edx, edx
mov rax, rbx
div r12
cmp rdx, r15
jne 0x1400541d7
xor edx, edx
mov rax, rdi
div r12
cmp rdx, r15
je 0x14005425d
movzx ecx, byte [r15 + r13]
movzx eax, byte [rdx + r13]
mov byte [r15 + r13], al
mov byte [rdx + r13], cl
inc r15
lea rax, [r15 + r13]
cmp rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x80]
jne 0x1400541d0
mov r10, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x90], xmm1
movsxd r8, dword [rsp + 0x74]
cmp rcx, r8
cmovb r8, rcx
lea rdx, [rsp + 0xc0]
cmp r10, 0xf
cmova rdx, r9
lea rcx, [rsp + 0x80]
call fcn.14004daf0
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.140057db0
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x140054331
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005432b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005432b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c2180
nop
mov rdx, qword [rsp + 0xd8]
cmp rdx, 0xf
jbe 0x140054377
inc rdx
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054372
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054372
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c2180
mov rax, rbx
mov rcx, qword [rsp + 0x1470]
xor rcx, rsp
call fcn.1400c1df0
lea r11, [rsp + 0x1480]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret