Function at 0x140c08049
Capabilities:
Authenticate hmac
Encrypt data using aes mixcolumns step
Encrypt data using speck
Parse pe header

Disassembly:
neg ecx
xor qword [rsp + rax - 0x81e], 0x95fd1b
movzx ebp, dl
shr bpl, 0x81
not ecx
not r8w
mov qword [rsp + rax*2 - 0x103c], r9
not bx
movsx r9d, al
or r10d, ebp
xor dword [rsp + rax - 0x81e], ecx
inc ax
shr r10b, 0x82
sbb ebx, 0xa23cf5b3
pop r9
shl rax, 0xdc
movsxd rcx, ecx
adc bx, ax
mul r10b
xchg r8, rax
adc r11, rcx
movsx ecx, bx
add ebx, 0x65aab03f
ror edx, 0x56
jmp r11
mov qword [rsp + rbx*2 - 0x19757004], r9
xor dword [rsp + rbx - 0xcbab802], ecx
inc rbp
and r10b, al
setb r10b
pop r9
inc al
and ebp, 0x87a529b9
movsxd rcx, ecx
shr bx, 0xe6
cwd
btr r10d, r10d
adc r11, rcx
jmp r11
movsx r8d, bx
xor ecx, r9d
neg ecx
bt r8w, r10w
btr edx, eax
adc r8d, dword [rsp + rax + 2]
bswap ecx
div r8w
rol ecx, 1
not word [rsp + rax*2 - 0x103a]
xchg byte [rsp + rdx - 0x1350], dl
jmp 0x140bf8d92
rol ecx, 1
dec ecx
rol ecx, 1
call fcn.140c1d727
sar dx, 0x42
mov ebx, r8d
xchg dh, dl
mov edx, ebx
jne 0x140c28944
mov r8d, dword [rdi - 4]
xor r8d, r9d
mov ebx, 0x31b7f7af
movsx r10d, bl
btc bx, r10w
rol r8d, 2
push r10
not r8d
lea r10, [r10 + r10*2 + 0x4802d503]
xadd qword [rsp + rbx*2 - 0x636eef5e], rbx
movzx edx, bl
inc r8d
not r8d
movsx eax, dx
div dl
lea rbp, [rdx + rbx*8 + 0x1ab14a9f]
add r8d, eax
push r10
not r8d
lea rbx, [rbp*8 - 0x6ccce3ca]
mov qword [rsp + rdx*4 - 0x2b4], r9
or qword [rsp + rdx*2 - 0x15e], 0xffffffff83b2918d
and rbp, 0x49af1023
xor dword [rsp + rdx*2 - 0x156], r8d
bswap rdx
mov r9, qword [rsp + rax*2 + 6]
mov dword [rax + rsi - 5], r8d
mov r8d, dword [rdi + rax - 9]
add qword [rsp + rax*4 - 4], rdx
xor r8d, r9d
lea r8d, [r8 + rbp + 0x78076413]
imul bp
setae bl
sar rbp, 0x70
bswap r8d
adc rax, rbp
mov ecx, ebx
inc r8d
bswap r10d
bswap r8d
lea r8d, [r8 + r10*8 + 0x1068285e]
jmp 0x140c09757
pop rbp
idiv bp
rol r8d, 3
xor r8d, 0xb4b8cd9e
xor rcx, rbp
lea r8d, [r8 + r10*8 + 0x559915f8]
rol r8d, 3
mov qword [rsp + r10*2 - 0x21a80490], r10
mul rax
dec r8d
cbw
idiv r10
ror r8d, 1
add rbp, 0x3807998
imul cx
neg bpl
mov qword [rsp + r10*2 - 0x21a80490], r9
xor dword [rsp + r10*4 - 0x43500920], r8d
pop r9
lea rbp, [rcx*8 + 0x1627f38a]
movsxd r8, r8d
add r11, r8
xor ebx, 0xe2209395
cqo
lea rdx, [rsp + r10 - 0x10d401b8]
adc ecx, 0xeba2d72c
shr cx, 0x47
movzx r8w, byte [r10 + rdx - 0x10d40248]
mov word [rax + rsi - 6], r8w
or rbx, 0x59834132
not ebx
movzx edx, byte [rax + rdi - 9]
lea r8, [rbx*8 + 0x5f068118]
lea rdi, [rbx + rdi - 0x24600e52]
xor dl, r9b
btr cx, cx
sbb ebx, r10d
neg r8d
neg dl
jmp 0x140c25910
movzx dx, byte [rsi]
mov ecx, 0x73843528
bts cx, cx
mov cl, byte [rcx + rsi - 0x73843526]
adc rsi, 1
mov eax, 0xba92fda6
push rax
sal dl, cl
not word [rsp + 5]
mov word [rsi + riz], dx
movsx r8d, word [rsp + 2]
xor eax, 0x1883222d
setb byte [rsp]
sbb rdi, 4
mov ecx, dword [rdi + riz]
lea rax, [rax*8 - 0x4a55d87f]
xor ecx, r9d
add dword [rsp], eax
ror ecx, 1
movzx ebp, r8b
xadd qword [rsp + rbp*4 - 0x248], rbp
dec ecx
lea rbx, [rax*8 + 0x5a25b007]
xor ecx, 0x2894ecb1
cqo
movsx r10d, r8b
bt r10, 0x26
lea ecx, [r8 + rcx - 0x8560ad6]
add rax, r10
adc rbx, qword [rsp + rdx]
rol ecx, 1
and bp, bp
btr rax, rbx
inc ecx
ror bpl, 0x81
sbb bx, 0x382a
cwde
ror ecx, 1
ror byte [rsp + rax*4 - 0x8dac], 0x82
sal al, 0x44
inc ecx
and rbx, r10
xor ecx, 0x681e872f
imul r10d
ror ecx, 2
sub ecx, edx
dec word [rsp + rbx - 0xcbab801]
setnp r8b
jle 0x140bfab5b
lea rsi, [rsi + rdx - 0xb409]
btr cx, cx
push rcx
movsx eax, cx
and r8d, ebx
not r8d
cdqe
pop r10
mov dword [rsi + rdx - 0xb40d], r8d
push rax
lea r8, [rdx + rcx*2 - 0x61d576ed]
lea rdi, [rdi + rdx - 0xb411]
ror edx, 0xc8
jb 0x140c022e3
sub bl, byte [rsi + 0x17bc8d48]
out dx, eax
invalid
mov ebx, dword [rdx + rdi - 0xd0000b4]
setb r8b
call fcn.140c26e61
add byte [rax], al
add byte [rax], al
mov bh, 0xa1
sbb eax, 0x1a9121c2
mov ch, 0x9b
rcl byte [rbx], 0x2c
or eax, 0xae5b14f0
jo 0x140c18dd9
cmp byte [rbp + 0x77], dl
mov dl, 0x82
add al, 0x7e
sub edx, dword [rsp + rsi]
jns 0x140c18e7c
test dword [rcx], ebp
invalid
lodsb al, byte [rsi]
adc eax, 0x73817f4f
stc
jmp 0x19450033a
lea rsp, [rsp + 0x18]
mov qword [rbp + riz - 0x10], rsp
js 0x140c25bc9
xor bp, r10w
rol eax, 0x11
movsxd rbx, ebx
add r11, rbx
shr r8d, 0x5b
btr r10w, 0xb3
movzx dx, byte [rsi + rcx]
dec r10w
mov bl, byte [rax + rsi - 0x7e41fffd]
lea rsi, [rax + rsi - 0x7e41fffd]
sal r10w, 0x46
bswap rcx
or dl, bl
shr r8w, 0x4c
xor dl, al
add cl, r8b
inc bp
lea rbx, [r8*4 - 0x6cd67460]
mov word [rsi + rcx*2], dx
add rcx, r11
jmp rcx
xor ecx, ecx
cmp ebx, 4
jbe 0x140c1d99d
mov edx, 0x32b45210
mov ecx, edx
lea edx, [rdx - 0x32b4520c]
movzx eax, cl
sub al, cl
lea ecx, [rax + rbx - 4]
mov eax, 0xaf98f622
add rax, rax
shl ecx, 3
btc eax, eax
jb 0x140c18db0
sal edx, 3
sar rax, 0x88
add ax, ax
mov rax, rbp
jae 0x140c31334
mov eax, 0x5f9bea1c
push rax
lea rdi, [rdi + rax - 0x5f9bea20]
neg byte [rsp + rax - 0x5f9bea17]
movzx r8d, al
sbb word [rsp + rax - 0x5f9bea16], r8w
mov ecx, dword [rax + rdi - 0x5f9bea1c]
xor ecx, r9d
mov ebp, 0xe73fe384
add dl, 0xaa
bts rax, rax
sar ebp, cl
not dl
add ebx, ebp
sbb bpl, r10b
xor dl, 0x91
sar al, 0x67
sub bx, bp
xor r9b, dl
add rdx, rsp
bswap rbp
movzx r8w, byte [rdx + rbx - 0x138c0b49]
dec eax
xadd r10d, ebx
sal r10, 0x57
mov word [rsi + rbx - 0x10d40250], r8w
adc ax, r10w
inc ecx
shl rax, 0x5b
lea rsi, [rsi + rbx*2 - 0x21a80498]
jae fcn.140c020aa
add r11, rdx
call fcn.140c20720
mov eax, 0x460f2486
mov ebp, eax
lea rbx, [rax + 0x7e0022af]
movzx ebx, word [rax + rdi - 0x460f2488]
mov r8d, 0x3a0f2608
xor bx, r9w
lea rax, [rbp + 0x1f8c6234]
not bx
inc ebp
rol r8b, 0x26
movzx r10d, r8b
xor bx, 0xbd37
lea rdx, [r8 + r8*8 + 0x752f2516]
call fcn.140c383f3
jmp 0x140c10629
jne 0x140c1d979
mov qword [rsp + 8], 0xffffffffd22ee522
lea rsp, [rsp + 0x18]
jmp 0x140c09e83
push 0xffffffffb586f39c
push 0xffffffffa7a16131
adc rax, rdx
sub byte [rsp + 0xb], 7
push 0x211a33e
mov qword [rbp + riz - 8], rax
jno 0x140c1ae81
jmp 0x140c28d76