Function at 0x140054ab0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r15
lea rbp, [rsp - 0x8d0]
sub rsp, 0x9d0
mov rax, qword [rbp + 0x928]
mov rdi, r9
mov r15, r8
mov r12, rdx
mov rbx, rcx
mov dword [rax], 0
mov rax, qword [rbp + 0x930]
mov byte [rax], 0
movzx eax, byte [rcx + 0xa3]
and al, 0x1f
cmp byte [rcx + 0xa1], 0
je 0x140054b21
cmp al, 2
je 0x140054b36
mov r9b, 0x64
mov byte [rsp + 0x20], 0
mov r8b, 5
call fcn.1400528f0
xor al, al
add rsp, 0x9d0
pop r15
pop r12
pop rdi
pop rbx
pop rbp
ret
cmp al, 1
jne 0x140054b00
cmp qword [rcx + 0x90], 0
jne 0x140054b36
xor edx, edx
call fcn.1400534e0
cmp r15, qword [rbx + 0x80]
jne 0x14005578f
mov rdx, qword [rbx + 0x90]
test rdx, rdx
je 0x14005578f
mov qword [rsp + 0xa00], rsi
lea r9, [0x140000000]
mov qword [rsp + 0xa08], r13
mov qword [rsp + 0xa10], r14
cmp r15, 0xffffffffffffff6a
jl 0x140054c0c
mov rax, qword [rdx + 0x70]
movzx ecx, byte [rbx + 0x98]
movzx r13d, byte [rcx + rax + 0x18c]
movzx esi, r13b
shr r13b, 6
and sil, 0x3f
movzx eax, sil
cmp eax, 0x33
ja case.0x140054bbc.8
movzx eax, byte [r9 + rax + 0x557dc]
mov ecx, dword [r9 + rax*4 + 0x557b8]
add rcx, r9
jmp rcx
mov r14d, 0x930
jmp 0x140054c01
mov r14d, 0x800
jmp 0x140054c01
mov r14d, 0x920
jmp 0x140054c01
mov r14d, 0x940
jmp 0x140054c01
mov r14d, 0x990
jmp 0x140054c01
mov r14d, 0x808
jmp 0x140054c01
mov r14d, 0x914
jmp 0x140054c01
mov r14d, 0x91c
jmp 0x140054c01
xor r14d, r14d
test r13b, r13b
je 0x140054c19
add r14d, 0x60
jmp 0x140054c19
mov sil, 1
mov r14d, 0x60
movzx r13d, sil
cmp r14d, dword [rbp + 0x920]
jbe 0x140054c61
mov byte [rsp + 0x20], 0
mov r9b, 0x24
mov r8b, 5
mov rdx, r12
mov rcx, rbx
call fcn.1400528f0
xor al, al
mov r13, qword [rsp + 0xa08]
mov rsi, qword [rsp + 0xa00]
mov r14, qword [rsp + 0xa10]
add rsp, 0x9d0
pop r15
pop r12
pop rdi
pop rbx
pop rbp
ret
cmp r15, qword [rdx + 0x28]
jne 0x140054d2b
test sil, sil
jne 0x140054d2b
test byte [rdx + 8], 4
je 0x140054d2b
cmp byte [rdx + 0xf], 1
jne 0x140054d2b
movzx eax, byte [rdi + 0x10]
movzx ecx, byte [rdi + 0xf]
mov byte [rsp + 0x34], al
xor cl, 0x60
movzx eax, byte [rdi + 0x11]
xor al, 0x28
mov byte [rsp + 0x35], al
movzx eax, byte [rdi + 0x12]
mov byte [rsp + 0x36], al
movzx eax, byte [rdi + 0x13]
xor al, 0x1e
mov byte [rsp + 0x37], al
movzx eax, byte [rdi + 0x14]
xor al, 0x80
mov byte [rsp + 0x38], al
movzx eax, byte [rdi + 0x15]
xor al, 8
mov byte [rsp + 0x39], al
movzx eax, byte [rdi + 0x16]
xor al, 0x60
mov byte [rsp + 0x3a], al
movzx eax, byte [rdi + 0x17]
xor al, 6
mov byte [rsp + 0x3b], al
cmp cl, 1
jne 0x140054ce6
mov byte [rdx + 0xf], 2
jmp 0x140054d05
cmp cl, 2
jne 0x140054d05
mov eax, dword [rsp + 0x38]
mov ecx, 3
cmp dword [rsp + 0x34], eax
mov r8d, 5
cmove ecx, r8d
mov byte [rdx + 0xf], cl
mov r8, qword [rbx + 0x90]
cmp byte [r8 + 0xf], 1
je 0x140054d2b
mov r9d, dword [r8]
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, qword [rbx]
call qword [sym.imp.imgengine.dll_Ordinal_5]
lea r9, [0x140000000]
mov r8, qword [rbx + 0x90]
cmp r15, qword [r8 + 0x30]
jl 0x14005566d
cmp r15, qword [r8 + 0x38]
jge 0x14005566d
movzx eax, sil
cmp eax, 0x34
ja case.0x140054d67.18
movzx eax, byte [r9 + rax + 0x5585c]
mov ecx, dword [r9 + rax*4 + 0x55810]
add rcx, r9
jmp rcx
mov rcx, rdi
lea rdx, [rsp + 0x40]
mov eax, shutdown
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140054d80
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx + 0x20], xmm0
cmp byte [r8 + 0xf], 1
je case.0x140054d67.18
lea ecx, [rax + 0x49]
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x4c]
movdqu xmm1, xmmword [rax + r9 + 0x1297f0]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x2c], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x3c]
movdqu xmm1, xmmword [rax + r9 + 0x1297e0]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x3c], xmm1
sub rcx, 1
jne 0x140054e00
lea rdx, [0x14012a110]
mov r8d, 4
lea rcx, [rbp + 0x86c]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x140054e52
jmp case.0x140054d67.18
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x930
call fcn.1400b5f30
jmp case.0x140054d67.18
mov rcx, rdi
lea rdx, [rsp + 0x50]
mov eax, 0x10
nop
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140054e90
jmp case.0x140054d67.18
lea rcx, [rdi + 0x10]
mov eax, 0x10
lea rdx, [rsp + 0x50]
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140054f00
jmp case.0x140054d67.18
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x800
call fcn.1400b5f30
jmp case.0x140054d67.18
test byte [rdi + 2], 0x20
mov rcx, rdi
je 0x140054ff4
lea rdx, [rsp + 0x50]
mov eax, 0x10
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140054f82
mov rax, qword [rcx]
mov r8d, 0x118
mov qword [rdx], rax
lea rcx, [rbp + 0x758]
xor edx, edx
call fcn.1400b5f30
jmp case.0x140054d67.18
lea rdx, [rsp + 0x50]
mov eax, shutdown
nop
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055000
jmp 0x1400555a3
test byte [rdi + 2], 0x20
lea rcx, [rdi + 0x10]
je 0x1400550c8
lea rdx, [rsp + 0x50]
mov eax, 0x10
nop dword [rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055070
jmp 0x140054fd5
lea rdx, [rsp + 0x50]
mov eax, shutdown
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x1400550d2
jmp 0x1400555a3
mov rax, qword [rdi]
mov r8d, 0x918
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x58]
xor edx, edx
call fcn.1400b5f30
jmp case.0x140054d67.18
mov rax, qword [rdi + 0x10]
jmp 0x14005512d
mov r8d, 0x920
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.1400b5f30
jmp case.0x140054d67.18
mov rcx, rdi
lea rdx, [rsp + 0x50]
mov eax, shutdown
nop dword [rax]
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055180
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
jmp case.0x140054d67.18
lea rcx, [rdi + 0x10]
mov eax, shutdown
lea rdx, [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055200
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
jmp case.0x140054d67.18
mov rcx, rdi
lea rdx, [rsp + 0x40]
mov eax, shutdown
nop dword [rax]
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055280
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rbp + 0x870]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx + 0x20], xmm0
lea rdx, [rdi + 0x930]
call fcn.140053b60
jmp case.0x140054d67.18
mov rax, rdi
lea rcx, [rsp + 0x40]
mov edx, shutdown
nop
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x140055310
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
jmp case.0x140054d67.18
movzx eax, byte [rbx + 0xd1]
lea rdx, [rsp + 0x58]
mov byte [rsp + 0x54], al
mov rcx, rdi
mov byte [rsp + 0x50], al
movzx eax, byte [rbx + 0xd2]
mov byte [rsp + 0x55], al
mov byte [rsp + 0x51], al
movzx eax, byte [rbx + 0xd3]
mov byte [rsp + 0x56], al
mov byte [rsp + 0x52], al
movzx eax, byte [rbx + 0xd4]
mov byte [rsp + 0x57], al
mov byte [rsp + 0x53], al
mov eax, 0x10
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x1400553c0
jmp case.0x140054d67.18
mov rcx, rdi
lea rdx, [rsp + 0x50]
mov eax, 0x10
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055430
mov rax, qword [rcx]
mov qword [rdx], rax
jmp case.0x140054d67.18
movzx eax, byte [rbx + 0xd1]
lea rdx, [rsp + 0x58]
mov byte [rsp + 0x54], al
mov rcx, rdi
mov byte [rsp + 0x50], al
movzx eax, byte [rbx + 0xd2]
mov byte [rsp + 0x55], al
mov byte [rsp + 0x51], al
movzx eax, byte [rbx + 0xd3]
mov byte [rsp + 0x56], al
mov byte [rsp + 0x52], al
movzx eax, byte [rbx + 0xd4]
mov byte [rsp + 0x57], al
mov byte [rsp + 0x53], al
mov eax, shutdown
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x1400554e0
movups xmm0, xmmword [rcx]
mov eax, dword [rcx + 0x10]
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], eax
jmp 0x1400555b7
mov rcx, rdi
lea rdx, [rsp + 0x50]
mov eax, shutdown
nop
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rax, 1
jne 0x140055550
mov rax, qword [rcx + 0x10]
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
mov eax, dword [rcx + 0x18]
mov dword [rdx + 0x18], eax
xor eax, eax
mov dword [rbp + 0x86c], eax
test r13b, r13b
je 0x14005560f
mov eax, r14d
movups xmm0, xmmword [rax + rdi - 0x60]
movups xmm1, xmmword [rax + rdi - 0x50]
movaps xmmword [rbp + 0x870], xmm0
movups xmm0, xmmword [rax + rdi - 0x40]
movaps xmmword [rbp + 0x880], xmm1
movups xmm1, xmmword [rax + rdi - 0x30]
movaps xmmword [rbp + 0x890], xmm0
movups xmm0, xmmword [rax + rdi - 0x20]
movaps xmmword [rbp + 0x8a0], xmm1
movups xmm1, xmmword [rax + rdi - 0x10]
movaps xmmword [rbp + 0x8b0], xmm0
movaps xmmword [rbp + 0x8c0], xmm1
mov rcx, qword [rbx + 0x90]
lea r9, [rsp + 0x40]
movabs rax, 0x8888888888888889
mov dword [rsp + 0x28], 1
sub r15, qword [rcx + 0x30]
sub rcx, qword [rbx + 0x68]
imul rcx
mov qword [rsp + 0x20], r15
add rdx, rcx
mov rcx, qword [rbx]
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
xor edx, edx
call qword [sym.imp.imgengine.dll_Ordinal_7]
test eax, eax
je 0x14005566d
mov byte [rsp + 0x20], 0
mov r9b, ntohl
mov r8b, 3
jmp 0x140054c2d
mov rax, qword [rbp + 0x928]
mov dword [rax], r14d
mov rdx, qword [rbx + 0x80]
inc rdx
mov byte [rbx + 0x89], 1
cmp byte [rbx + 0xa0], 0
mov qword [rbx + 0x80], rdx
je 0x1400556e9
mov rcx, qword [rbx + 0x90]
cmp rdx, qword [rcx + 0x38]
jl 0x140055788
movzx eax, byte [rcx + 0xa]
cmp ax, word [rbx + 0x56]
jae 0x1400556d7
lea rax, [rcx + 0x78]
mov byte [rbx + 0x98], 1
mov qword [rbx + 0x90], rax
mov rax, qword [rax + 0x28]
mov qword [rbx + 0x80], rax
mov al, 1
jmp 0x140054c3a
mov qword [rbx + 0x90], 0
mov al, 1
jmp 0x140054c3a
mov r9, qword [rbx + 0x90]
movzx r8d, byte [rbx + 0x98]
movzx eax, byte [r9 + 0x5c]
inc eax
cmp r8d, eax
jl 0x140055750
movzx eax, byte [r9 + 0xa]
cmp ax, word [rbx + 0x56]
jne 0x14005572e
cmp rdx, qword [rbx + 0x60]
jl 0x140055788
mov rcx, rbx
call fcn.140051bc0
mov rax, qword [rbp + 0x930]
mov byte [rax], 1
mov al, 1
jmp 0x140054c3a
cmp rdx, qword [r9 + 0x98]
jl 0x140055788
lea rax, [r9 + 0x78]
mov byte [rbx + 0x98], 0
mov qword [rbx + 0x90], rax
mov al, 1
jmp 0x140054c3a
test r8b, r8b
jne 0x140055769
cmp rdx, qword [r9 + 0x28]
jl 0x140055788
mov byte [rbx + 0x98], 1
mov al, 1
jmp 0x140054c3a
lea eax, [r8 - 1]
movsxd rcx, eax
mov rax, qword [r9 + 0x70]
movsxd rcx, dword [rax + rcx*4 + 4]
cmp rdx, rcx
jl 0x140055788
inc r8b
mov byte [rbx + 0x98], r8b
mov al, 1
jmp 0x140054c3a
mov r9b, 0x21
mov byte [rsp + 0x20], 2
mov r8b, 5
mov rdx, r12
mov rcx, rbx
call fcn.1400528f0
xor al, al
add rsp, 0x9d0
pop r15
pop r12
pop rdi
pop rbx
pop rbp
ret