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

Disassembly:
neg bl
rol rax, cl
bts cx, r8w
xor bl, al
or r8, 0x3aa991ad
ror r10, 0x6b
mul r10
xor r9b, bl
rol dl, 1
lea rsi, [rsi + rbp*4 - 0x296]
neg r10b
btr r10d, ecx
sal r10d, cl
mov word [rsi + rbp - 0xa5], bx
add r10w, bp
lea rdi, [rdi + rbp*2 - 0x14e]
imul r8d, ecx
mov ebx, ecx
mov r8d, dword [rdi + rbp*2 - 0x14a]
shr r10b, 0xc4
xchg ebp, edx
jae 0x140c17e9a
adc r11, rdx
mov r10d, 0xa615dd04
sub rdi, 4
movzx eax, r10w
movsx r8d, r10b
mov ebx, r10d
mov ebx, dword [rdi + rax*8 - 0x6e820]
cqo
bts dx, dx
xor al, 0x39
xor ebx, r9d
mov ecx, r8d
btc r10d, ecx
adc rax, r10
lea ebx, [r10 + rbx - 0x2e5ad96f]
not cx
movzx ebp, r10b
neg ebx
mul ebp
rol ebx, 2
bswap ebx
btc ebp, edx
sal r8, 0x93
ror eax, cl
push r9
ror cx, 0x4e
shl r8d, cl
bswap rdx
xor dword [rsp + rax*2 - 0x71a3953e], ebx
ror r8, 0x70
neg rbp
mul r10d
pop r9
jo 0x140c3ed81
sub rdi, 4
mov ebx, 0xdc95690c
lea r10, [rbx*8 + 0x312e895]
movzx edx, bl
mov ebx, dword [rdi + rdx*2 - 0x18]
neg rdx
lea r8, [rdx - 0x5a488255]
movsx ebp, r10w
xor ebx, r9d
dec ebx
mov ecx, 0xc1892982
btr r10d, r8d
push rcx
ror ebx, 1
lea ebx, [r10 + rbx - 0x6083e940]
call fcn.140c3d9d5
bswap r8d
rol eax, 3
bts rbx, r8
lea eax, [rax + rbp - 0x1ae70b8d]
inc rbp
sal rdx, 0xaf
sub bpl, r8b
xor eax, 0x39aace28
movsx ecx, bp
lea rbp, [rcx*4 + 0x429f9ba6]
sal r8d, cl
ror eax, 1
and r10d, 0xb3372389
inc r10
or r10, 0xffffffffe609310a
push r9
jae 0x140c20f0d
xor edx, r9d
and ebp, ebx
movsx ecx, ax
rol edx, 3
sar cx, cl
sar al, 1
lea edx, [rdx + r8 + 0x1f1c22f5]
sal ebp, 0x46
xor edx, 0x39aace28
add rbp, 0x1faa919a
ror edx, 1
push r9
xadd bp, cx
cbw
xor dword [rsp + rbp - 0x1faafc9a], edx
pop r9
rol cl, 0x66
movzx r10d, bx
shl r10, 0x34
movsxd rdx, edx
xchg r8b, r10b
sar al, cl
adc r11, rdx
rdtsc
and bp, 0xea3f
sbb bx, 0x8f24
lea rsi, [rsi + r8 - 0x1c84cf08]
lea r8, [r8*2 + 0x54b3b2a5]
mov dword [rsi + rbp*4 - 0x7eaba064], eax
mov eax, r8d
mov dword [rsi + rbp*2 - 0x3f55d034], edx
ja 0x140c2b0e8
je 0x140bf8875
ror r10d, 1
xor rcx, r8
lea r10d, [r10 + r8 + 0x143da557]
ror ebx, cl
or qword [rsp + r8*4 - 0x386da], 0xffffffffb0aacb81
pop rbx
mov qword [rsp + r8*2 - 0x1c370], r9
lea r9, [r8*8 + 0x33a7f41c]
xor dword [rsp + r8*4 - 0x386e0], r10d
pop r9
btc rbx, rdx
jb 0x140c11955
pop r9
bt r8w, r10w
sar r10b, 0x63
movsxd rdx, edx
sbb r8b, r10b
sar r10, 0xec
jns 0x140bfd793
sub rdi, 4
mov ebp, 0x2690b6a6
lea rdx, [rbp + rbp*4 + 0xf2230bd]
mov eax, dword [rdi + rbp - 0x2690b6a6]
bt rbp, rdx
push rbp
imul ebp, ebp
xor eax, r9d
ror eax, 1
lea r8, [rbp + rbp*2 - 0x24ebcafb]
inc eax
xor eax, 0xd8a7443f
movsx ecx, r8b
rol byte [rsp + rbp - 0x451073a1], 0xa3
shr ebp, 0x37
not eax
inc eax
imul rbp, r8
neg eax
xor dword [rsp + 2], ebp
lea r10, [rcx + rbp*2 + 0xe9f450b]
mov qword [rsp], r9
movsx ebx, dl
rol cx, 0x62
xor dword [rsp], eax
pop r9
movsxd rax, eax
add r11, rax
mov edx, dword [rsi + riz]
jmp 0x140c00ec4
shr eax, cl
movsxd r10, r10d
ror r8, 0x3b
adc r11, r10
jmp fcn.140c020aa
mov ebp, ebx
mov ebp, dword [rsi + rdx - 0x103]
idiv cx
dec r8w
mov cl, byte [rsi + rdx - 0x319c]
or r8w, 0xcb24
lea r8, [r8 + 0x44bf4d36]
sal ebp, cl
not edx
mov dword [rsi + rbx*2 - 0x7c04035a], ebp
lea rsi, [rsi + rbx*2 - 0x7c04035a]
jmp fcn.140c020aa
shr r8, 0xbc
movzx r9d, r10w
xor dword [rsp + r8*2], edx
neg r9d
js 0x140c10124
xor dword [rsp + rdx - 0xff], ebp
pop r9
xor cl, dh
sub r8b, bl
adc rcx, 0x111278ad
movsxd rbp, ebp
adc al, 0xba
add r11, rbp
jmp 0x140c1be31
lea rcx, [rbp*4 + 0x311dd0a5]
ror rdx, cl
xor dword [rsp + r10*4 + 0x27c333d4], eax
xor r10d, ebx
pop r9
rol rcx, 0x7a
setns cl
movsxd rax, eax
ror r10b, cl
btc r8, 0x2c
adc r11, rax
inc bp
not edx
js fcn.140c020aa
sub rdi, 4
mov r10d, dword [rdi]
mov eax, 0xb883f390
lea rcx, [rax + rax*4 + 0x390fbbae]
xor r10d, r9d
mov ebp, 0xb9a7928c
sub r10d, 0xf7b5912f
mul al
neg r10d
xchg ebp, ecx
inc r10d
mov edx, 0x5e893c14
dec bpl
lea r8, [rcx + rcx*2 + 0x11055227]
bswap r10d
mul r8d
not rcx
neg r10d
push r9
not al
lea r9, [rax*4 + 0x59284108]
bt rbp, 0x82
xor dword [rsp + rdx*2 - 0x5959e53e], r10d
pop r9
movsxd r10, r10d
btr cx, 0xa1
sal r8d, cl
adc r11, r10
or dl, 0x19
inc al
movsx ebx, cl
mov bp, word [rdx + rsi - 0x2cacf29f]
mov cl, byte [rdx + rsi - 0x2cacf29d]
imul rax, r8
xor bx, ax
btr ebx, eax
lea rsi, [rsi + rdx - 0x2cacf29d]
movsx r10d, ax
neg bx
shr bp, cl
and bx, r10w
mov word [rsi + rdx*2 - 0x5959e53e], bp
sub r8, rax
sub al, dl
rol r10d, 0xa7
add rbx, r11
jmp rbx
xor r8b, 0x1b
rol ebx, 0xfa
xor r9b, r8b
lea rcx, [rdx + rax*4 + 0x402023a5]
bts dx, ax
imul ax
lea r8, [rsp + r8 + 0x20]
idiv eax
dec dl
xor rdx, rcx
mov rax, qword [r8 + rbx - 0x40098]
lea rsi, [rsi + rbx*4 - 0x100268]
mov qword [rsi + rbx - 0x40098], rax
pop r8
pop r8
pop r8
pop rdx
ja fcn.140c020aa
dec edx
lea r10, [r10 + r10*2 + 0x5dbb0c3b]
push r9
jmp 0x140c1f244
imul r8b
movsxd rbx, ebx
cdq
not dx
adc r11, rbx
cdq
ror rdx, 0x45
dec ebp
mov r10w, word [rax + rsi - 0x455a0000]
xor al, 0x32
inc r8b
mov bx, word [rax + rsi - 0x455a0030]
xor cl, 0xb8
mov cl, byte [rsi + r8 + 3]
xchg al, bpl
idiv ax
call fcn.140c108ba
mov edx, 0xbc9d2a15
mov r8, qword [rsi + riz]
add rsi, 8
lea rbx, [rdx + rdx*8 - 0x78c110e4]
sub rdi, 2
movzx r10d, dl
movzx eax, word [rdi + r10*2 - 0x2a]
xor ax, r9w
push r10
dec dx
ror ax, 1
lea rcx, [rbx*4 - 0x58c61b73]
sal word [rsp + r10 - 0x13], 0x4d
neg ax
inc dword [rsp + r10 - 0x12]
mov ebp, 0x4a8e342f
rol ax, 1
dec ax
xor r9w, ax
pop rcx
bswap r10d
add rax, rsp
sal bpl, 0xe1
mov qword [rax + r10*2 - 0x2a000000], r8
shl bx, 0x2d
movsx r8d, cx
or bp, 0x6a97
lea rdi, [rdi + rcx*2 - 0x200002e]
btr r8, r10
mov ebp, dword [r10 + rdi - 0x15000000]
rol bx, 0x2d
movsx eax, cl
not bx
xor ebp, r9d
inc ebp
neg ebp
inc ebp
push r10
ror ebp, 2
call fcn.140c31e8a