Function at 0x140023170
Capabilities:
Encrypt data using salsa20 or chacha
Enumerate pe sections

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb58
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xac0], xmm12
movaps xmmword [rbp + 0xab0], xmm11
movaps xmmword [rbp + 0xaa0], xmm10
movaps xmmword [rbp + 0xa90], xmm9
movaps xmmword [rbp + 0xa80], xmm8
movaps xmmword [rbp + 0xa70], xmm7
movaps xmmword [rbp + 0xa60], xmm6
and rsp, 0xffffffffffffffe0
mov r13, r8
mov r14, rdx
mov rdi, rcx
mov rax, qword [rbp + 0xb48]
movabs rbx, 0x8000000000000000
mov rcx, r9
shr rcx, 8
mov byte [rsp + 0x7e0], r9b
mov rdx, r9
shr rdx, 0x38
mov byte [rsp + 0x7e7], dl
shr r9, 0x28
mov word [rsp + 0x7e5], r9w
mov dword [rsp + 0x7e1], ecx
mov qword [rsp + 0x7e8], 0x20
mov qword [rsp + 0x7f0], rax
mov qword [rsp + 0x7f8], 0x20
mov qword [rsp + 0x800], 1
mov qword [rsp + 0x808], 0
mov qword [rsp + 0x810], 1
mov qword [rsp + 0x818], 0
movaps xmm0, xmmword [0x14005a290]
movups xmmword [rsp + 0x820], xmm0
mov word [rsp + 0x830], 0x213
movabs rax, 0x4c0000004c00
mov qword [rsp + 0x838], rax
mov dword [rsp + 0x840], 0x1300
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x7e0]
call fcn.140012810
mov r9, qword [rsp + 0x5a0]
mov rax, r9
neg rax
movzx eax, byte [rsp + 0x5a8]
jno 0x1400232ce
mov byte [rdi + 8], al
mov qword [rdi], rbx
jmp 0x14002395a
movzx eax, al
movzx ecx, byte [rsp + 0x5af]
shl ecx, 0x10
movzx edx, word [rsp + 0x5ad]
or edx, ecx
mov r8d, dword [rsp + 0x5a9]
shl rdx, 0x28
shl r8, 8
or r8, rdx
or r8, rax
cmp qword [rsp + 0x5b0], 0x20
jne 0x14002393f
mov qword [rsp + 0x2d8], r14
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], r9
movzx eax, byte [r8]
movzx ecx, byte [r8 + 1]
movzx r12d, byte [r8 + 2]
movzx edx, byte [r8 + 3]
mov byte [rsp + 0x97], dl
mov qword [rsp + 0xf0], r13
movzx edx, byte [r8 + 4]
mov byte [rsp + 0x80], dl
movzx edx, byte [r8 + 5]
mov byte [rsp + 0xe0], dl
movzx edx, byte [r8 + 6]
mov byte [rsp + 0xd8], dl
movzx ebx, byte [r8 + 7]
movzx r9d, byte [r8 + 8]
movzx r10d, byte [r8 + 9]
movzx r11d, byte [r8 + 0xa]
movzx edi, byte [r8 + 0xb]
movzx r14d, byte [r8 + 0xc]
movzx esi, byte [r8 + 0xd]
mov byte [rsp + 0x96], sil
movzx edx, byte [r8 + 0xe]
mov byte [rsp + 0xac], dl
movzx edx, byte [r8 + 0xf]
mov byte [rsp + 0xa8], dl
movzx esi, byte [r8 + 0x10]
movzx r15d, byte [r8 + 0x11]
mov byte [rsp + 0x95], r15b
movzx r15d, byte [r8 + 0x12]
movzx r13d, byte [r8 + 0x13]
mov byte [rsp + 0x94], r13b
movzx r13d, byte [r8 + 0x14]
movzx edx, byte [r8 + 0x15]
mov byte [rsp + 0x93], dl
movzx edx, byte [r8 + 0x16]
mov byte [rsp + 0xa4], dl
movzx edx, byte [r8 + 0x17]
mov byte [rsp + 0xa0], dl
movzx edx, byte [r8 + 0x18]
mov byte [rsp + 0x9c], dl
movzx edx, byte [r8 + 0x19]
mov byte [rsp + 0x98], dl
movzx edx, byte [r8 + 0x1a]
mov byte [rsp + 0x5f], dl
movzx edx, byte [r8 + 0x1b]
mov byte [rsp + 0x5e], dl
movzx edx, byte [r8 + 0x1c]
mov byte [rsp + 0x5d], dl
movzx edx, byte [r8 + 0x1d]
mov byte [rsp + 0x5c], dl
movzx edx, byte [r8 + 0x1e]
mov qword [rsp + 0xf8], r8
movzx r8d, byte [r8 + 0x1f]
mov byte [rsp + 0x85], al
mov byte [rsp + 0x7f], al
mov byte [rsp + 0x92], cl
mov byte [rsp + 0x7e], cl
mov byte [rsp + 0x8b], r12b
mov byte [rsp + 0x7d], r12b
movzx r12d, byte [rsp + 0x97]
mov byte [rsp + 0x7c], r12b
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x7b], al
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x7a], al
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0x79], al
mov byte [rsp + 0x91], bl
mov byte [rsp + 0x78], bl
mov byte [rsp + 0x90], r9b
mov byte [rsp + 0x77], r9b
mov byte [rsp + 0x8f], r10b
mov byte [rsp + 0x76], r10b
mov byte [rsp + 0x8e], r11b
mov byte [rsp + 0x75], r11b
mov byte [rsp + 0x8d], dil
mov byte [rsp + 0x74], dil
mov byte [rsp + 0x8c], r14b
mov byte [rsp + 0x73], r14b
movzx r14d, byte [rsp + 0x96]
mov rbx, qword [rsp + 0xf0]
mov byte [rsp + 0x72], r14b
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x70], al
mov byte [rsp + 0x8a], sil
mov byte [rsp + 0x6f], sil
movzx esi, byte [rsp + 0x95]
mov byte [rsp + 0x6e], sil
mov byte [rsp + 0x89], r15b
mov byte [rsp + 0x6d], r15b
movzx r15d, byte [rsp + 0x94]
mov byte [rsp + 0x6c], r15b
mov byte [rsp + 0x88], r13b
mov byte [rsp + 0x6b], r13b
movzx r13d, byte [rsp + 0x93]
mov byte [rsp + 0x6a], r13b
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0x69], al
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x68], al
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0x67], al
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x66], al
movzx eax, byte [rsp + 0x5f]
mov byte [rsp + 0x65], al
movzx eax, byte [rsp + 0x5e]
mov byte [rsp + 0x64], al
movzx eax, byte [rsp + 0x5d]
mov byte [rsp + 0x63], al
movzx eax, byte [rsp + 0x5c]
mov byte [rsp + 0x62], al
mov byte [rsp + 0x87], dl
mov byte [rsp + 0x61], dl
mov byte [rsp + 0x86], r8b
mov byte [rsp + 0x60], r8b
movzx eax, byte [0x141db1a30]
xor ecx, ecx
mov rdx, rbx
call fcn.14003d220
test rax, rax
je 0x140024c69
mov rdi, qword [rbp + 0xb40]
mov qword [rsp + 0xe8], rax
mov rcx, rax
mov rdx, qword [rsp + 0x2d8]
mov r8, rbx
call fcn.140053870
mov eax, dword [rdi + 8]
mov dword [rsp + 0x5a8], eax
mov rax, qword [rdi]
mov qword [rsp + 0x5a0], rax
movzx eax, byte [section..data]
cmp al, 0xff
je 0x1400239a4
xorps xmm8, xmm8
movaps xmmword [rsp + 0x180], xmm8
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x160], xmm8
movaps xmmword [rsp + 0x150], xmm8
movups xmm0, xmmword [0x141da3158]
movaps xmmword [rsp + 0x110], xmm0
movzx eax, byte [rsp + 0x85]
mov byte [rsp + 0x120], al
movzx eax, byte [rsp + 0x92]
mov byte [rsp + 0x121], al
movzx eax, byte [rsp + 0x8b]
mov byte [rsp + 0x122], al
mov byte [rsp + 0x123], r12b
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x124], al
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x125], al
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0x126], al
movzx eax, byte [rsp + 0x91]
mov byte [rsp + 0x127], al
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x128], al
movzx eax, byte [rsp + 0x8f]
mov byte [rsp + 0x129], al
movzx eax, byte [rsp + 0x8e]
mov byte [rsp + 0x12a], al
movzx eax, byte [rsp + 0x8d]
mov byte [rsp + 0x12b], al
movzx eax, byte [rsp + 0x8c]
mov byte [rsp + 0x12c], al
mov byte [rsp + 0x12d], r14b
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0x12e], al
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x12f], al
movzx eax, byte [rsp + 0x8a]
mov byte [rsp + 0x130], al
mov byte [rsp + 0x131], sil
movzx eax, byte [rsp + 0x89]
mov byte [rsp + 0x132], al
mov byte [rsp + 0x133], r15b
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x134], al
mov byte [rsp + 0x135], r13b
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0x136], al
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x137], al
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0x138], al
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x139], al
movzx eax, byte [rsp + 0x5f]
mov byte [rsp + 0x13a], al
movzx eax, byte [rsp + 0x5e]
mov byte [rsp + 0x13b], al
movzx eax, byte [rsp + 0x5d]
mov byte [rsp + 0x13c], al
movzx eax, byte [rsp + 0x5c]
mov byte [rsp + 0x13d], al
movzx eax, byte [rsp + 0x87]
mov byte [rsp + 0x13e], al
movzx eax, byte [rsp + 0x86]
mov byte [rsp + 0x13f], al
mov dword [rsp + 0x140], 0
mov eax, dword [rsp + 0x5a8]
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x5a0]
mov qword [rsp + 0x144], rax
lea rax, [rbx - 0x10]
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x190], 0
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm8
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0xb0]
mov r8d, 0x20
call fcn.140021bc0
movzx eax, byte [0x141db1001]
cmp al, 1
je 0x1400239bb
movzx eax, al
cmp eax, 0xff
je 0x1400239ae
xorps xmm0, xmm0
movaps xmmword [rsp + 0x220], xmm0
mov dword [rsp + 0x230], 0
mov ebx, 0x3ffffff
and ebx, dword [rsp + 0xb0]
mov r14d, dword [rsp + 0xb3]
mov r12d, dword [rsp + 0xb6]
shr r14d, 2
and r14d, 0x3ffff03
shr r12d, 4
and r12d, 0x3ffc0ff
mov edi, dword [rsp + 0xb9]
shr edi, 6
and edi, 0x3f03fff
mov r15d, dword [rsp + 0xbc]
shr r15d, 8
and r15d, 0xfffff
mov eax, dword [rsp + 0xc0]
movsd xmm8, qword [rsp + 0xc4]
mov ecx, dword [rsp + 0xcc]
mov dword [rsp + 0x80], ecx
mov qword [rsp + 0xd8], rax
mov r13d, eax
shr r13d, 8
jmp 0x14002411d
mov byte [rdi + 8], 0x14
mov qword [rdi], rbx
test r9, r9
je 0x14002395a
mov rcx, qword [0x141db1a00]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm6, xmmword [rbp + 0xa60]
movaps xmm7, xmmword [rbp + 0xa70]
movaps xmm8, xmmword [rbp + 0xa80]
movaps xmm9, xmmword [rbp + 0xa90]
movaps xmm10, xmmword [rbp + 0xaa0]
movaps xmm11, xmmword [rbp + 0xab0]
movaps xmm12, xmmword [rbp + 0xac0]
lea rsp, [rbp + 0xad8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1400555f0
jmp 0x140023632
call fcn.140055d00
test al, al
je 0x1400238a1
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0xb0]
call fcn.140026c20
movaps xmm6, xmmword [rsp + 0x5a0]
movaps xmm7, xmmword [rsp + 0x5b0]
movaps xmm0, xmmword [rsp + 0x5c0]
movaps xmm1, xmmword [rsp + 0x5d0]
movaps xmmword [rsp + 0x4e0], xmm0
movaps xmmword [rsp + 0x4f0], xmm1
movaps xmm0, xmmword [rsp + 0x5e0]
movaps xmmword [rsp + 0x500], xmm0
movaps xmm0, xmmword [rsp + 0x5f0]
movaps xmmword [rsp + 0x510], xmm0
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x4e0]
mov r8, rdx
call fcn.140024d50
movaps xmm11, xmmword [rsp + 0x5a0]
movaps xmm12, xmmword [rsp + 0x5b0]
movaps xmm9, xmmword [rsp + 0x5c0]
movaps xmm10, xmmword [rsp + 0x5d0]
mov qword [rsp + 0x20], 0x3ffffff
lea r14, [rsp + 0x540]
mov r8d, 0x3ffffff
mov r9d, 0x3ffffff
mov rcx, r14
mov rdx, 0xffffffffffffffff
call fcn.1400253b0
movaps xmmword [rsp + 0x530], xmm12
movaps xmmword [rsp + 0x520], xmm11
lea rbx, [rsp + 0x220]
lea rdx, [rsp + 0x520]
mov rcx, rbx
mov r8, r14
call fcn.140025700
mov qword [rsp + 0x20], 0x1a
lea r14, [rsp + 0x580]
mov edx, 0x40
mov r8d, 0x1a
mov r9d, 0x1a
mov rcx, r14
call fcn.1400253b0
movaps xmmword [rsp + 0x570], xmm12
movaps xmmword [rsp + 0x560], xmm11
lea r12, [rsp + 0x3a0]
lea rdx, [rsp + 0x560]
mov rcx, r12
mov r8, r14
call fcn.140026ca0
lea r14, [rsp + 0x200]
mov rcx, r14
mov rdx, r12
call fcn.140025720
lea rcx, [rsp + 0x3c0]
mov rdx, rbx
mov r8, r14
call fcn.140025420
movaps xmm11, xmmword [rsp + 0x3c0]
movaps xmm12, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x290], xmm12
movaps xmmword [rsp + 0x280], xmm11
lea rbx, [rsp + 0x240]
lea rdx, [rsp + 0x280]
mov rcx, rbx
call fcn.140026cc0
lea r14, [rsp + 0x2e0]
mov rcx, r14
mov rdx, rbx
call fcn.140025720
movaps xmmword [rsp + 0x370], xmm10
movaps xmmword [rsp + 0x360], xmm9
lea rcx, [rsp + 0x3c0]
lea rdx, [rsp + 0x360]
mov r8, r14
call fcn.140025420
movaps xmm9, xmmword [rsp + 0x3c0]
movaps xmm10, xmmword [rsp + 0x3d0]
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r14, [rsp + 0x3c0]
mov edx, 0x3ffffff
mov rcx, r14
mov r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
call fcn.1400253b0
movaps xmmword [rsp + 0x1b0], xmm12
movaps xmmword [rsp + 0x1a0], xmm11
lea rbx, [rsp + 0x340]
lea rdx, [rsp + 0x1a0]
mov rcx, rbx
mov r8, r14
call fcn.140025700
mov qword [rsp + 0x20], 0x1a
lea r14, [rsp + 0x200]
mov edx, 0x40
mov r8d, 0x40
mov r9d, 0x40
mov rcx, r14
call fcn.1400253b0
movaps xmmword [rsp + 0x230], xmm10
movaps xmmword [rsp + 0x220], xmm9
lea rcx, [rsp + 0x3c0]
lea rdx, [rsp + 0x220]
mov r8, r14
call fcn.140026ca0
movaps xmm11, xmmword [rsp + 0x3c0]
movaps xmm12, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x290], xmm12
movaps xmmword [rsp + 0x280], xmm11
lea r14, [rsp + 0x360]
lea r8, [rsp + 0x280]
mov rcx, r14
mov rdx, rbx
call fcn.140025420
movaps xmmword [rsp + 0x250], xmm12
movaps xmmword [rsp + 0x240], xmm11
lea rbx, [rsp + 0x2e0]
lea rdx, [rsp + 0x240]
mov rcx, rbx
call fcn.140026ce0
lea rcx, [rsp + 0x3c0]
mov rdx, r14
mov r8, rbx
call fcn.140025420
movaps xmm11, xmmword [rsp + 0x3c0]
movaps xmm12, xmmword [rsp + 0x3d0]
mov qword [rsp + 0x20], 0x3ffffff
mov qword [rsp + 0xd8], 0
lea rbx, [rsp + 0x3c0]
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1400253b0
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1a0], xmm9
lea r12, [rsp + 0x3a0]
lea rdx, [rsp + 0x1a0]
mov rcx, r12
mov r8, rbx
call fcn.140025700
mov qword [rsp + 0x20], 0x3ffffff
lea r14, [rsp + 0x560]
mov r8d, 0x3ffffff
mov r9d, 0x3ffffff
mov rcx, r14
mov rdx, 0xffffffffffffffff
call fcn.1400253b0
movaps xmmword [rsp + 0x550], xmm12
movaps xmmword [rsp + 0x540], xmm11
lea rbx, [rsp + 0x340]
lea rdx, [rsp + 0x540]
mov rcx, rbx
mov r8, r14
call fcn.140025700
mov qword [rsp + 0x20], 0x1a
lea r14, [rsp + 0x220]
mov edx, 0x40
mov r8d, 0x1a
mov r9d, 0x1a
mov rcx, r14
call fcn.1400253b0
movaps xmmword [rsp + 0x590], xmm12
movaps xmmword [rsp + 0x580], xmm11
lea r13, [rsp + 0x200]
lea rdx, [rsp + 0x580]
mov rcx, r13
mov r8, r14
call fcn.140026ca0
lea r14, [rsp + 0x280]
mov rcx, r14
mov rdx, r13
call fcn.140025720
lea rcx, [rsp + 0x3c0]
mov rdx, rbx
mov r8, r14
call fcn.140025420
movaps xmm9, xmmword [rsp + 0x3c0]
movaps xmm10, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x250], xmm10
movaps xmmword [rsp + 0x240], xmm9
lea rbx, [rsp + 0x360]
lea rdx, [rsp + 0x240]
mov rcx, rbx
call fcn.140026cc0
lea r14, [rsp + 0x2e0]
mov rcx, r14
mov rdx, rbx
call fcn.140025720
lea r13, [rsp + 0x520]
mov rcx, r13
mov rdx, r12
mov r8, r14
call fcn.140025420
mov qword [rsp + 0x20], 0xffffffffffffffff
lea rbx, [rsp + 0x3c0]
mov edx, 0x3ffffff
mov rcx, rbx
mov r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
call fcn.1400253b0
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1a0], xmm9
lea r14, [rsp + 0xac0]
lea rdx, [rsp + 0x1a0]
mov rcx, r14
mov r8, rbx
call fcn.140025700
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 2
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x28], 6
mov dword [rsp + 0x20], 0
lea r12, [rsp + 0x240]
mov rcx, r12
xor edx, edx
mov r8d, 6
mov r9d, 4
call fcn.140024cc0
lea rbx, [rsp + 0x1a0]
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.140024d00
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 2
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x28], 6
mov dword [rsp + 0x20], 0
lea r14, [rsp + 0x360]
mov rcx, r14
xor edx, edx
mov r8d, 6
mov r9d, 4
call fcn.140024cc0
lea r12, [rsp + 0x3c0]
mov rcx, r12
mov rdx, r13
mov r8, r14
call fcn.140024d00
lea rcx, [rsp + 0x2e0]
mov rdx, rbx
mov r8, r12
call fcn.140026d00
movaps xmm9, xmmword [rsp + 0x2e0]
movaps xmm10, xmmword [rsp + 0x2f0]
movaps xmmword [rsp + 0x210], xmm10
movaps xmmword [rsp + 0x200], xmm9
lea rbx, [rsp + 0x280]
lea rdx, [rsp + 0x200]
mov rcx, rbx
call fcn.140024ca0
movaps xmmword [rsp + 0x350], xmm10
movaps xmmword [rsp + 0x340], xmm9
lea r14, [rsp + 0x240]
lea rdx, [rsp + 0x340]
mov rcx, r14
mov r8, rbx
call fcn.140024c80
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea rbx, [rsp + 0x2e0]
mov rcx, rbx
mov edx, 4
mov r8d, 3
mov r9d, 2
call fcn.140024cc0
lea rcx, [rsp + 0x5a0]
mov rdx, r14
mov r8, rbx
call fcn.140024d00
movaps xmm11, xmmword [rsp + 0x5a0]
movaps xmm12, xmmword [rsp + 0x5b0]
movaps xmmword [rsp + 0x1b0], xmm10
movaps xmmword [rsp + 0x1a0], xmm9
movaps xmmword [rsp + 0x3d0], xmm12
movaps xmmword [rsp + 0x3c0], xmm11
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x3c0]
call fcn.140024d20
movaps xmmword [rsp + 0x5b0], xmm12
movaps xmmword [rsp + 0x5a0], xmm11
lea rcx, [rsp + 0x380]
lea rdx, [rsp + 0x5a0]
call fcn.140024d40
movaps xmmword [rsp + 0x1a0], xmm8
movaps xmmword [rsp + 0x1b0], xmm8
movaps xmmword [rsp + 0x1c0], xmm8
movaps xmmword [rsp + 0x1d0], xmm8
movups xmmword [rsp + 0x1d9], xmm8
mov eax, dword [rsp + 0x230]
mov dword [rsp + 0x3b0], eax
movaps xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x3a0], xmm0
lea rsi, [rsp + 0x3c0]
lea rdx, [rsp + 0x5a0]
mov r8d, 0x108
mov rcx, rsi
call fcn.140053870
movaps xmm0, xmmword [rsp + 0x4e0]
movaps xmm1, xmmword [rsp + 0x4f0]
movaps xmm2, xmmword [rsp + 0x500]
movaps xmm3, xmmword [rsp + 0x510]
movaps xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x250], xmm1
movaps xmmword [rsp + 0x260], xmm2
movaps xmmword [rsp + 0x270], xmm3
movaps xmm0, xmmword [rsp + 0x360]
movaps xmm1, xmmword [rsp + 0x370]
movaps xmm2, xmmword [rsp + 0x380]
movaps xmm3, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0x280], xmm0
movaps xmmword [rsp + 0x290], xmm1
movaps xmmword [rsp + 0x2a0], xmm2
movaps xmmword [rsp + 0x2b0], xmm3
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm1, xmmword [rsp + 0x1b0]
movaps xmm2, xmmword [rsp + 0x1c0]
movaps xmm3, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x2e0], xmm0
movaps xmmword [rsp + 0x2f0], xmm1
movaps xmmword [rsp + 0x300], xmm2
movaps xmmword [rsp + 0x310], xmm3
movups xmm0, xmmword [rsp + 0x1d9]
movups xmmword [rsp + 0x319], xmm0
mov rax, qword [rsp + 0x34f]
mov qword [rsp + 0x20f], rax
movups xmm0, xmmword [rsp + 0x340]
movaps xmmword [rsp + 0x200], xmm0
mov byte [rsp + 0xb0], 0
mov byte [rsp + 0xb1], 0
mov byte [rsp + 0xb2], 0
mov byte [rsp + 0xb3], 0
mov byte [rsp + 0xb4], 0
mov byte [rsp + 0xb5], 0
mov byte [rsp + 0xb6], 0
mov byte [rsp + 0xb7], 0
mov byte [rsp + 0xb8], 0
mov byte [rsp + 0xb9], 0
mov byte [rsp + 0xba], 0
mov byte [rsp + 0xbb], 0
mov byte [rsp + 0xbc], 0
mov byte [rsp + 0xbd], 0
mov byte [rsp + 0xbe], 0
mov byte [rsp + 0xbf], 0
mov byte [rsp + 0xc0], 0
mov byte [rsp + 0xc1], 0
mov byte [rsp + 0xc2], 0
mov byte [rsp + 0xc3], 0
mov byte [rsp + 0xc4], 0
mov byte [rsp + 0xc5], 0
mov byte [rsp + 0xc6], 0
mov byte [rsp + 0xc7], 0
mov byte [rsp + 0xc8], 0
mov byte [rsp + 0xc9], 0
mov byte [rsp + 0xca], 0
mov byte [rsp + 0xcb], 0
mov byte [rsp + 0xcc], 0
mov byte [rsp + 0xcd], 0
mov byte [rsp + 0xce], 0
mov byte [rsp + 0xcf], 0
mov dword [rsp + 0x140], 1
mov byte [rsp + 0x190], 0
lea rcx, [rsp + 0xa20]
lea rdx, [rsp + 0x110]
mov r8d, 0x84
call fcn.140053870
mov rax, qword [rsp + 0xd8]
mov byte [rsp + 0x7e0], al
mov eax, r13d
shr eax, 0x10
mov byte [rsp + 0x7e3], al
mov word [rsp + 0x7e1], r13w
movlps qword [rsp + 0x7e4], xmm8
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x7ec], eax
mov dword [rsp + 0x7f0], ebx
mov dword [rsp + 0x7f4], r14d
mov dword [rsp + 0x7f8], r12d
mov dword [rsp + 0x7fc], edi
mov dword [rsp + 0x800], r15d
movaps xmm0, xmmword [rsp + 0x3a0]
movups xmmword [rsp + 0x804], xmm0
mov eax, dword [rsp + 0x3b0]
mov dword [rsp + 0x814], eax
lea rcx, [rsp + 0x818]
mov r8d, 0x108
mov rdx, rsi
call fcn.140053870
movaps xmmword [rsp + 0x930], xmm7
movaps xmmword [rsp + 0x920], xmm6
movaps xmm0, xmmword [rsp + 0x240]
movaps xmm1, xmmword [rsp + 0x250]
movaps xmm2, xmmword [rsp + 0x260]
movaps xmm3, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x940], xmm0
movaps xmmword [rsp + 0x950], xmm1
movaps xmmword [rsp + 0x960], xmm2
movaps xmmword [rsp + 0x970], xmm3
movaps xmm0, xmmword [rsp + 0x280]
movaps xmm1, xmmword [rsp + 0x290]
movaps xmm2, xmmword [rsp + 0x2a0]
movaps xmm3, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x980], xmm0
movaps xmmword [rsp + 0x990], xmm1
movaps xmmword [rsp + 0x9a0], xmm2
movaps xmmword [rsp + 0x9b0], xmm3
movups xmm0, xmmword [rsp + 0x319]
movups xmmword [rsp + 0x9f9], xmm0
movaps xmm0, xmmword [rsp + 0x2e0]
movaps xmm1, xmmword [rsp + 0x2f0]
movaps xmm2, xmmword [rsp + 0x300]
movaps xmm3, xmmword [rsp + 0x310]
movaps xmmword [rsp + 0x9f0], xmm3
movaps xmmword [rsp + 0x9e0], xmm2
movaps xmmword [rsp + 0x9d0], xmm1
movaps xmmword [rsp + 0x9c0], xmm0
mov rax, qword [rsp + 0x20f]
mov qword [rsp + 0xa18], rax
movaps xmm0, xmmword [rsp + 0x200]
movups xmmword [rsp + 0xa09], xmm0
movzx eax, byte [0x141db1001]
mov r15, qword [rsp + 0xe0]
mov rdi, r15
shr rdi, 4
mov r13, qword [rsp + 0xf0]
and r13d, 0xf
movzx eax, byte [0x141db1001]
cmp al, 1
jne 0x14002460b
mov r12, rdi
and r12, 0xfffffffffffffffc
shl r12, 4
mov r14, qword [rsp + 0xe8]
add r12, r14
and r15, 0xffffffffffffffc0
lea rbx, [rsp + 0x7e0]
jmp 0x140024585
mov rcx, rbx
mov rdx, r14
call fcn.140026940
add r14, 0x40
add r15, 0xffffffffffffffc0
je 0x1400245c9
cmp qword [rsp + 0xa00], 0
je 0x140024570
mov rcx, rbx
mov rdx, r14
call fcn.140026310
lea rdx, [r14 + 0x10]
mov rcx, rbx
call fcn.140026310
lea rdx, [r14 + 0x20]
mov rcx, rbx
call fcn.140026310
lea rdx, [r14 + 0x30]
mov rcx, rbx
call fcn.140026310
add r14, 0x40
add r15, 0xffffffffffffffc0
jne 0x140024585
and rdi, 3
mov r15, qword [rsp + 0xe0]
je 0x140024635
shl edi, 4
lea rbx, [rsp + 0x7e0]
nop word cs:[rax + rax]
lea r14, [r12 + 0x10]
mov rcx, rbx
mov rdx, r12
call fcn.140026310
mov r12, r14
add rdi, 0xfffffffffffffff0
jne 0x1400245f0
jmp 0x140024635
shl rdi, 4
lea rbx, [rsp + 0x7e0]
mov rdx, qword [rsp + 0xe8]
nop
lea r14, [rdx + 0x10]
mov rcx, rbx
call fcn.140026a00
mov rdx, r14
add rdi, 0xfffffffffffffff0
jne 0x140024620
test r13, r13
je 0x1400246a1
mov rax, r15
and rax, 0xfffffffffffffff0
mov rbx, qword [rsp + 0xe8]
add rbx, rax
mov r8d, 0x10
sub r8, r13
lea rcx, [rsp + r13]
add rcx, 0x5a0
xor edx, edx
call fcn.140053f10
lea rcx, [rsp + 0x5a0]
mov rdx, rbx
mov r8, r13
call fcn.140053870
movzx eax, byte [0x141db1001]
lea rcx, [rsp + 0x7e0]
lea rdx, [rsp + 0x5a0]
cmp al, 1
jne 0x14002469c
call fcn.140026310
jmp 0x1400246a1
call fcn.140026a00
mov qword [rsp + 0x5a0], 0
mov qword [rsp + 0x5a8], r15
movzx eax, byte [0x141db1001]
lea rcx, [rsp + 0x7e0]
lea rdx, [rsp + 0x5a0]
cmp al, 1
jne 0x1400246d7
call fcn.140026310
jmp 0x1400246dc
call fcn.140026a00
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x7e0]
mov r8d, 0x240
call fcn.140053870
movzx eax, byte [0x141db1001]
cmp al, 1
jne 0x1400247c3
lea rcx, [rsp + 0x3c0]
lea rdx, [rsp + 0x5a0]
call fcn.140025730
movzx eax, byte [rsp + 0x3c0]
movzx r14d, byte [rsp + 0x3c1]
movzx ecx, byte [rsp + 0x3c2]
mov dword [rsp + 0x98], ecx
movzx esi, byte [rsp + 0x3c3]
movzx edi, byte [rsp + 0x3c4]
movzx ecx, byte [rsp + 0x3c5]
mov dword [rsp + 0x9c], ecx
movzx ecx, byte [rsp + 0x3c6]
mov dword [rsp + 0xa0], ecx
movzx ecx, byte [rsp + 0x3c7]
mov dword [rsp + 0xa4], ecx
movzx r12d, byte [rsp + 0x3c8]
movzx ecx, byte [rsp + 0x3c9]
mov dword [rsp + 0xa8], ecx
movzx ecx, byte [rsp + 0x3ca]
mov dword [rsp + 0xac], ecx
movzx ecx, byte [rsp + 0x3cb]
mov dword [rsp + 0x80], ecx
movzx ecx, byte [rsp + 0x3cc]
mov qword [rsp + 0xd8], rcx
jmp 0x140024999
mov r11d, dword [rsp + 0x5c8]
mov ecx, r11d
shr ecx, 0x1a
and r11d, 0x3ffffff
add ecx, dword [rsp + 0x5cc]
mov edx, ecx
shr edx, 0x1a
and ecx, 0x3ffffff
add edx, dword [rsp + 0x5d0]
mov eax, edx
shr eax, 0x1a
add eax, dword [rsp + 0x5d4]
and edx, 0x3ffffff
mov r9d, eax
shr r9d, 0x1a
mov r8d, eax
and r8d, 0x3ffffff
lea r10d, [r9 + r9*4]
add r10d, dword [rsp + 0x5c4]
mov r9d, r10d
shr r9d, 0x1a
add r9d, r11d
and r10d, 0x3ffffff
lea ebx, [r10 + 5]
mov r11d, ebx
shr r11d, 0x1a
add r11d, r9d
mov edi, r11d
shr edi, 0x1a
add edi, ecx
mov r15d, edi
shr r15d, 0x1a
add r15d, edx
mov r12d, r15d
shr r12d, 0x1a
lea r14d, [r12 + r8]
add r14d, 0xfc000000
add r12d, r8d
mov r8d, r14d
sar r8d, 0x1f
shr r14d, 0x1f
dec r14d
mov r13d, r14d
and r13d, 0x3ffffff
and ebx, r13d
and r11d, r13d
and edi, r13d
and r13d, r15d
and r14d, r12d
and r10d, r8d
or r10d, ebx
and r9d, r8d
or r9d, r11d
and ecx, r8d
or ecx, edi
and edx, r8d
or edx, r13d
and r8d, eax
or r8d, r14d
mov eax, r9d
shl eax, 0x1a
or eax, r10d
shr r9d, 6
mov r10d, ecx
shl r10d, 0x14
or r10d, r9d
shr ecx, 0xc
mov r9d, edx
shl r9d, 0xe
or r9d, ecx
shr edx, 0x12
shl r8d, 8
or r8d, edx
add eax, dword [rsp + 0x5a0]
mov edi, dword [rsp + 0x5a4]
adc rdi, r10
mov ecx, dword [rsp + 0x5a8]
add rcx, r9
mov r12, rdi
shr r12, 0x20
add r12, rcx
mov ecx, dword [rsp + 0x5ac]
add rcx, r8
mov rdx, r12
shr rdx, 0x20
add rdx, rcx
mov dword [rsp + 0x3c0], eax
mov dword [rsp + 0x3c4], edi
mov dword [rsp + 0x3c8], r12d
mov qword [rsp + 0xd8], rdx
mov dword [rsp + 0x3cc], edx
mov r14d, eax
shr r14d, 8
mov ecx, eax
shr ecx, 0x10
mov dword [rsp + 0x98], ecx
mov esi, eax
shr esi, 0x18
mov ecx, edi
shr ecx, 8
mov dword [rsp + 0x9c], ecx
mov ecx, edi
shr ecx, 0x10
mov dword [rsp + 0xa0], ecx
mov ecx, edi
shr ecx, 0x18
mov dword [rsp + 0xa4], ecx
mov ecx, r12d
shr ecx, 8
mov dword [rsp + 0xa8], ecx
mov ecx, r12d
shr ecx, 0x10
mov dword [rsp + 0xac], ecx
mov ecx, r12d
shr ecx, 0x18
mov dword [rsp + 0x80], ecx
mov r13, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xe0]
cmp al, byte [r13 + r15]
sete cl
call fcn.140024c70
mov ebx, eax
cmp r14b, byte [r13 + r15 + 1]
sete cl
call fcn.140024c70
and bl, al
mov eax, dword [rsp + 0x98]
cmp al, byte [r13 + r15 + 2]
sete cl
call fcn.140024c70
mov r14d, eax
cmp sil, byte [r13 + r15 + 3]
sete cl
call fcn.140024c70
and r14b, al
and r14b, bl
cmp dil, byte [r13 + r15 + 4]
sete cl
call fcn.140024c70
mov ebx, eax
mov eax, dword [rsp + 0x9c]
cmp al, byte [r13 + r15 + 5]
sete cl
call fcn.140024c70
and bl, al
and bl, r14b
mov eax, dword [rsp + 0xa0]
cmp al, byte [r13 + r15 + 6]
sete cl
call fcn.140024c70
mov r14d, eax
mov eax, dword [rsp + 0xa4]
cmp al, byte [r13 + r15 + 7]
sete cl
call fcn.140024c70
and r14b, al
cmp r12b, byte [r13 + r15 + 8]
sete cl
call fcn.140024c70
and r14b, al
and r14b, bl
mov eax, dword [rsp + 0xa8]
cmp al, byte [r13 + r15 + 9]
sete cl
call fcn.140024c70
mov r12d, eax
mov eax, dword [rsp + 0xac]
cmp al, byte [r13 + r15 + 0xa]
sete cl
call fcn.140024c70
and r12b, al
and r12b, r14b
mov eax, dword [rsp + 0x80]
cmp al, byte [r13 + r15 + 0xb]
sete cl
call fcn.140024c70
mov ebx, eax
mov rax, qword [rsp + 0xd8]
cmp al, byte [r13 + r15 + 0xc]
sete cl
call fcn.140024c70
and bl, al
and bl, r12b
movzx eax, byte [rsp + 0x3cd]
cmp al, byte [r13 + r15 + 0xd]
sete cl
call fcn.140024c70
mov r14d, eax
movzx eax, byte [rsp + 0x3ce]
cmp al, byte [r13 + r15 + 0xe]
sete cl
call fcn.140024c70
and r14b, al
movzx eax, byte [rsp + 0x3cf]
cmp al, byte [r13 + r15 + 0xf]
sete cl
call fcn.140024c70
and r14b, al
and r14b, bl
and r14b, 1
mov ecx, r14d
call fcn.140024c70
test al, al
je 0x140024b6a
lea rcx, [rsp + 0xa20]
mov rdx, r13
mov r8, r15
call fcn.140021bc0
lea rcx, [rsp + 0x7e0]
call fcn.140022310
movabs rbx, 0x8000000000000000
mov rax, qword [rsp + 0xf0]
cmp rax, rbx
mov rdi, qword [rsp + 0x100]
je 0x140024ba6
cmp rax, 0x10
cmovb r15, rax
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r15
mov qword [rdi], rax
jmp 0x140024bad
lea rcx, [rsp + 0x7e0]
call fcn.140022310
cmp qword [rsp + 0xf0], 0
mov rdi, qword [rsp + 0x100]
movabs rbx, 0x8000000000000000
je 0x140024ba6
mov rcx, qword [0x141db1a00]
xor edx, edx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [rdi + 8], 0x13
mov qword [rdi], rbx
mov byte [rsp + 0x7f], 0
mov byte [rsp + 0x7e], 0
mov byte [rsp + 0x7d], 0
mov byte [rsp + 0x7c], 0
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x7a], 0
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x78], 0
mov byte [rsp + 0x77], 0
mov byte [rsp + 0x76], 0
mov byte [rsp + 0x75], 0
mov byte [rsp + 0x74], 0
mov byte [rsp + 0x73], 0
mov byte [rsp + 0x72], 0
mov byte [rsp + 0x71], 0
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x6f], 0
mov byte [rsp + 0x6e], 0
mov byte [rsp + 0x6d], 0
mov byte [rsp + 0x6c], 0
mov byte [rsp + 0x6b], 0
mov byte [rsp + 0x6a], 0
mov byte [rsp + 0x69], 0
mov byte [rsp + 0x68], 0
mov byte [rsp + 0x67], 0
mov byte [rsp + 0x66], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x60], 0
cmp qword [rsp + 0x108], 0
mov r8, qword [rsp + 0xf8]
jne 0x14002394b
jmp 0x14002395a
ud2