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

Disassembly:
sar ebp, 0x8d
pop r9
sub r11d, r11d
ror r11d, 0xc
xchg cx, ax
movsxd r8, r8d
ror eax, cl
and rcx, 0xffffffffc8a817a4
adc rdi, r8
dec r11d
mov r8, qword [rbx + rbp*2 - 0x80]
mov dl, byte [rbx + rbp - 0x38]
lea r11, [rbp*2 - 0x5efac171]
lea rbx, [rbx + rbp*2 - 0x76]
btr eax, 0x27
or al, ch
sbb r11b, sil
mov byte ss:[r8 + rbp*2 - 0x80], dl
bts rax, 0x3e
sbb ax, bp
jmp rdi
xchg bp, ax
add rdi, r11
lea rsi, [rbx + rdx - 0x73a3ffd6]
xadd rbp, rcx
shr ecx, 0xf4
mov rax, rsi
bts rbp, 0x8b
add r8d, dword ss:[rax + rcx*8 - 0x7f78]
xchg rdx, rbp
btc bp, dx
mov dword [rbx + rcx - 0xff7], r8d
movsx r8d, cx
movzx esi, cl
lea rbx, [rcx + rbx - 0xff7]
lea r11, [rcx + rcx - 0x357b8d57]
lea rbp, [rbp + 0x2f1d03a6]
btr dx, r11w
jb fcn.140837a63
neg dl
jmp fcn.14083efc9
neg ebp
bt rsi, r11
adc bp, word [r8 + rdx - 0x670]
shl ecx, 0xb2
and r8d, eax
lea rbx, [r8 + rbx - 0x602]
cqo
add r8w, ax
push rdx
mov word [r8 + rbx - 0xa584], bp
pop rbp
js fcn.140837a63
cdqe
sbb si, cx
mov r11d, dword [r10 + rax - 0x69b78fe4]
lea r10, [rbp + r10 - 0x16a1a6d0]
xor r11d, r9d
bts ax, ax
ror r11d, 2
inc r11d
xor r11d, 0xb1240024
neg ebp
ror cx, cl
ror r11d, 2
neg r11d
bt r8w, r8w
call fcn.14083fa50
mov rdx, qword [r10]
mov esi, 0x8c2da70e
xor rdx, r9
push rsi
movsx ebp, sil
lea rdx, [rbp + rdx - 0x1a6710ea]
movsx r11d, bpl
neg dword [rsp + rbp - 0xc]
sub word [rsp + rbp*2 - 0x17], 0xa00e
xor rdx, 0x15139830
mov eax, r11d
dec rdx
mov r8d, dword [rsp + rbp - 0xa]
not rdx
xor r9, rdx
mov qword [rbp + rbx - 0x16], rdx
neg rax
mov eax, dword [r10 + rbp*2 - 0x14]
movzx edx, word [rsp + rbp - 0xc]
xor eax, r9d
mov ecx, edx
neg eax
mov word [rsp + r11 - 0xd], r8w
xor r11b, cl
xor eax, 0xea260b2c
rol eax, 3
xor eax, 0x91b7e1b7
sub eax, 0xb2241ea7
mov qword [rsp + rbp - 0xe], r9
btc rbp, rcx
neg r8
jns 0x14086d25f
xor dword [rsp + rbp*2 - 0x10001c], eax
pop r9
add bp, dx
ror cl, 0xe5
push rcx
movsxd rax, eax
add rdi, rax
pop rcx
mov r8, qword [r10 + rbp*2 - 0x10e7b6]
ror rcx, cl
xor r11d, esi
lea r10, [r10 + rbp*4 - 0x21cf70]
xor r8, r9
or cx, bp
shl bpl, cl
dec rbp
lea r8, [r8 + rbp*2 - 0x4c2472bd]
bts edx, edx
xor r8, 0xffffffffdf32cfb9
bt r11d, ecx
rol r8, 5
jmp 0x140871a91
mov qword [rsp + rax - 0x51773407], r9
bt ecx, ecx
xor dword [rsp + rcx - 0x681ea2e6], esi
mov r9, qword [rsp + r8 - 0x25f28ac1]
cwde
movsxd rsi, esi
inc al
mov qword [rsp + rcx - 0x681ea2ee], 0xffffffffd29e4f9a
mov qword [rsp + rcx - 0x681ea2e6], r11
add rdi, rsi
rdtsc
and r11w, r11w
btr r11d, 0x84
mov dword [rbx + r8*2 - 0x4be51596], eax
push r11
sal cl, 0xa3
push r8
lea rbx, [rcx + rbx - 0x681ea274]
mov esi, edx
je 0x140888a98
lea rax, [r11*4 - 0x23e6a37e]
ror r11w, 0x68
lea rax, [rsp + rcx - 0x681ea228]
adc r11, r8
mov dword [rax + r8*2 - 0x4be51592], esi
xadd qword [rsp + r8*2 - 0x4be51588], r8
pop rdx
pop rbp
pop r8
pop rbp
jns fcn.140837a63
movzx edx, word [r10]
mov eax, 0x86004ead
and rax, rax
xor dx, r9w
movsx esi, al
xor dx, 0xa383
dec dx
neg dx
inc dx
xor r9w, dx
movzx ebp, sil
xor eax, 0xba4f9ab
movsx r8d, sil
mov word [rbx + rbp*2 - 0x15c], dx
movzx ecx, ax
sar sil, 0x81
movzx edx, byte [rbp + r10 - 0xab]
lea rax, [rsi + rcx*4 - 0x18739358]
xor dl, r9b
add dl, 0x99
btc ecx, r8d
rol bpl, 0x24
xor dl, 0x1c
imul si, ax
neg dl
sub r8w, 0xcf8c
dec dl
mov r11d, ecx
ror dl, 1
inc dl
not ax
or r8b, r11b
bt si, bp
not dl
btr ebp, 0xa8
xor r9b, dl
lea rcx, [rsi + rax*2 + 0x60b8d402]
add rdx, rsp
shl rcx, 0xb4
and r11d, r8d
adc cx, word [rdx + r11 - 0x1006]
bswap eax
movzx edx, r8w
or rbp, 0x42982090
mov word [rbx + rbp - 0x429820de], cx
lea rcx, [rsi*8 - 0x5b7982d3]
setle r11b
lea rbp, [rdx*4 + 0x16a0e63b]
lea rbx, [rax + rbx - 0x69b78feb]
jns 0x1408555a8
xchg dword [rsp + r11*2 - 0x3f76a433], edx
rol word [rsp + r11 - 0x1fbb521b], 0x41
add ecx, dword [r10 + r11*2 - 0x3f76a436]
lea r10, [r10 + r11*2 - 0x3f76a432]
sar qword [rsp + r11*2 - 0x3f76a436], 0x94
movsx ebp, r11w
adc rdx, 0xffffffffffa02d05
xor ecx, r9d
movsx r8d, sil
rol bpl, 0x42
lea ecx, [rcx + rdx*8 - 0x7f06515b]
setae dl
jae 0x14087c20d
mov qword [rsp + rax - 0x498605aa], r9
dec word [rsp + rax - 0x498605ae]
sar r8, 0x72
ror qword [rsp + r8*2], 0x98
xor dword [rsp + r8 + 8], ecx
push rax
mov r9, qword [rsp + rax - 0x498605a2]
rol qword [rsp + r8 + 8], 0x81
lea rax, [r11*2 + 0x5eb5f8a4]
add ebp, ebp
movsxd rcx, ecx
adc rdi, rcx
movsx ecx, al
sal rcx, 0x99
movzx bp, byte [rbx + rax - 0x5eb61ea4]
mov al, byte [rax + rbx - 0x5eb61ea2]
lea rbx, [rbx + r8 + 2]
movsx edx, cx
sal word [rsp + r8 + 2], 0xc8
add bpl, al
bts r11d, 5
mov word [rbx + r8*4], bp
xchg qword [rsp + r8*2 + 8], rsi
mov qword [rsp + r8*2], rdi
ret 0x10
push r9
xor dword [rsp + rbp*4 - 0x200004], r8d
movzx r9d, si
jmp 0x140829103
movsx edx, bpl
lea r11, [r8 + rbp*4 + 0x6289043a]
add r8w, 0x4696
lea rbx, [rbx + r8*2 - 0x235dec64]
shl bpl, 0xa5
call fcn.140839c6b
mov ecx, 0xb88c41b3
imul rcx, rcx
lea rdx, [rsp + 0xa8]
push rcx
mov ebp, dword [rdx + riz]
jno 0x14083c990
movsx r11d, cl
lea rdx, [rcx + 0x1bab931a]
mov dword [rbx + r11 - 0x2d], ebp
add dword [rsp + r11*4 - 0xa2], r11d
mov r11d, dword [r10 + r11*2 - 0x52]
adc r10, 4
mov r8d, ecx
rol word [rsp + r8*2 - 0x7948c64f], cl
or rdx, 0xffffffffa9241304
xor r11d, r9d
not dword [rsp + rdx*4 + 0x1a4022e5]
ror r8b, 0xe1
movzx ebp, dl
ror r11d, 1
bswap r11d
shr word [rsp + rdx*2 + 0xd201172], cl
adc rbp, rdx
sbb r11d, 0xf62aa112
shl r8, cl
xor dl, 0x89
jp 0x140867d75
xor r11d, 0x8383592b
ror r8b, 0x42
or rdx, r8
mov dword [rsp + rbp + 0x6900875], 0xcf20aa88
lea r11d, [r11 + rbp*8 - 0x712ba227]
dec byte [rsp + rdx + 0x6900836]
mov qword [rsp + rdx*2 + 0xd201064], r9
add r8b, r8b
lea rax, [rbp + rcx - 0x7f6abcd7]
xor dword [rsp + rdx*4 + 0x1a4020c8], r11d
lea r9, [rbp + 0x33d8fad]
shr al, 0x23
rol ebp, 0xcd
pop r9
idiv rbp
lea rsi, [rcx + rbp*8 - 0x615c015c]
dec edx
movsxd r11, r11d
sar dx, cl
jp 0x1408304ea