Function at 0x140046fb0
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2b0]
sub rsp, 0x3b0
mov r15d, dword [rbp + 0x320]
xor ebx, ebx
mov r14d, dword [rbp + 0x328]
mov eax, r15d
shr dword [rbp + 0x330], 1
mov rdi, rdx
shr eax, 4
mov rsi, rcx
mov dword [rsp + 0x38], eax
mov eax, dword [0x1401047d0]
shr r14d, 7
mov qword [rsp + 0x78], rbx
cmp eax, 0xffffffff
jne 0x140047084
lea rcx, str.TURTLECOIN_USE_SOFTWARE_AES
call fcn.14008ec1c
mov rcx, rax
test rax, rax
jne 0x140047031
mov dword [0x1401047d0], ebx
mov eax, ebx
jmp 0x140047084
movzx eax, byte [rax]
cmp al, byte [0x1400b8a18]
jne 0x140047048
movzx eax, byte [rcx + 1]
cmp al, byte [0x1400b8a19]
je 0x14004706b
movzx eax, byte [rcx]
cmp al, byte [0x1400b97dc]
jne 0x140047075
movzx eax, byte [rcx + 1]
cmp al, byte [reloc.WS2_32.dll_WSAGetLastError]
jne 0x140047075
movzx eax, byte [rcx + 2]
cmp al, byte [0x1400b97de]
jne 0x140047075
mov dword [0x1401047d0], ebx
mov eax, ebx
jmp 0x140047084
mov dword [0x1401047d0], 1
mov eax, 1
test eax, eax
jne 0x1400470c3
mov ecx, dword [0x1401047d4]
test ecx, ecx
jns 0x1400470b7
xor ecx, ecx
mov eax, 1
cpuid
and ecx, 0x2000000
mov dword [rsp + 0x64], ebx
xor ebx, ebx
mov dword [rsp + 0x60], eax
test ecx, ecx
mov dword [rsp + 0x6c], edx
mov dword [0x1401047d4], ecx
mov dword [rbp + 0x320], 1
jne 0x1400470c9
mov dword [rbp + 0x320], ebx
mov ecx, dword [0x14010c0f8]
mov rax, qword gs:[0x58]
mov r13d, 0x4e88
mov r12, qword [rax + rcx*8]
mov qword [rsp + 0x30], r12
cmp qword [r12 + r13], 0
jne 0x1400471ae
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0x70]
mov edx, 0x20
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x14004716f
lea r8, [rsp + 0x64]
mov dword [rsp + 0x60], 1
lea rdx, str.SeLockMemoryPrivilege
mov dword [rsp + 0x6c], 2
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
je 0x14004716f
mov rcx, qword [rsp + 0x70]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x28], rbx
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x14004716f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14004716f
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [r12 + r13]
mov r9d, 4
mov r8d, 0x20003000
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ecx, 0x4e90
mov qword [r12 + r13], rax
mov dword [rcx + r12], 1
test rax, rax
jne 0x1400471ae
mov dword [rcx + r12], eax
mov rcx, r15
call fcn.14008ea30
mov qword [r12 + r13], rax
cmp dword [rbp + 0x318], 0
lea rcx, [rbp + 0x50]
mov r8, rdi
mov rdx, rsi
je 0x1400471c8
call fcn.140082ed0
jmp 0x1400471cd
call fcn.1400482b0
movups xmm0, xmmword [rbp + 0x90]
movups xmm1, xmmword [rbp + 0xa0]
mov r15d, dword [rbp + 0x310]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp + 0xb0]
movups xmmword [rbp - 0x20], xmm1
movups xmm1, xmmword [rbp + 0xc0]
movups xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rbp + 0xd0]
movups xmmword [rbp], xmm1
movups xmm1, xmmword [rbp + 0xe0]
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rbp + 0xf0]
movups xmmword [rbp + 0x20], xmm1
movups xmm1, xmmword [rbp + 0x100]
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm1
cmp r15d, 1
jne 0x140047253
cmp rdi, 0x2b
jb 0x140048089
mov rax, qword [rsi + 0x23]
xor r12d, r12d
xor rax, qword [rbp + 0x110]
mov qword [rsp + 0x70], rax
xor esi, esi
jmp 0x140047299
xor r12d, r12d
mov qword [rsp + 0x70], 0
xor esi, esi
cmp r15d, 2
jne 0x140047299
mov rax, qword [rbp + 0x90]
xor rax, qword [rbp + 0xa0]
mov r12, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb8]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0xa8]
xor rax, qword [rbp + 0x98]
mov qword [rbp - 0x38], rax
mov ebx, dword [rbp + 0x320]
movaps xmmword [rsp + 0x3a0], xmm6
movaps xmmword [rsp + 0x390], xmm7
movaps xmmword [rsp + 0x380], xmm8
movaps xmmword [rsp + 0x370], xmm9
movaps xmmword [rsp + 0x360], xmm10
movaps xmmword [rsp + 0x350], xmm11
mov r13d, r14d
movaps xmmword [rsp + 0x340], xmm12
movaps xmmword [rsp + 0x330], xmm13
mov qword [rbp - 0x80], r13
test ebx, ebx
je 0x14004742d
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x50]
call fcn.140046d80
mov r11, qword [rsp + 0x30]
mov r8d, 0x4e88
test r14d, r14d
je 0x140047512
movdqa xmm2, xmmword [rbp + 0x1b0]
xor edx, edx
movdqa xmm3, xmmword [rbp + 0x1a0]
mov ebx, r13d
movdqa xmm4, xmmword [rbp + 0x190]
movdqa xmm5, xmmword [rbp + 0x180]
movdqa xmm6, xmmword [rbp + 0x170]
movdqa xmm7, xmmword [rbp + 0x160]
movdqa xmm8, xmmword [rbp + 0x150]
movdqa xmm9, xmmword [rbp + 0x140]
movdqa xmm10, xmmword [rbp + 0x130]
movdqa xmm11, xmmword [rbp + 0x120]
lea rax, [rbp - 0x30]
mov ecx, 8
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
lea rax, [rax + 0x10]
aesenc xmm0, xmm11
aesenc xmm0, xmm10
aesenc xmm0, xmm9
aesenc xmm0, xmm8
aesenc xmm0, xmm7
aesenc xmm0, xmm6
aesenc xmm0, xmm5
aesenc xmm0, xmm4
aesenc xmm0, xmm3
aesenc xmm0, xmm2
movdqu xmmword [rax - 0x10], xmm0
sub rcx, 1
jne 0x140047380
movups xmm0, xmmword [rbp - 0x30]
mov rax, qword [r8 + r11]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rdx + rax + 0x10], xmm1
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rdx + rax + 0x20], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rdx + rax + 0x30], xmm1
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rdx + rax + 0x40], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rdx + rax + 0x50], xmm1
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [rdx + rax + 0x60], xmm0
movups xmm1, xmmword [rbp + 0x40]
movups xmmword [rdx + rax + 0x70], xmm1
sub rdx, 0xffffffffffffff80
sub rbx, 1
jne 0x140047371
mov ebx, dword [rbp + 0x320]
jmp 0x140047512
call fcn.140048340
mov r8d, 0x20
mov qword [rsp + 0x78], rax
lea rdx, [rbp + 0x50]
mov rcx, rax
call fcn.140048720
test r14d, r14d
je 0x140047507
xor r14d, r14d
mov qword [rsp + 0x40], r13
nop word [rax + rax]
lea rbx, [rbp - 0x30]
mov edi, 8
nop dword [rax]
mov rax, qword [rsp + 0x78]
mov rdx, rbx
mov rcx, rbx
mov r8, qword [rax]
mov r8, qword [r8 + 0x18]
call fcn.140048840
add rbx, 0x10
sub rdi, 1
jne 0x140047470
movups xmm0, xmmword [rbp - 0x30]
mov r11, qword [rsp + 0x30]
mov r8d, 0x4e88
mov rax, qword [r8 + r11]
movups xmmword [r14 + rax], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [r14 + rax + 0x10], xmm1
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [r14 + rax + 0x20], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [r14 + rax + 0x30], xmm1
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [r14 + rax + 0x40], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [r14 + rax + 0x50], xmm1
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [r14 + rax + 0x60], xmm0
movups xmm1, xmmword [rbp + 0x40]
movups xmmword [r14 + rax + 0x70], xmm1
sub r14, 0xffffffffffffff80
sub qword [rsp + 0x40], 1
jne 0x140047460
mov ebx, dword [rbp + 0x320]
jmp 0x140047512
mov r11, qword [rsp + 0x30]
mov r8d, 0x4e88
mov rax, qword [rbp + 0x80]
xor rax, qword [rbp + 0x60]
mov r14, qword [rbp + 0x50]
xor r14, qword [rbp + 0x70]
mov rdi, qword [rbp + 0x78]
xor rdi, qword [rbp + 0x58]
movdqa xmm7, xmmword [rbp - 0x40]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x68]
xor rax, qword [rbp + 0x88]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x330]
movdqa xmm6, xmmword [rbp - 0x50]
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140047b27
movdqa xmm1, xmmword [rsp + 0x50]
xor eax, eax
test ebx, ebx
je 0x140047844
cmp dword [rbp + 0x308], eax
mov r10d, dword [rsp + 0x38]
setne cl
shr r10, cl
dec r10
shl r10, 4
mov qword [rsp + 0x38], r10
mov r13d, 0x4e88
mov r9, r10
and r9, r14
mov r8d, 0x80000001
mov rbx, qword [r11 + r13]
movdqu xmm0, xmmword [rbx + r9]
movdqa xmmword [rbp - 0x60], xmm1
aesenc xmm0, xmm1
movdqa xmmword [rbp - 0x70], xmm0
cmp r15d, 2
jne 0x140047617
mov rax, r9
mov rcx, r9
xor rax, 0x10
xor rcx, 0x20
mov rdx, r9
xor rdx, 0x30
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm2, xmmword [rcx + rbx]
paddq xmm1, xmm6
movdqu xmm0, xmmword [rdx + rbx]
paddq xmm0, xmm7
movdqu xmmword [rax + rbx], xmm0
mov rax, qword [r11 + r13]
movdqu xmmword [rcx + rax], xmm1
mov rax, qword [r11 + r13]
paddq xmm2, xmmword [rbp - 0x60]
movdqu xmmword [rdx + rax], xmm2
mov rbx, qword [r11 + r13]
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rsp + 0x60], xmm0
pxor xmm0, xmm6
movdqu xmmword [rbx + r9], xmm0
cmp r15d, 1
jne 0x14004765f
mov r8, qword [r11 + r13]
mov eax, 0x75310
movzx ebx, byte [r8 + r9 + 0xb]
movzx edx, bl
mov ecx, ebx
shr ecx, 2
and dl, r15b
and ecx, 0xc
add dl, dl
or ecx, edx
shr eax, cl
and al, 0x30
xor al, bl
mov byte [r8 + r9 + 0xb], al
mov r8d, 0x80000001
mov rbx, qword [rsp + 0x60]
mov r11, r10
mov r10, qword [rsp + 0x30]
and r11, rbx
mov r10, qword [r10 + r13]
mov r13, qword [r10 + r11]
mov rax, qword [r10 + r11 + 8]
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], rax
cmp r15d, 2
jne 0x140047739
xor edx, edx
lea rcx, [rsi + rsi]
add ecx, ebx
mov rax, rsi
or rcx, r8
shl rax, 0x20
xor r13, rax
xorps xmm2, xmm2
mov rax, qword [rsp + 0x68]
xor r13, r12
div rcx
mov qword [rbp - 0x50], r13
mov r12, rdx
mov eax, eax
shl r12, 0x20
add r12, rax
lea r9, [rbx + r12]
mov rax, r9
mov rbx, r9
shr rax, 0xc
movq xmm0, rax
paddq xmm0, xmmword [0x1400b9850]
sqrtsd xmm2, xmm0
psubq xmm2, xmmword [0x1400b9850]
movq rsi, xmm2
shr rsi, 0x13
mov r8, rsi
mov rdx, rsi
shr rdx, 1
and r8d, 1
sub rbx, rdx
mov rax, rsi
shl rax, 0x20
lea rcx, [r8 + rdx]
imul rcx, rdx
movabs rdx, 0x100000000
add rcx, rax
add rdx, rcx
add rcx, r8
cmp r9, rcx
sbb ecx, ecx
cmp rdx, rbx
mov rbx, qword [rsp + 0x60]
adc ecx, 0
movsxd rcx, ecx
add rsi, rcx
mov rax, r13
mov r8, r11
mul rbx
xor r8, 0x10
mov r9, rdx
mov r13, rax
cmp r15d, 2
jne 0x140047782
xor qword [r10 + r8], rdx
mov rax, qword [rsp + 0x30]
mov edx, 0x4e88
mov rbx, qword [rdx + rax]
xor qword [rbx + r8 + 8], r13
mov rbx, rax
mov r10, qword [rdx + rax]
mov rdx, r11
xor rdx, 0x20
xor r9, qword [r10 + rdx]
xor r13, qword [rdx + r10 + 8]
jmp 0x14004778e
mov rbx, qword [rsp + 0x30]
mov rdx, r11
xor rdx, 0x20
cmp r15d, 2
jne 0x1400477dc
movdqu xmm1, xmmword [r8 + r10]
mov rcx, r11
movdqu xmm2, xmmword [rdx + r10]
xor rcx, 0x30
paddq xmm1, xmm6
movdqu xmm0, xmmword [r10 + rcx]
paddq xmm0, xmm7
movdqu xmmword [r8 + r10], xmm0
mov r8d, 0x4e88
mov rax, qword [r8 + rbx]
movdqu xmmword [rdx + rax], xmm1
mov rax, qword [r8 + rbx]
paddq xmm2, xmmword [rbp - 0x60]
movdqu xmmword [rcx + rax], xmm2
mov r10, qword [r8 + rbx]
movdqa xmm1, xmmword [rbp - 0x50]
add r14, r9
add rdi, r13
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rdi
pxor xmm1, xmmword [rsp + 0x50]
mov qword [r10 + r11], r14
movdqa xmmword [rsp + 0x50], xmm1
mov qword [r10 + r11 + 8], rdi
cmp r15d, 1
jne 0x140047816
xor rdi, qword [rsp + 0x70]
mov qword [r10 + r11 + 8], rdi
sub qword [rsp + 0x40], 1
movdqa xmm7, xmm6
movdqa xmm6, xmmword [rbp - 0x70]
je 0x140047b23
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x30]
jmp 0x140047595
cmp dword [rbp + 0x308], eax
mov edx, dword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
setne cl
shr rdx, cl
dec rdx
shl rdx, 4
mov qword [rsp + 0x38], rdx
nop word [rax + rax]
mov rax, qword [r8 + rbx]
lea rcx, [rbp - 0x70]
mov r13, rdx
lea r8, [rbp - 0x60]
and r13, r14
lea rdx, [rbp - 0x70]
movdqu xmm0, xmmword [rax + r13]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmmword [rbp - 0x60], xmm1
call fcn.1400492d0
mov r8d, 0x4e88
cmp r15d, 2
jne 0x1400478f8
mov rbx, qword [r8 + rbx]
mov rax, r13
xor rax, 0x10
mov rcx, r13
xor rcx, 0x20
mov rdx, r13
xor rdx, 0x30
movdqu xmm1, xmmword [rbx + rax]
movdqu xmm2, xmmword [rbx + rcx]
paddq xmm1, xmm6
movdqu xmm0, xmmword [rbx + rdx]
paddq xmm0, xmm7
movdqu xmmword [rbx + rax], xmm0
mov rbx, qword [rsp + 0x30]
mov rax, qword [r8 + rbx]
movdqu xmmword [rcx + rax], xmm1
mov rax, qword [r8 + rbx]
paddq xmm2, xmmword [rbp - 0x60]
movdqu xmmword [rdx + rax], xmm2
movdqa xmm0, xmmword [rbp - 0x70]
mov rax, qword [r8 + rbx]
movdqa xmmword [rsp + 0x60], xmm0
pxor xmm0, xmm6
movdqu xmmword [rax + r13], xmm0
cmp r15d, 1
jne 0x140047949
mov r8, qword [r8 + rbx]
mov eax, 0x75310
movzx ebx, byte [r8 + r13 + 0xb]
movzx edx, bl
mov ecx, ebx
shr ecx, 2
and dl, r15b
and ecx, 0xc
add dl, dl
or ecx, edx
shr eax, cl
and al, 0x30
xor al, bl
mov byte [r8 + r13 + 0xb], al
mov r8d, 0x4e88
mov rax, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x60]
and r10, rbx
mov r13, qword [r8 + rax]
mov r11, qword [r10 + r13]
mov rax, qword [r10 + r13 + 8]
mov qword [rbp - 0x50], r11
mov qword [rbp - 0x48], rax
cmp r15d, 2
jne 0x140047a30
xor edx, edx
lea rcx, [rsi + rsi]
add ecx, ebx
mov rax, rsi
shl rax, 0x20
xorps xmm2, xmm2
xor r11, rax
mov eax, 0x80000001
or rcx, rax
xor r11, r12
mov rax, qword [rsp + 0x68]
div rcx
mov qword [rbp - 0x50], r11
mov r12, rdx
mov eax, eax
shl r12, 0x20
add r12, rax
lea r9, [rbx + r12]
mov rax, r9
mov rbx, r9
shr rax, 0xc
movq xmm0, rax
paddq xmm0, xmmword [0x1400b9850]
sqrtsd xmm2, xmm0
psubq xmm2, xmmword [0x1400b9850]
movq rsi, xmm2
shr rsi, 0x13
mov r8, rsi
mov rdx, rsi
shr rdx, 1
and r8d, 1
sub rbx, rdx
mov rax, rsi
shl rax, 0x20
lea rcx, [r8 + rdx]
imul rcx, rdx
movabs rdx, 0x100000000
add rcx, rax
add rdx, rcx
add rcx, r8
cmp r9, rcx
mov r8d, 0x4e88
sbb ecx, ecx
cmp rdx, rbx
mov rbx, qword [rsp + 0x60]
adc ecx, 0
movsxd rcx, ecx
add rsi, rcx
mov rax, r11
mul rbx
mov r9, rdx
mov r11, rax
cmp r15d, 2
jne 0x140047abf
mov rax, qword [rsp + 0x30]
mov r8, r10
xor r8, 0x10
mov rcx, r10
xor qword [r8 + r13], rdx
mov edx, 0x4e88
mov rbx, qword [rdx + rax]
xor qword [r8 + rbx + 8], r11
mov rbx, rax
mov rax, qword [rdx + rax]
mov rdx, r10
xor rdx, 0x20
movdqu xmm1, xmmword [r8 + rax]
xor r9, qword [rdx + rax]
paddq xmm1, xmm6
xor r11, qword [rdx + rax + 8]
movdqu xmm2, xmmword [rdx + rax]
xor rcx, 0x30
movdqu xmm0, xmmword [rcx + rax]
paddq xmm0, xmm7
movdqu xmmword [r8 + rax], xmm0
mov r8d, 0x4e88
mov rax, qword [r8 + rbx]
movdqu xmmword [rdx + rax], xmm1
mov rax, qword [r8 + rbx]
paddq xmm2, xmmword [rbp - 0x60]
movdqu xmmword [rcx + rax], xmm2
mov r13, qword [r8 + rbx]
jmp 0x140047ac4
mov rbx, qword [rsp + 0x30]
movdqa xmm1, xmmword [rbp - 0x50]
add r14, r9
add rdi, r11
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rdi
pxor xmm1, xmmword [rsp + 0x50]
mov qword [r10 + r13], r14
movdqa xmmword [rsp + 0x50], xmm1
mov qword [r10 + r13 + 8], rdi
cmp r15d, 1
jne 0x140047afe
xor rdi, qword [rsp + 0x70]
mov qword [r10 + r13 + 8], rdi
sub qword [rsp + 0x40], 1
movdqa xmm7, xmm6
movdqa xmm6, xmmword [rbp - 0x70]
je 0x140047b23
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
jmp 0x140047870
mov r13, qword [rbp - 0x80]
cmp dword [rbp + 0x320], 0
movups xmm6, xmmword [rbp + 0x90]
movups xmm7, xmmword [rbp + 0xa0]
movups xmm8, xmmword [rbp + 0xb0]
movups xmm9, xmmword [rbp + 0xc0]
movups xmm10, xmmword [rbp + 0xd0]
movups xmm11, xmmword [rbp + 0xe0]
movups xmm12, xmmword [rbp + 0xf0]
movups xmm13, xmmword [rbp + 0x100]
movups xmmword [rbp - 0x30], xmm6
movups xmmword [rbp - 0x20], xmm7
movups xmmword [rbp - 0x10], xmm8
movups xmmword [rbp], xmm9
movups xmmword [rbp + 0x10], xmm10
movups xmmword [rbp + 0x20], xmm11
movups xmmword [rbp + 0x30], xmm12
movups xmmword [rbp + 0x40], xmm13
je 0x140047edb
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x70]
call fcn.140046d80
mov r14d, 0x4e88
test r13, r13
je 0x140047f85
mov rax, qword [rsp + 0x30]
movdqa xmm1, xmmword [rbp + 0x1b0]
movdqa xmm2, xmmword [rbp + 0x1a0]
movdqa xmm3, xmmword [rbp + 0x190]
mov rax, qword [r14 + rax]
movdqa xmm4, xmmword [rbp + 0x180]
movdqa xmm5, xmmword [rbp + 0x170]
movaps xmmword [rsp + 0x320], xmm14
movdqa xmm14, xmmword [rbp + 0x160]
movaps xmmword [rsp + 0x310], xmm15
movdqa xmm15, xmmword [rbp + 0x150]
nop dword [rax]
movdqu xmm0, xmmword [rax]
pxor xmm6, xmm0
aesenc xmm6, xmmword [rbp + 0x120]
aesenc xmm6, xmmword [rbp + 0x130]
aesenc xmm6, xmmword [rbp + 0x140]
aesenc xmm6, xmm15
aesenc xmm6, xmm14
aesenc xmm6, xmm5
aesenc xmm6, xmm4
aesenc xmm6, xmm3
aesenc xmm6, xmm2
aesenc xmm6, xmm1
movups xmmword [rbp - 0x30], xmm6
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm7, xmm0
aesenc xmm7, xmmword [rbp + 0x120]
aesenc xmm7, xmmword [rbp + 0x130]
aesenc xmm7, xmmword [rbp + 0x140]
aesenc xmm7, xmm15
aesenc xmm7, xmm14
aesenc xmm7, xmm5
aesenc xmm7, xmm4
aesenc xmm7, xmm3
aesenc xmm7, xmm2
aesenc xmm7, xmm1
movups xmmword [rbp - 0x20], xmm7
movdqu xmm0, xmmword [rax + 0x20]
pxor xmm8, xmm0
aesenc xmm8, xmmword [rbp + 0x120]
aesenc xmm8, xmmword [rbp + 0x130]
aesenc xmm8, xmmword [rbp + 0x140]
aesenc xmm8, xmm15
aesenc xmm8, xmm14
aesenc xmm8, xmm5
aesenc xmm8, xmm4
aesenc xmm8, xmm3
aesenc xmm8, xmm2
aesenc xmm8, xmm1
movups xmmword [rbp - 0x10], xmm8
movdqu xmm0, xmmword [rax + 0x30]
pxor xmm9, xmm0
aesenc xmm9, xmmword [rbp + 0x120]
aesenc xmm9, xmmword [rbp + 0x130]
aesenc xmm9, xmmword [rbp + 0x140]
aesenc xmm9, xmm15
aesenc xmm9, xmm14
aesenc xmm9, xmm5
aesenc xmm9, xmm4
aesenc xmm9, xmm3
aesenc xmm9, xmm2
aesenc xmm9, xmm1
movups xmmword [rbp], xmm9
movdqu xmm0, xmmword [rax + 0x40]
pxor xmm10, xmm0
aesenc xmm10, xmmword [rbp + 0x120]
aesenc xmm10, xmmword [rbp + 0x130]
aesenc xmm10, xmmword [rbp + 0x140]
aesenc xmm10, xmm15
aesenc xmm10, xmm14
aesenc xmm10, xmm5
aesenc xmm10, xmm4
aesenc xmm10, xmm3
aesenc xmm10, xmm2
aesenc xmm10, xmm1
movups xmmword [rbp + 0x10], xmm10
movdqu xmm0, xmmword [rax + 0x50]
pxor xmm11, xmm0
aesenc xmm11, xmmword [rbp + 0x120]
aesenc xmm11, xmmword [rbp + 0x130]
aesenc xmm11, xmmword [rbp + 0x140]
aesenc xmm11, xmm15
aesenc xmm11, xmm14
aesenc xmm11, xmm5
aesenc xmm11, xmm4
aesenc xmm11, xmm3
aesenc xmm11, xmm2
aesenc xmm11, xmm1
movups xmmword [rbp + 0x20], xmm11
movdqu xmm0, xmmword [rax + 0x60]
pxor xmm12, xmm0
aesenc xmm12, xmmword [rbp + 0x120]
lea rax, [rax + 0x80]
aesenc xmm12, xmmword [rbp + 0x130]
aesenc xmm12, xmmword [rbp + 0x140]
aesenc xmm12, xmm15
aesenc xmm12, xmm14
aesenc xmm12, xmm5
aesenc xmm12, xmm4
aesenc xmm12, xmm3
aesenc xmm12, xmm2
aesenc xmm12, xmm1
movups xmmword [rbp + 0x30], xmm12
movdqu xmm0, xmmword [rax - 0x10]
pxor xmm13, xmm0
aesenc xmm13, xmmword [rbp + 0x120]
aesenc xmm13, xmmword [rbp + 0x130]
aesenc xmm13, xmmword [rbp + 0x140]
aesenc xmm13, xmm15
aesenc xmm13, xmm14
aesenc xmm13, xmm5
aesenc xmm13, xmm4
aesenc xmm13, xmm3
aesenc xmm13, xmm2
aesenc xmm13, xmm1
movups xmmword [rbp + 0x40], xmm13
sub r13, 1
jne 0x140047c10
movaps xmm15, xmmword [rsp + 0x310]
movaps xmm14, xmmword [rsp + 0x320]
jmp 0x140047f85
mov rcx, qword [rsp + 0x78]
lea rdx, [rbp + 0x70]
mov r8d, 0x20
call fcn.140048720
mov r14d, 0x4e88
test r13, r13
je 0x140047f55
lea rsi, [rbp - 0x28]
neg rsi
mov r13, qword [rsp + 0x30]
lea rbx, [rbp - 0x30]
mov edi, 8
nop
lea rcx, [rbx + 8]
mov rdx, rbx
add rcx, rsi
add rcx, qword [r14 + r13]
mov rax, qword [rcx]
xor qword [rbx], rax
mov rax, qword [rcx + 8]
mov rcx, rbx
xor qword [rbx + 8], rax
mov rax, qword [rsp + 0x78]
mov r8, qword [rax]
mov r8, qword [r8 + 0x18]
call fcn.140048840
add rbx, 0x10
sub rdi, 1
jne 0x140047f10
sub rsi, 0xffffffffffffff80
sub qword [rbp - 0x80], 1
jne 0x140047f01
lea rcx, [rsp + 0x78]
call fcn.140048410
movups xmm13, xmmword [rbp + 0x40]
movups xmm12, xmmword [rbp + 0x30]
movups xmm11, xmmword [rbp + 0x20]
movups xmm10, xmmword [rbp + 0x10]
movups xmm9, xmmword [rbp]
movups xmm8, xmmword [rbp - 0x10]
movups xmm7, xmmword [rbp - 0x20]
movups xmm6, xmmword [rbp - 0x30]
lea rcx, [rbp + 0x50]
movups xmmword [rbp + 0x90], xmm6
movups xmmword [rbp + 0xa0], xmm7
movups xmmword [rbp + 0xb0], xmm8
movups xmmword [rbp + 0xc0], xmm9
movups xmmword [rbp + 0xd0], xmm10
movups xmmword [rbp + 0xe0], xmm11
movups xmmword [rbp + 0xf0], xmm12
movups xmmword [rbp + 0x100], xmm13
call fcn.1400482a0
movzx eax, byte [rbp + 0x50]
lea rbx, [0x1400b97f8]
mov r8, qword [rbp + 0x300]
lea rcx, [rbp + 0x50]
and eax, 3
mov edx, 0xc8
call qword [rbx + rax*8]
mov r13, qword [rsp + 0x30]
movaps xmm13, xmmword [rsp + 0x330]
movaps xmm12, xmmword [rsp + 0x340]
movaps xmm11, xmmword [rsp + 0x350]
mov rcx, qword [r14 + r13]
movaps xmm10, xmmword [rsp + 0x360]
movaps xmm9, xmmword [rsp + 0x370]
movaps xmm8, xmmword [rsp + 0x380]
movaps xmm7, xmmword [rsp + 0x390]
movaps xmm6, xmmword [rsp + 0x3a0]
test rcx, rcx
je 0x14004806e
mov eax, 0x4e90
mov ebx, eax
cmp dword [rax + r13], 0
jne 0x140048056
call fcn.140085f34
jmp 0x140048064
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov qword [r14 + r13], rax
mov dword [rbx + r13], eax
mov rbx, qword [rsp + 0x3f0]
add rsp, 0x3b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 2
call fcn.14008ed4c
mov rcx, rax
lea rdx, str.Cryptonight_variant_1_need_at_least_43_bytes_of_data
call fcn.1400480b0
call fcn.14008cf50
int3