Function at 0x14002eee4
Capabilities:
Authenticate hmac
Encrypt data using speck
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
shr cl, cl
push rbp
add ebp, 0x28ae6b55
mov rbp, rsp
rcr cl, cl
adc cl, 0xf8
sub rsp, 0x50
rcl cl, cl
clc
sub edx, edx
mov cl, 0x4d
jmp 0x14002ef0f
call fcn.140001870
mov edx, 1
mov byte [rbp - 0x30], al
mov cl, sil
mov cl, 0x65
jmp 0x14002ef26
call fcn.140001870
mov edx, 2
mov cl, 0x3c
mov byte [rbp - 0x2f], al
mov cl, 0x6d
jmp 0x14002ef3c
call fcn.140001870
mov edx, 3
mov byte [rbp - 0x2e], al
mov cl, 0x6f
call fcn.140001870
mov edx, 4
mov byte [rbp - 0x2d], al
mov cl, 0x72
jmp 0x14002ef5f
call fcn.140001870
mov edx, 5
mov cl, sil
mov byte [rbp - 0x2c], al
mov cl, 0x79
jmp 0x14002ef76
call fcn.140001870
mov edx, 6
not cl
mov byte [rbp - 0x2b], al
xchg cl, cl
setge cl
mov cl, 0x20
call fcn.140001870
mov edx, 7
mov byte [rbp - 0x2a], al
xchg cl, cl
mov cl, 0x56
jmp 0x14002efa2
call fcn.140001870
mov edx, 8
mov byte [rbp - 0x29], al
mov cl, 0x69
jmp 0x14002efb6
call fcn.140001870
mov edx, 9
mov byte [rbp - 0x28], al
mov cl, 0x65
jmp 0x14002efca
call fcn.140001870
mov edx, 0xa
mov byte [rbp - 0x27], al
jmp 0x14002efdc
mov cl, 0x77
jmp 0x14002efe3
call fcn.140001870
mov edx, 0xb
xchg cl, cl
mov byte [rbp - 0x26], al
mov cl, 0x65
jmp 0x14002eff9
call fcn.140001870
mov edx, 0xc
mov byte [rbp - 0x25], al
mov cl, 0x72
call fcn.140001870
mov byte [rbp - 0x24], al
sub eax, eax
xor ch, 0xf1
movsxd rcx, eax
sub ebx, ebx
xadd rdx, rdx
not cl
mov byte [rbp - 0x23], al
mov edx, ebx
movzx ecx, bp
bt ax, 0x10
rcl ah, cl
nop dword [rax + rax]
sal al, cl
test cl, 0xb2
btr rcx, 0xfd
movsxd rax, edx
jmp 0x14002f046
lea rcx, [rbp - 0x30]
add rcx, rax
movsxd rax, ebp
sete al
lea eax, [rdx - 0x16]
jmp 0x14002f05b
inc edx
xor byte [rcx], al
cmp r10b, 7
cmp r8b, r15b
cmp edx, 0xd
jb 0x14002f03e
lea rdx, [rbp - 0x30]
jmp 0x14002f07a
mov byte [rbp - 0x23], bl
clc
test r14b, r12b
test ax, 0x44c2
sub ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x14002f0b1
mov rcx, rax
jmp 0x14002f09e
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jmp 0x14002f0ab
jne 0x1400333c6
sub edx, edx
mov cl, 0x50
call fcn.140001870
mov edx, 1
mov byte [rbp - 0x30], al
xchg cl, cl
mov cl, 0x72
jmp 0x14002f0cb
call fcn.140001870
mov edx, 2
mov cl, cl
xchg cl, cl
mov byte [rbp - 0x2f], al
mov cl, 0x6f
jmp 0x14002f0e3
call fcn.140001870
mov edx, 3
mov byte [rbp - 0x2e], al
xchg cl, cl
mov cl, 0x63
jmp 0x14002f0f9
call fcn.140001870
mov edx, 4
jmp 0x14002f10d
mov byte [rbp - 0x2d], al
mov cl, 0x65
call fcn.140001870
mov edx, 5
mov byte [rbp - 0x2c], al
jmp 0x14002f124
mov cl, 0x73
call fcn.140001870
mov edx, 6
mov byte [rbp - 0x2b], al
mov cl, 0x73
call fcn.140001870
mov edx, 7
xchg cl, cl
mov byte [rbp - 0x2a], al
mov cl, r10b
mov cl, 0x20
jmp 0x14002f14e
call fcn.140001870
mov edx, 8
mov byte [rbp - 0x29], al
mov cl, 0x4c
jmp 0x14002f162
call fcn.140001870
mov edx, 9
setp cl
mov byte [rbp - 0x28], al
mov cl, 0x47
mov cl, 0x69
jmp 0x14002f17b
call fcn.140001870
mov edx, 0xa
mov byte [rbp - 0x27], al
not cl
mov cl, 0x73
jmp 0x14002f191
call fcn.140001870
mov edx, 0xb
mov byte [rbp - 0x26], al
mov cl, bl
not cl
mov cl, 0x74
jmp 0x14002f1a9
call fcn.140001870
mov byte [rbp - 0x25], al
btr edx, 0xfe
inc dl
mov edx, ebx
sub rcx, r10
or cl, 0x81
xor eax, eax
dec cx
jmp 0x14002f1c9
mov byte [rbp - 0x24], al
nop dword [rax]
movsx ax, bpl
movzx rcx, r15w
nop word [rax + rax]
movsxd rax, edx
sal rcx, 0xdd
rcl cl, 0x11
cmc
lea rcx, [rbp - 0x30]
add rcx, rax
movzx rax, r11w
not eax
lea eax, [rdx - 0x16]
jmp 0x14002f202
inc edx
xor byte [rcx], al
jmp 0x14002f20b
cmp edx, 0xc
jmp 0x14002f213
jb 0x14002f1e2
lea rdx, [rbp - 0x30]
jmp 0x14002f223
mov byte [rbp - 0x24], bl
test edx, 0x4d087904
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
jmp 0x14002f23c
je 0x14002f258
mov rcx, rax
jmp 0x14002f24a
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x1400333c6
sub edx, edx
mov cl, 0x48
jmp 0x14002f261
call fcn.140001870
mov edx, 1
setne cl
mov cl, r14b
mov byte [rbp - 0x30], al
mov cl, 0x54
jmp 0x14002f27b
call fcn.140001870
mov edx, 2
mov byte [rbp - 0x2f], al
mov cl, 0x54
jmp 0x14002f28f
call fcn.140001870
mov edx, 3
mov cl, spl
mov byte [rbp - 0x2e], al
jmp 0x14002f2a4
mov cl, 0x50
call fcn.140001870
mov edx, 4
mov byte [rbp - 0x2d], al
not cl
mov cl, 0x20
jmp 0x14002f2bc
call fcn.140001870
mov edx, 5
xchg cl, cl
mov byte [rbp - 0x2c], al
mov cl, 0x44
jmp 0x14002f2d2
call fcn.140001870
mov edx, 6
mov cl, dl
not cl
mov byte [rbp - 0x2b], al
seto cl
mov cl, 0x65
call fcn.140001870
mov edx, 7
not cl
mov byte [rbp - 0x2a], al
not cl
mov cl, 0x62
jmp 0x14002f300
call fcn.140001870
mov edx, 8
mov byte [rbp - 0x29], al
mov cl, 0x75
jmp 0x14002f314
call fcn.140001870
mov edx, 9
mov cl, 0xd0
mov byte [rbp - 0x28], al
mov cl, 0x67
jmp 0x14002f32a
call fcn.140001870
mov edx, 0xa
mov cl, 0x7b
mov byte [rbp - 0x27], al
xchg cl, cl
not cl
mov cl, 0x67
call fcn.140001870
mov edx, 0xb
xchg cl, cl
mov cl, 0x50
mov byte [rbp - 0x26], al
jmp 0x14002f355
mov cl, 0x65
jmp 0x14002f35c
call fcn.140001870
mov edx, 0xc
mov cl, 0xea
mov byte [rbp - 0x25], al
mov cl, 0x72
jmp 0x14002f372
call fcn.140001870
mov byte [rbp - 0x24], al
movzx dx, spl
btr dx, r14w
mov edx, ebx
adc cl, 0xe6
sub eax, eax
btr rcx, 0x4a
bt ecx, ebp
btc ecx, r11d
mov byte [rbp - 0x23], al
rcl al, 0xca
nop dword [rax]
sar cx, cl
shr ah, cl
sal cl, 0x52
nop word [rax + rax]
movsxd rax, edx
and ecx, 0x66e1b75
lea rcx, [rbp - 0x30]
test dil, 0xc0
add rcx, rax
movzx rax, sp
movsx rax, r11w
movzx eax, r9w
lea eax, [rdx - 0x16]
inc edx
clc
xor byte [rcx], al
cmp rcx, r8
test r9b, 0xbb
cmp edx, 0xd
jmp 0x14002f3ea
jb 0x14002f3b3
lea rdx, [rbp - 0x30]
mov byte [rbp - 0x23], bl
jmp 0x14002f400
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
jmp 0x14002f410
je 0x14002f431
mov rcx, rax
jmp 0x14002f41e
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jmp 0x14002f42b
jne 0x1400333c6
xor edx, edx
setb cl
mov cl, 0x48
call fcn.140001870
mov edx, 1
mov byte [rbp - 0x30], al
jmp 0x14002f44a
mov cl, 0x54
jmp 0x14002f451
call fcn.140001870
mov edx, 2
mov cl, r13b
setge cl
mov byte [rbp - 0x2f], al
xchg cl, cl
mov cl, 0x54
jmp 0x14002f46d
call fcn.140001870
mov edx, 3
xchg cl, cl
mov byte [rbp - 0x2e], al
mov cl, 0x50
jmp 0x14002f483
call fcn.140001870
mov edx, 4
seta cl
mov byte [rbp - 0x2d], al
mov cl, 0x20
jmp 0x14002f49a
call fcn.140001870
mov edx, 5
mov byte [rbp - 0x2c], al
mov cl, 0x44
jmp 0x14002f4ae
call fcn.140001870
mov edx, 6
mov cl, spl
xchg cl, cl
mov byte [rbp - 0x2b], al
mov cl, 0x65
jmp 0x14002f4c7
call fcn.140001870
mov edx, 7
mov byte [rbp - 0x2a], al
xchg cl, cl
jmp 0x14002f4db
mov cl, 0x62
jmp 0x14002f4e2
call fcn.140001870
mov edx, 8
mov byte [rbp - 0x29], al
not cl
mov cl, dil
mov cl, 0x75
jmp 0x14002f4fb
call fcn.140001870
mov edx, 9
mov byte [rbp - 0x28], al
jmp 0x14002f510
mov cl, 0x67
jmp 0x14002f517
call fcn.140001870
mov edx, 0xa
mov cl, dil
mov byte [rbp - 0x27], al
xchg cl, cl
mov cl, 0x67
jmp 0x14002f530
call fcn.140001870
mov edx, 0xb
mov cl, 0x82
mov byte [rbp - 0x26], al
not cl
mov cl, 0xc6
mov cl, 0x65
call fcn.140001870
mov edx, 0xc
xchg cl, cl
not cl
mov byte [rbp - 0x25], al
mov cl, 0x72
jmp 0x14002f55d
call fcn.140001870
mov edx, 0xd
mov byte [rbp - 0x24], al
mov cl, 0x20
jmp 0x14002f571
call fcn.140001870
mov edx, 0xe
mov byte [rbp - 0x23], al
mov cl, 0x50
jmp 0x14002f585
call fcn.140001870
mov edx, 0xf
not cl
mov byte [rbp - 0x22], al
setg cl
mov cl, 0x72
jmp 0x14002f59e
call fcn.140001870
mov edx, 0x10
mov byte [rbp - 0x21], al
seto cl
mov cl, 0x6f
jmp 0x14002f5b5
call fcn.140001870
mov byte [rbp - 0x20], al
mov edx, ebx
test dl, 0x36
bts ecx, r11d
sub eax, eax
stc
shld cx, bp, 0
add cx, bx
mov byte [rbp - 0x1f], al
sub ecx, r8d
nop
not ah
movsxd rax, edx
bsf rcx, r13
not rcx
rcl cl, 0xa
lea rcx, [rbp - 0x30]
cmp bp, 0x7ce1
add rcx, rax
cmovnp eax, r10d
lea eax, [rdx - 0x16]
jmp 0x14002f600
inc edx
test r15b, bl
cmp r12, rbx
xor byte [rcx], al
cmc
cmp edx, 0x11
jmp 0x14002f613
jb 0x14002f5db
lea rdx, [rbp - 0x30]
test r10b, r10b
mov byte [rbp - 0x1f], bl
sub ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
jmp 0x14002f633
je 0x14002f654
mov rcx, rax
jmp 0x14002f641
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jmp 0x14002f64e
jne 0x1400333c6
xor edx, edx
mov cl, r15b
mov cl, 0x4f
jmp 0x14002f660
call fcn.140001870
mov edx, 1
xchg cl, cl
mov cl, 0xae
mov byte [rbp + 0x10], al
mov cl, 0x6c
jmp 0x14002f678
call fcn.140001870
mov edx, 2
mov byte [rbp + 0x11], al
mov cl, r12b
mov cl, 0x6c
jmp 0x14002f68f
call fcn.140001870
mov edx, 3
mov byte [rbp + 0x12], al
mov cl, 0x79
jmp 0x14002f6a3
call fcn.140001870
mov edx, 4
mov byte [rbp + 0x13], al
jmp 0x14002f6b7
mov cl, 0x44
jmp 0x14002f6be
call fcn.140001870
mov edx, 5
mov cl, 0xd0
not cl
mov byte [rbp + 0x14], al
mov cl, 0x62
jmp 0x14002f6d6
call fcn.140001870
mov edx, 6
mov cl, r11b
mov byte [rbp + 0x15], al
mov cl, 0x67
jmp 0x14002f6ed
call fcn.140001870
mov byte [rbp + 0x16], al
mov edx, ebx
cmp spl, 0xc4
mov rcx, r11
mov ch, 0x9a
xor eax, eax
mov byte [rbp + 0x17], al
cmp r12b, r13b
nop dword [rax + rax]
shld cx, r10w, 0xa5
movsxd rax, esi
movsxd rax, edx
lea rcx, [rbp + 0x10]
add rcx, rax
lea eax, [rdx - 0x16]
inc edx
cmc
test r15d, esp
xor byte [rcx], al
cmp edx, 7
jmp 0x14002f737
jb 0x14002f71a
lea rdx, [rbp + 0x10]
test rbp, 0xa6e43e6
test bpl, al
mov byte [rbp + 0x17], bl
test r14, 0xc324465
cmp dl, r10b
test rbp, r13
sub ecx, ecx
jmp 0x14002f762
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x14002f78c
mov rcx, rax
jmp 0x14002f779
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jmp 0x14002f786
jne 0x1400333c6
sub edx, edx
mov cl, 0x54
jmp 0x14002f795
call fcn.140001870
mov edx, 1
mov byte [rbp - 0x30], al
mov cl, r8b
seto cl
mov cl, 0x68
jmp 0x14002f7af
call fcn.140001870
mov edx, 2
xchg cl, cl
mov byte [rbp - 0x2f], al
setbe cl
mov cl, 0x65
jmp 0x14002f7c8
call fcn.140001870
mov edx, 3
mov byte [rbp - 0x2e], al
not cl
setp cl
mov cl, 0x20
jmp 0x14002f7e1
call fcn.140001870
mov edx, 4
mov byte [rbp - 0x2d], al
mov cl, 0x34
mov cl, sil
mov cl, 0x57
call fcn.140001870
mov edx, 5
mov byte [rbp - 0x2c], al
mov cl, 0x33
mov cl, 0x69
call fcn.140001870
mov edx, 6
mov byte [rbp - 0x2b], al
mov cl, 0x72
jmp 0x14002f81a
call fcn.140001870
mov edx, 7
mov byte [rbp - 0x2a], al
mov cl, 0x65
jmp 0x14002f82e
call fcn.140001870
mov edx, 8
mov byte [rbp - 0x29], al
mov cl, 0x73
jmp 0x14002f842
call fcn.140001870
mov edx, 9
xchg cl, cl
mov byte [rbp - 0x28], al
mov cl, 0x68
jmp 0x14002f858
call fcn.140001870
mov edx, 0xa
jmp 0x14002f867
mov byte [rbp - 0x27], al
mov cl, 0x61
call fcn.140001870
mov edx, 0xb
mov byte [rbp - 0x26], al
jmp 0x14002f881
mov cl, 0x72
jmp 0x14002f888
call fcn.140001870
mov edx, 0xc
mov byte [rbp - 0x25], al
mov cl, cl
xchg cl, cl
mov cl, 0x6b
jmp 0x14002f8a0
call fcn.140001870
mov edx, 0xd
mov cl, 0xea
xchg cl, cl
mov byte [rbp - 0x24], al
mov cl, 0x20
jmp 0x14002f8b8
call fcn.140001870
mov edx, 0xe
mov byte [rbp - 0x23], al
mov cl, 0x4e
jmp 0x14002f8cc
call fcn.140001870
mov edx, 0xf
mov byte [rbp - 0x22], al
mov cl, 0x65
jmp 0x14002f8e0
call fcn.140001870
mov edx, 0x10
mov cl, r8b
mov byte [rbp - 0x21], al
xchg cl, cl
jmp 0x14002f8f7
mov cl, 0x74
call fcn.140001870
mov edx, 0x11
mov byte [rbp - 0x20], al
mov cl, 0x77
jmp 0x14002f90d
call fcn.140001870
mov edx, 0x12
mov byte [rbp - 0x1f], al
mov cl, 0x6f
call fcn.140001870
mov edx, 0x13
mov byte [rbp - 0x1e], al
mov cl, r10b
mov cl, 0x27
mov cl, 0x72
jmp 0x14002f935
call fcn.140001870
mov byte [rbp - 0x1d], al
sets cl
mov edx, 0x14
mov cl, 0x6b
jmp 0x14002f94c
call fcn.140001870
mov edx, 0x15
mov byte [rbp - 0x1c], al
mov cl, 0x20
jmp 0x14002f960
call fcn.140001870
mov edx, 0x16
xchg cl, cl
mov byte [rbp - 0x1b], al
mov cl, 0x41
jmp 0x14002f976
call fcn.140001870
mov edx, 0x17
mov byte [rbp - 0x1a], al
mov cl, 0x6e
jmp 0x14002f98a
call fcn.140001870
mov edx, 0x18
jmp 0x14002f999
mov byte [rbp - 0x19], al
mov cl, sil
setae cl
mov cl, 0x61
jmp 0x14002f9a9
call fcn.140001870
mov edx, 0x19
mov byte [rbp - 0x18], al
mov cl, 0x6c
jmp 0x14002f9bd
call fcn.140001870
mov edx, 0x1a
mov cl, 0x38
mov byte [rbp - 0x17], al
mov cl, 0x79
call fcn.140001870
mov edx, 0x1b
mov byte [rbp - 0x16], al
seto cl
mov cl, 0x2e
mov cl, 0x7a
jmp 0x14002f9e7
call fcn.140001870
mov edx, 0x1c
mov byte [rbp - 0x15], al
mov cl, r15b
mov cl, 0x65
jmp 0x14002f9fe
call fcn.140001870
mov edx, 0x1d
not cl
mov byte [rbp - 0x14], al
jmp 0x14002fa12
mov cl, 0x72
jmp 0x14002fa19
call fcn.140001870
mov byte [rbp - 0x13], al
mov edx, ebx
clc
bswap ecx
shl rcx, cl
xor eax, eax
rcr cx, cl
mov byte [rbp - 0x12], al
movzx ecx, r13w
movsxd rax, edx
shr rcx, cl
lea rcx, [rbp - 0x30]
test spl, r12b
add rcx, rax
inc rax
cdqe
lea eax, [rdx - 0x16]
jmp 0x14002fa52
inc edx
cmc
jmp 0x14002fa5a
xor byte [rcx], al
stc
cmc
cmp edx, 0x1e
jb 0x14002fa35
lea rdx, [rbp - 0x30]
cmp r13b, 0x99
mov byte [rbp - 0x12], bl
test r13b, r13b
clc
sub ecx, ecx
jmp 0x14002fa7d
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
je 0x14002faa7
mov rcx, rax
jmp 0x14002fa94
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jmp 0x14002faa1
jne 0x1400333c6
sub edx, edx
mov cl, 0x50
jmp 0x14002fab0
call fcn.140001870
mov edx, 1
mov byte [rbp - 0x30], al
mov cl, 0x72
jmp 0x14002fac4
call fcn.140001870
mov edx, 2
xchg cl, cl
mov cl, sil
mov byte [rbp - 0x2f], al
mov cl, 0x6f
jmp 0x14002fadd
call fcn.140001870
mov edx, 3
mov cl, 0x98
mov byte [rbp - 0x2e], al
mov cl, r8b
mov cl, 0x67
jmp 0x14002faf6
call fcn.140001870
mov edx, 4
mov byte [rbp - 0x2d], al
jmp 0x14002fb08
mov cl, 0x72
jmp 0x14002fb0f
call fcn.140001870
mov edx, 5
mov byte [rbp - 0x2c], al
mov cl, 0x65
call fcn.140001870
mov edx, 6
mov byte [rbp - 0x2b], al
mov cl, 0x73
call fcn.140001870
mov edx, 7
jmp 0x14002fb3c
mov byte [rbp - 0x2a], al
setle cl
xchg cl, cl
mov cl, 0x73
jmp 0x14002fb4b
call fcn.140001870
mov edx, 8
mov byte [rbp - 0x29], al
mov cl, 0x44
mov cl, 0x20
jmp 0x14002fb61
mov al, 1
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
movsx bp, r13b
jmp 0x1400333df
pop rbp
jmp 0x1400333e5
ret