Function at 0x14001d490
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using murmur3
Hash data using sha256

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1538]
mov eax, 0x1638
call fcn.14010a690
sub rsp, rax
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov rax, qword [0x14017da30]
xor rax, rsp
mov qword [rbp + 0x1520], rax
mov r12, r9
mov r14, r8
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x38], rdx
mov r15, qword [rbp + 0x15a0]
mov r13, qword [rbp + 0x15a8]
mov qword [rsp + 0x48], r13
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp + 0x13e4], 0xffffffff
mov dword [rbp + 0x64], eax
mov edi, 1
mov edx, edi
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edi
mov dword [rbp + rdx*4 + 0x64], eax
inc edi
inc rdx
cmp rdx, 0x270
jl 0x14001d510
mov dword [rbp + 0x60], 0x270
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
xor edi, edi
mov qword [rbp - 0x78], rdi
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x18], eax
mov dword [rbp - 0x30], WSAGetLastError
mov qword [rsp + 0x20], r15
mov r9, r12
mov r8, r14
lea rdx, [rbp + 0x40]
call fcn.14001e760
nop
mov dword [rbp - 0xc], edi
mov rdx, qword [r14 + 0x10]
add edx, 0x20
mov dword [rbp - 8], edx
mov edi, edx
mov dword [rbp - 4], edx
mov rcx, qword [r12 + 0x10]
add ecx, 0x20
mov dword [rbp], ecx
add edx, ecx
mov ebx, edx
mov dword [rbp + 4], edx
mov rcx, qword [r15 + 0x10]
add ecx, 0x20
mov dword [rbp + 8], ecx
add edx, ecx
mov dword [rbp + 0xc], edx
mov rcx, qword [r13 + 0x10]
add ecx, 0x20
mov dword [rbp + 0x10], ecx
add edx, ecx
mov dword [rbp + 0x14], edx
mov eax, dword [rbp + 0x50]
add eax, 0x20
mov dword [rsp + 0x30], eax
add eax, 0x8c
add edx, eax
lea rcx, [rsp + 0x78]
call fcn.140014680
xor esi, esi
mov rax, qword [rbp - 0x80]
sub rax, qword [rsp + 0x78]
mov qword [rbp - 0x70], rax
je 0x14001d666
xor ebx, ebx
or r13d, 0xffffffff
mov dword [rsp + 0x60], 0
nop dword [rax + rax]
xor edi, edi
lea rcx, [rbp + 0x60]
call fcn.1400154b0
cmp eax, r13d
ja 0x14001d612
or edi, eax
mov edx, 0xff
cmp r13d, edx
jb 0x14001d610
mov ecx, r13d
and ecx, 0xffffff00
mov eax, edi
and eax, 0xffffff00
cmp eax, ecx
jb 0x14001d645
cmp r13b, dl
jne 0x14001d600
and di, dx
mov rax, qword [rsp + 0x78]
mov byte [rbx + rax], dil
inc esi
mov ebx, esi
cmp rbx, qword [rbp - 0x70]
jb 0x14001d600
mov r13, qword [rsp + 0x48]
mov edi, dword [rbp - 4]
mov ebx, dword [rbp + 4]
mov rsi, qword [rsp + 0x78]
lea rcx, [rsi + 0x70]
mov rax, qword [r14 + 0x10]
mov dword [rsi + 0x6c], eax
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x14001d684
mov r14, qword [r14]
mov rdx, r14
call sub.MSVCR120.dll_memcpy
mov ecx, edi
mov rax, qword [r12 + 0x10]
mov dword [rcx + rsi + 0x6c], eax
mov r8, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 0x10
jb 0x14001d6a8
mov r12, qword [r12]
mov rdx, r12
add rcx, 0x70
add rcx, rsi
call sub.MSVCR120.dll_memcpy
mov ecx, ebx
mov rax, qword [r15 + 0x10]
mov dword [rcx + rsi + 0x6c], eax
mov r8, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 0x10
jb 0x14001d6cf
mov r15, qword [r15]
mov rdx, r15
add rcx, 0x70
add rcx, rsi
call sub.MSVCR120.dll_memcpy
mov ecx, dword [rbp + 0xc]
mov rax, qword [r13 + 0x10]
mov dword [rcx + rsi + 0x6c], eax
mov r8, qword [r13 + 0x10]
cmp qword [r13 + 0x18], 0x10
jb 0x14001d6f8
mov r13, qword [r13]
mov rdx, r13
add rcx, 0x70
add rcx, rsi
call sub.MSVCR120.dll_memcpy
mov edx, dword [rbp + 0x14]
lea rcx, [rsi + 0x70]
add rcx, rdx
mov eax, dword [rbp + 0x50]
mov dword [rdx + rsi + 0x6c], eax
lea rdx, [rbp + 0x40]
cmp qword [rbp + 0x58], 0x10
cmovae rdx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x50]
call sub.MSVCR120.dll_memcpy
movaps xmm0, xmmword [rbp - 0x30]
movups xmmword [rsi + 3], xmm0
movaps xmm1, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x13], xmm1
movaps xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x23], xmm0
movaps xmm1, xmmword [rbp]
movups xmmword [rsi + 0x33], xmm1
movsd xmm0, qword [rbp + 0x10]
movsd qword [rsi + 0x43], xmm0
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x4b], eax
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x50]
call fcn.14001f840
nop
mov qword [rbp + 0x1508], shutdown
xor edi, edi
mov qword [rbp + 0x1500], rdi
mov byte [rbp + 0x14f0], dil
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp + 0x14f0]
call fcn.140006690
lea r8, [rbp + 0x14f0]
lea rdx, [rbp - 0x50]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax + 8]
call fcn.14001c4b0
mov ecx, edi
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rdi
mov dword [rbp + 0x20], 0x6a09e667
mov dword [rbp + 0x24], 0xbb67ae85
mov dword [rbp + 0x28], 0x3c6ef372
mov dword [rbp + 0x2c], 0xa54ff53a
mov dword [rbp + 0x30], 0x510e527f
mov dword [rbp + 0x34], 0x9b05688c
mov dword [rbp + 0x38], 0x1f83d9ab
mov dword [rbp + 0x3c], 0x5be0cd19
xor eax, eax
mov qword [rbp + 0x1511], rax
mov dword [rbp + 0x1519], eax
mov word [rbp + 0x151d], ax
mov byte [rbp + 0x151f], al
mov qword [rbp + 0x14f1], rax
mov dword [rbp + 0x14f9], eax
mov word [rbp + 0x14fd], ax
mov byte [rbp + 0x14ff], al
movdqa xmm0, xmmword [0x140144a70]
movdqu xmmword [rbp + 0x1510], xmm0
lea rax, [rbp + 0x1510]
mov qword [rsp + 0x60], rax
mov edx, 0x10
mov r8d, edx
mov qword [rsp + 0x48], rdx
lea edi, [rdx - 0xe]
nop dword [rax]
movzx eax, byte [rax]
mov byte [rbp + rcx - 0x30], al
mov ecx, dword [rbp + 0x10]
inc ecx
mov dword [rbp + 0x10], ecx
cmp ecx, 0x40
jne 0x14001da67
lea r8, [rbp + 0x13f0]
mov r10, rdx
mov r9d, edx
nop word [rax + rax]
lea eax, [rdi - 2]
movzx edx, byte [rbp + rax - 0x30]
shl edx, 8
lea eax, [rdi - 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
shl edx, 8
mov eax, edi
movzx ecx, byte [rbp + rax - 0x30]
or edx, ecx
shl edx, 8
lea eax, [rdi + 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
mov dword [r8], edx
lea r8, [r8 + 4]
add edi, 4
dec r10
jne 0x14001d890
lea r10, [rbp + 0x1430]
nop dword [rax]
nop dword [rax + rax]
lea eax, [r9 - 0xf]
mov edi, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 2]
mov edx, dword [rbp + rax*4 + 0x13f0]
mov r8d, edx
rol r8d, 0xf
mov eax, edx
rol eax, 0xd
xor r8d, eax
shr edx, 0xa
xor r8d, edx
mov ecx, edi
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
shr edi, 3
xor ecx, edi
add r8d, ecx
lea eax, [r9 - 0x10]
add r8d, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 7]
add r8d, dword [rbp + rax*4 + 0x13f0]
mov dword [r10], r8d
inc r9d
lea r10, [r10 + 4]
cmp r9d, 0x40
jb 0x14001d8e0
mov r12d, dword [rbp + 0x20]
mov r8d, dword [rbp + 0x24]
mov r10d, dword [rbp + 0x28]
mov r11d, dword [rbp + 0x2c]
mov dword [rsp + 0x30], r11d
mov r13d, dword [rbp + 0x30]
mov r11d, dword [rbp + 0x34]
mov ebx, dword [rbp + 0x38]
mov r14d, dword [rbp + 0x3c]
xor r9d, r9d
lea r15d, [r9 + 0x40]
mov esi, dword [rsp + 0x30]
nop word [rax + rax]
mov edi, r13d
ror edi, 0xb
mov eax, r13d
rol eax, 7
xor edi, eax
mov eax, r13d
ror eax, 6
xor edi, eax
mov ecx, r13d
not ecx
and ecx, ebx
mov eax, r11d
and eax, r13d
xor ecx, eax
add edi, ecx
add edi, dword [rbp + r9 + 0x13f0]
lea rax, [0x14013dad0]
add edi, dword [r9 + rax]
add edi, r14d
mov edx, r12d
ror edx, 0xd
mov eax, r12d
rol eax, 0xa
xor edx, eax
mov eax, r12d
ror eax, 2
xor edx, eax
mov ecx, r8d
xor ecx, r12d
and ecx, r10d
mov eax, r8d
and eax, r12d
xor ecx, eax
add edx, ecx
mov r14d, ebx
mov ebx, r11d
mov r11d, r13d
lea r13d, [rdi + rsi]
mov esi, r10d
mov r10d, r8d
mov r8d, r12d
lea r12d, [rdx + rdi]
lea r9, [r9 + 4]
dec r15
jne 0x14001d980
mov dword [rsp + 0x40], r14d
add dword [rbp + 0x20], r12d
mov r9d, dword [rbp + 0x24]
add r9d, r8d
mov dword [rbp + 0x24], r9d
mov eax, r10d
add dword [rbp + 0x28], eax
add dword [rbp + 0x2c], esi
add dword [rbp + 0x30], r13d
mov esi, dword [rbp + 0x34]
add esi, r11d
mov dword [rbp + 0x34], esi
mov r14d, dword [rbp + 0x38]
add r14d, ebx
mov dword [rbp + 0x38], r14d
mov r15d, dword [rbp + 0x3c]
add r15d, dword [rsp + 0x40]
mov dword [rbp + 0x3c], r15d
add qword [rbp + 0x18], 0x200
xor ecx, ecx
mov dword [rbp + 0x10], ecx
lea edx, [rcx + 0x10]
lea edi, [rcx + 2]
mov r8, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
dec r8
mov qword [rsp + 0x48], r8
jne 0x14001d860
movdqa xmm0, xmmword [0x1401449f0]
movdqu xmmword [rbp + 0x14f0], xmm0
mov rax, qword [rsp + 0x78]
mov r8, qword [rbp - 0x80]
sub r8d, eax
mov qword [rbp + 0x1510], r8
je 0x14001dce4
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], r8
nop word [rax + rax]
movzx eax, byte [rax]
mov byte [rbp + rcx - 0x30], al
mov ecx, dword [rbp + 0x10]
inc ecx
mov dword [rbp + 0x10], ecx
cmp ecx, 0x40
jne 0x14001dcc1
lea r8, [rbp + 0x13f0]
mov r10, rdx
mov r9d, edx
nop word [rax + rax]
lea eax, [rdi - 2]
movzx edx, byte [rbp + rax - 0x30]
shl edx, 8
lea eax, [rdi - 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
shl edx, 8
mov eax, edi
movzx ecx, byte [rbp + rax - 0x30]
or edx, ecx
shl edx, 8
lea eax, [rdi + 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
mov dword [r8], edx
lea r8, [r8 + 4]
add edi, 4
dec r10
jne 0x14001daf0
lea r10, [rbp + 0x1430]
nop dword [rax]
nop dword [rax + rax]
lea eax, [r9 - 0xf]
mov edi, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 2]
mov edx, dword [rbp + rax*4 + 0x13f0]
mov r8d, edx
rol r8d, 0xf
mov eax, edx
rol eax, 0xd
xor r8d, eax
shr edx, 0xa
xor r8d, edx
mov ecx, edi
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
shr edi, 3
xor ecx, edi
add r8d, ecx
lea eax, [r9 - 0x10]
add r8d, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 7]
add r8d, dword [rbp + rax*4 + 0x13f0]
mov dword [r10], r8d
inc r9d
lea r10, [r10 + 4]
cmp r9d, 0x40
jb 0x14001db40
mov r12d, dword [rbp + 0x20]
mov r8d, dword [rbp + 0x24]
mov r10d, dword [rbp + 0x28]
mov r11d, dword [rbp + 0x2c]
mov dword [rsp + 0x30], r11d
mov r13d, dword [rbp + 0x30]
mov r11d, dword [rbp + 0x34]
mov ebx, dword [rbp + 0x38]
mov r14d, dword [rbp + 0x3c]
xor r9d, r9d
lea r15d, [r9 + 0x40]
mov esi, dword [rsp + 0x30]
nop word [rax + rax]
mov edi, r13d
ror edi, 0xb
mov eax, r13d
rol eax, 7
xor edi, eax
mov eax, r13d
ror eax, 6
xor edi, eax
mov ecx, r13d
not ecx
and ecx, ebx
mov eax, r11d
and eax, r13d
xor ecx, eax
add edi, ecx
add edi, dword [rbp + r9 + 0x13f0]
lea rax, [0x14013dad0]
add edi, dword [r9 + rax]
add edi, r14d
mov edx, r12d
ror edx, 0xd
mov eax, r12d
rol eax, 0xa
xor edx, eax
mov eax, r12d
ror eax, 2
xor edx, eax
mov ecx, r8d
xor ecx, r12d
and ecx, r10d
mov eax, r8d
and eax, r12d
xor ecx, eax
add edx, ecx
mov r14d, ebx
mov ebx, r11d
mov r11d, r13d
lea r13d, [rdi + rsi]
mov esi, r10d
mov r10d, r8d
mov r8d, r12d
lea r12d, [rdx + rdi]
lea r9, [r9 + 4]
dec r15
jne 0x14001dbe0
mov dword [rsp + 0x40], r14d
add dword [rbp + 0x20], r12d
mov r9d, dword [rbp + 0x24]
add r9d, r8d
mov dword [rbp + 0x24], r9d
mov eax, r10d
add dword [rbp + 0x28], eax
add dword [rbp + 0x2c], esi
add dword [rbp + 0x30], r13d
mov esi, dword [rbp + 0x34]
add esi, r11d
mov dword [rbp + 0x34], esi
mov r14d, dword [rbp + 0x38]
add r14d, ebx
mov dword [rbp + 0x38], r14d
mov r15d, dword [rbp + 0x3c]
add r15d, dword [rsp + 0x40]
mov dword [rbp + 0x3c], r15d
add qword [rbp + 0x18], 0x200
xor ecx, ecx
mov dword [rbp + 0x10], ecx
mov r8, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
dec r8
mov qword [rsp + 0x48], r8
mov edx, 0x10
lea edi, [rdx - 0xe]
jne 0x14001dac0
lea rax, [rbp + 0x14f0]
mov qword [rsp + 0x60], rax
mov edx, 0x10
mov edi, edx
mov qword [rsp + 0x48], rdx
nop dword [rax]
movzx eax, byte [rax]
mov byte [rbp + rcx - 0x30], al
mov ecx, dword [rbp + 0x10]
inc ecx
mov dword [rbp + 0x10], ecx
cmp ecx, 0x40
jne 0x14001df04
mov edi, 2
lea r8, [rbp + 0x13f0]
mov r10, rdx
mov r9d, edx
nop word [rax + rax]
lea eax, [rdi - 2]
movzx edx, byte [rbp + rax - 0x30]
shl edx, 8
lea eax, [rdi - 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
shl edx, 8
mov eax, edi
movzx ecx, byte [rbp + rax - 0x30]
or edx, ecx
shl edx, 8
lea eax, [rdi + 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
mov dword [r8], edx
lea r8, [r8 + 4]
add edi, 4
dec r10
jne 0x14001dd30
lea r10, [rbp + 0x1430]
nop dword [rax]
nop dword [rax + rax]
lea eax, [r9 - 0xf]
mov edi, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 2]
mov edx, dword [rbp + rax*4 + 0x13f0]
mov r8d, edx
rol r8d, 0xf
mov eax, edx
rol eax, 0xd
xor r8d, eax
shr edx, 0xa
xor r8d, edx
mov ecx, edi
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
shr edi, 3
xor ecx, edi
add r8d, ecx
lea eax, [r9 - 0x10]
add r8d, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 7]
add r8d, dword [rbp + rax*4 + 0x13f0]
mov dword [r10], r8d
inc r9d
lea r10, [r10 + 4]
cmp r9d, 0x40
jb 0x14001dd80
mov r12d, dword [rbp + 0x20]
mov r8d, dword [rbp + 0x24]
mov r10d, dword [rbp + 0x28]
mov r11d, dword [rbp + 0x2c]
mov dword [rsp + 0x30], r11d
mov r13d, dword [rbp + 0x30]
mov r11d, dword [rbp + 0x34]
mov ebx, dword [rbp + 0x38]
mov r14d, dword [rbp + 0x3c]
xor r9d, r9d
lea r15d, [r9 + 0x40]
mov esi, dword [rsp + 0x30]
nop word [rax + rax]
mov edi, r13d
ror edi, 0xb
mov eax, r13d
rol eax, 7
xor edi, eax
mov eax, r13d
ror eax, 6
xor edi, eax
mov ecx, r13d
not ecx
and ecx, ebx
mov eax, r11d
and eax, r13d
xor ecx, eax
add edi, ecx
add edi, dword [rbp + r9 + 0x13f0]
lea rax, [0x14013dad0]
add edi, dword [r9 + rax]
add edi, r14d
mov edx, r12d
ror edx, 0xd
mov eax, r12d
rol eax, 0xa
xor edx, eax
mov eax, r12d
ror eax, 2
xor edx, eax
mov ecx, r8d
xor ecx, r12d
and ecx, r10d
mov eax, r8d
and eax, r12d
xor ecx, eax
add edx, ecx
mov r14d, ebx
mov ebx, r11d
mov r11d, r13d
lea r13d, [rdi + rsi]
mov esi, r10d
mov r10d, r8d
mov r8d, r12d
lea r12d, [rdx + rdi]
lea r9, [r9 + 4]
dec r15
jne 0x14001de20
mov dword [rsp + 0x40], r14d
add dword [rbp + 0x20], r12d
mov r9d, dword [rbp + 0x24]
add r9d, r8d
mov dword [rbp + 0x24], r9d
mov eax, r10d
add dword [rbp + 0x28], eax
add dword [rbp + 0x2c], esi
add dword [rbp + 0x30], r13d
mov esi, dword [rbp + 0x34]
add esi, r11d
mov dword [rbp + 0x34], esi
mov r14d, dword [rbp + 0x38]
add r14d, ebx
mov dword [rbp + 0x38], r14d
mov r15d, dword [rbp + 0x3c]
add r15d, dword [rsp + 0x40]
mov dword [rbp + 0x3c], r15d
add qword [rbp + 0x18], 0x200
xor ecx, ecx
mov dword [rbp + 0x10], ecx
lea edx, [rcx + 0x10]
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
dec rdi
mov qword [rsp + 0x48], rdi
jne 0x14001dd00
mov byte [rbp + rcx - 0x30], pe_nt_image_headers64
cmp ecx, 0x38
jae 0x14001df6d
lea edx, [rcx + 1]
cmp edx, 0x38
jae 0x14001df45
mov ecx, gethostname
sub ecx, edx
mov eax, edx
lea rdi, [rbp - 0x30]
add rdi, rax
xor eax, eax
rep stosb byte [rdi], al
mov r10d, dword [rbp + 0x3c]
mov r11d, dword [rbp + 0x38]
mov ebx, dword [rbp + 0x34]
mov esi, dword [rbp + 0x30]
mov r14d, dword [rbp + 0x2c]
mov r15d, dword [rbp + 0x28]
mov r12d, dword [rbp + 0x24]
mov r13d, dword [rbp + 0x20]
mov dword [rsp + 0x58], r13d
jmp 0x14001e1f5
lea edi, [rcx + 1]
cmp edi, 0x40
jae 0x14001df89
mov ecx, 0x40
sub ecx, edi
mov eax, edi
lea rdi, [rbp - 0x30]
add rdi, rax
xor eax, eax
rep stosb byte [rdi], al
mov edi, 2
lea r8, [rbp + 0x13f0]
mov r10, rdx
mov r9d, edx
nop dword [rax + rax]
lea eax, [rdi - 2]
movzx edx, byte [rbp + rax - 0x30]
shl edx, 8
lea eax, [rdi - 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
shl edx, 8
mov eax, edi
movzx ecx, byte [rbp + rax - 0x30]
or edx, ecx
shl edx, 8
lea eax, [rdi + 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
mov dword [r8], edx
lea r8, [r8 + 4]
add edi, 4
dec r10
jne 0x14001dfa0
lea r10, [rbp + 0x1430]
nop dword [rax]
nop dword [rax + rax]
lea eax, [r9 - 0xf]
mov edi, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 2]
mov edx, dword [rbp + rax*4 + 0x13f0]
mov r8d, edx
rol r8d, 0xf
mov eax, edx
rol eax, 0xd
xor r8d, eax
shr edx, 0xa
xor r8d, edx
mov ecx, edi
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
shr edi, 3
xor ecx, edi
add r8d, ecx
lea eax, [r9 - 0x10]
add r8d, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 7]
add r8d, dword [rbp + rax*4 + 0x13f0]
mov dword [r10], r8d
inc r9d
lea r10, [r10 + 4]
cmp r9d, 0x40
jb 0x14001dff0
mov r13d, dword [rbp + 0x20]
mov dword [rsp + 0x58], r13d
mov r8d, r13d
mov r12d, dword [rbp + 0x24]
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x30], r12d
mov r15d, dword [rbp + 0x28]
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x38], r15d
mov r14d, dword [rbp + 0x2c]
mov dword [rsp + 0x70], r14d
mov r15d, r14d
mov esi, dword [rbp + 0x30]
mov dword [rsp + 0x6c], esi
mov r9d, esi
mov ebx, dword [rbp + 0x34]
mov dword [rsp + 0x40], ebx
mov esi, ebx
mov r11d, dword [rbp + 0x38]
mov dword [rsp + 0x3c], r11d
mov r14d, r11d
mov r10d, dword [rbp + 0x3c]
mov dword [rsp + 0x34], r10d
mov r12d, r10d
xor r11d, r11d
lea r13d, [r11 + 0x40]
mov r10d, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
nop word [rax + rax]
mov edi, r9d
ror edi, 0xb
mov eax, r9d
rol eax, 7
xor edi, eax
mov eax, r9d
ror eax, 6
xor edi, eax
mov ecx, r9d
not ecx
and ecx, r14d
mov eax, esi
and eax, r9d
xor ecx, eax
add edi, ecx
add edi, dword [rbp + r11 + 0x13f0]
lea rax, [0x14013dad0]
add edi, dword [r11 + rax]
add edi, r12d
mov edx, r8d
ror edx, 0xd
mov eax, r8d
rol eax, 0xa
xor edx, eax
mov eax, r8d
ror eax, 2
xor edx, eax
mov ecx, r10d
xor ecx, r8d
and ecx, ebx
mov eax, r10d
and eax, r8d
xor ecx, eax
add edx, ecx
mov r12d, r14d
mov r14d, esi
mov esi, r9d
lea r9d, [rdi + r15]
mov r15d, ebx
mov ebx, r10d
mov r10d, r8d
lea r8d, [rdx + rdi]
lea r11, [r11 + 4]
dec r13
jne 0x14001e0d0
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x74], r14d
mov dword [rsp + 0x38], esi
mov r13d, dword [rsp + 0x58]
add r13d, r8d
mov dword [rsp + 0x58], r13d
mov dword [rbp + 0x20], r13d
mov r12d, dword [rsp + 0x68]
add r12d, r10d
mov dword [rbp + 0x24], r12d
mov r15d, dword [rsp + 0x54]
add r15d, ebx
mov dword [rbp + 0x28], r15d
mov r14d, dword [rsp + 0x70]
add r14d, dword [rsp + 0x30]
mov dword [rbp + 0x2c], r14d
mov esi, dword [rsp + 0x6c]
add esi, r9d
mov dword [rbp + 0x30], esi
mov ebx, dword [rsp + 0x40]
add ebx, dword [rsp + 0x38]
mov dword [rbp + 0x34], ebx
mov r11d, dword [rsp + 0x3c]
add r11d, dword [rsp + 0x74]
mov dword [rbp + 0x38], r11d
mov r10d, dword [rsp + 0x34]
add r10d, dword [rsp + 0x48]
mov dword [rbp + 0x3c], r10d
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x34], r10d
mov eax, dword [rbp + 0x10]
lea ecx, [rax*8]
mov rdx, qword [rbp + 0x18]
add rdx, rcx
mov qword [rbp + 0x18], rdx
movzx eax, dl
mov byte [rbp + 0xf], dl
mov rax, rdx
shr rax, 8
mov byte [rbp + 0xe], al
mov rax, rdx
shr rax, 0x10
mov byte [rbp + 0xd], al
mov rax, rdx
shr rax, 0x18
mov byte [rbp + 0xc], al
mov rax, rdx
shr rax, 0x20
mov byte [rbp + 0xb], al
mov rax, rdx
shr rax, 0x28
mov byte [rbp + 0xa], al
mov rax, rdx
shr rax, 0x30
mov byte [rbp + 9], al
shr rdx, 0x38
mov byte [rbp + 8], dl
lea rdi, [rbp + 0x13f0]
mov r8d, setsockopt
mov r9d, r8d
mov r15d, 2
nop word [rax + rax]
lea eax, [r15 - 2]
movzx edx, byte [rbp + rax - 0x30]
shl edx, 8
lea eax, [r15 - 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
shl edx, 8
mov eax, r15d
movzx ecx, byte [rbp + rax - 0x30]
or edx, ecx
shl edx, 8
lea eax, [r15 + 1]
movzx eax, byte [rbp + rax - 0x30]
or edx, eax
mov dword [rdi], edx
lea rdi, [rdi + 4]
add r15d, 4
dec r8
jne 0x14001e290
lea r13, [rbp + 0x1430]
mov r15d, dword [rsp + 0x54]
nop dword [rax]
lea eax, [r9 - 0xf]
mov edi, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 2]
mov edx, dword [rbp + rax*4 + 0x13f0]
mov r8d, edx
rol r8d, 0xf
mov eax, edx
rol eax, 0xd
xor r8d, eax
shr edx, 0xa
xor r8d, edx
mov ecx, edi
rol ecx, 0xe
mov eax, edi
ror eax, 7
xor ecx, eax
shr edi, 3
xor ecx, edi
add r8d, ecx
lea eax, [r9 - 0x10]
add r8d, dword [rbp + rax*4 + 0x13f0]
lea eax, [r9 - 7]
add r8d, dword [rbp + rax*4 + 0x13f0]
mov dword [r13], r8d
inc r9d
lea r13, [r13 + 4]
cmp r9d, 0x40
jb 0x14001e2e0
mov r8d, dword [rsp + 0x58]
mov r13d, r12d
mov dword [rsp + 0x48], r15d
mov r9d, esi
mov esi, r11d
mov r15d, r10d
xor r10d, r10d
mov r11d, dword [rsp + 0x48]
lea r12d, [r10 + 0x40]
nop word [rax + rax]
mov edi, r9d
ror edi, 0xb
mov eax, r9d
rol eax, 7
xor edi, eax
mov eax, r9d
ror eax, 6
xor edi, eax
mov ecx, r9d
not ecx
and ecx, esi
mov eax, ebx
and eax, r9d
xor ecx, eax
add edi, ecx
add edi, dword [rbp + r10 + 0x13f0]
lea rax, [0x14013dad0]
add edi, dword [r10 + rax]
add edi, r15d
mov edx, r8d
ror edx, 0xd
mov eax, r8d
rol eax, 0xa
xor edx, eax
mov eax, r8d
ror eax, 2
xor edx, eax
mov ecx, r13d
xor ecx, r8d
and ecx, r11d
mov eax, r13d
and eax, r8d
xor ecx, eax
add edx, ecx
mov r15d, esi
mov esi, ebx
mov ebx, r9d
lea r9d, [rdi + r14]
mov r14d, r11d
mov r11d, r13d
mov r13d, r8d
lea r8d, [rdx + rdi]
lea r10, [r10 + 4]
dec r12
jne 0x14001e370
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x48], r13d
mov r13d, dword [rsp + 0x58]
add r13d, r8d
mov r12d, dword [rsp + 0x68]
add r12d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x54]
add r15d, r11d
mov r14d, dword [rsp + 0x70]
add r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x6c]
add esi, r9d
mov ebx, dword [rsp + 0x40]
add ebx, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x3c]
add r11d, dword [rsp + 0x74]
mov r10d, dword [rsp + 0x34]
add r10d, dword [rsp + 0x60]
xor edi, edi
mov r8, qword [rsp + 0x78]
add r8, 7
lea rdx, [r8 + 8]
nop dword [rax + rax]
mov ecx, 3
sub ecx, edi
shl ecx, 3
mov eax, r13d
shr eax, cl
mov byte [r8], al
mov eax, r12d
shr eax, cl
mov byte [rdx - 4], al
mov eax, r15d
shr eax, cl
mov byte [rdx], al
mov eax, r14d
shr eax, cl
mov byte [rdx + 4], al
mov eax, esi
shr eax, cl
mov byte [rdx + 8], al
mov eax, ebx
shr eax, cl
mov byte [rdx + 0xc], al
mov eax, r11d
shr eax, cl
mov byte [rdx + 0x10], al
mov eax, r10d
shr eax, cl
mov byte [rdx + 0x14], al
inc edi
lea rdx, [rdx + 1]
lea r8, [r8 + 1]
cmp edi, 4
jb 0x14001e470
movdqa xmm0, xmmword [0x140144a00]
movdqu xmmword [rbp + 0x14f0], xmm0
movdqa xmm1, xmmword [0x140144a40]
movdqu xmmword [rbp + 0x1500], xmm1
mov rsi, qword [rbp - 0x70]
xor r12d, r12d
test rsi, rsi
je 0x14001e58b
mov byte [rsp + 0x50], 1
mov ecx, r12d
mov ebx, 0x20
mov edx, ebx
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x14f0]
mov byte [rbp + rcx + 0x10], al
mov byte [rbp + rcx - 0x10], al
lea rcx, [rcx + 1]
dec rdx
jne 0x14001e510
mov dil, 7
nop dword [rax]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x10]
call fcn.14001b310
add dil, 0xff
jne 0x14001e530
mov rax, rsi
shr rax, 4
mov r14, qword [rsp + 0x78]
mov rdi, r14
test eax, eax
je 0x14001e579
mov esi, eax
nop dword [rax]
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.14001b760
add rdi, 0x10
dec rsi
jne 0x14001e560
mov rsi, qword [rbp - 0x70]
lea rax, [rbp - 0x10]
nop dword [rax]
lea rax, [rax + 1]
dec rbx
jne 0x14001e580
jmp 0x14001e590
mov r14, qword [rsp + 0x78]
mov r15, qword [rbp - 0x60]
mov rdx, r15
lea rcx, [rbp + 0x14f0]
call fcn.14001fa90
mov rdi, qword [rbp - 0x68]
mov rdi, qword [rdi]
mov rbx, qword [rbp + 0x1510]
add ebx, 4
cmp qword [rax + 0x18], 0x10
jb 0x14001e5be
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 4]
or rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rdi], rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14001e638
mov ecx, ebx
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rdi + 8], rax
test rax, rax
jne 0x14001e61d
mov rcx, qword [rdi]
call qword [0x14011e328]
mov qword [rdi], 0xffffffffffffffff
jmp 0x14001e638
mov dword [rax], ebx
test rsi, rsi
je 0x14001e633
lea rcx, [rax + 4]
mov r8, rsi
mov rdx, r14
call sub.MSVCR120.dll_memcpy
mov dil, 1
jmp 0x14001e63b
xor dil, dil
cmp qword [rbp + 0x1508], 0x10
jb 0x14001e652
mov rcx, qword [rbp + 0x14f0]
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x1508], shutdown
mov qword [rbp + 0x1500], r12
mov byte [rbp + 0x14f0], 0
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14001e67b
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
nop
cmp qword [rbp + 0x58], 0x10
jb 0x14001e68c
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x58], shutdown
mov qword [rbp + 0x50], r12
mov byte [rbp + 0x40], 0
test r14, r14
je 0x14001e6ab
mov rcx, r14
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
nop
cmp qword [r15 + 0x18], 0x10
jb 0x14001e6bb
mov rcx, qword [r15]
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [r15 + 0x18], shutdown
mov qword [r15 + 0x10], r12
mov byte [r15], 0
movzx eax, dil
mov rcx, qword [rbp + 0x1520]
xor rcx, rsp
call fcn.14010a480
add rsp, 0x1638
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret