Function at 0x1402b4858
Capabilities:
Authenticate hmac
Execute anti-debugging instructions

Disassembly:
add byte [rax], al
mov rax, rsi
mov esi, dword [r13 + 4]
push rax
xchg esi, eax
pop rsi
add r13, rax
push rdi
mov rdi, qword [rsp + 4]
pop rdi
jmp 0x1402007d0
push rsi
imul ecx, dword [rax - 0x75], 0xffffffc1
mov rax, rcx
mov ecx, 0x57240311
push rax
xchg ecx, eax
pop rcx
pushfq
mov rcx, rcx
push 0x572402d5
push rcx
mov rcx, qword [rsp + 8]
xor eax, ecx
mov rcx, qword [rsp]
lea rsp, [rsp + 0x10]
popfq
pushfq
add rbp, 0xf
popfq
lea rbp, [rbp - 0xf]
cmp word [rbp + 4], ax
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 0x6a]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
jne 0x14011d2d8
cmp ecx, 7
mov rsi, rsi
jne 0x14011d2d8
xchg rcx, rax
mov rax, r12
push rcx
xchg rcx, rax
pop rax
pushfq
pushfq
add rbp, 0x1d
popfq
lea rbp, [rbp - 0x1d]
call 0x1401154cc
push rdi
mov rdi, rax
pop rdi
add qword [rsp], 0x128179
xchg qword [rsp], rax
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x53]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
xchg qword [rsp + 8], rax
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x13]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
xchg qword [rsp], rax
push rbx
mov rbx, qword [rsp + 8]
lea rbx, [rbx + 0x5e]
xchg qword [rsp + 8], rbx
mov qword [rsp + 8], rbx
mov rbx, qword [rsp]
lea rsp, [rsp + 8]
popfq
pushfq
add rbp, 0x49
popfq
lea rbp, [rbp - 0x49]
jmp 0x1402aa188
popfq
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x57]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
je 0x140115450
jne 0x140115450
jmp 0x14011544e
add byte [rax], al
push 8
cmp rax, qword [rsp]
pushfq
not qword [rsp + 8]
inc qword [rsp + 8]
add rax, qword [rsp + 8]
popfq
lea rsp, [rsp + 8]
lea rcx, [r13 + 8]
mov rsi, rsi
shr rax, 1
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x3c]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
mov qword [rsp + 0x60], rcx
mov rcx, rcx
test eax, eax
mov rdi, rdi
je 0x14020a738
mov rdx, rdi
mov edi, eax
push rdx
xchg edx, edi
pop rdi
mov qword [rsp + 0x70], rdx
push rsi
mov rsi, qword [rsp + 0xe]
pop rsi
jmp 0x14021df78
popfq
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 0x63]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
je 0x140209158
jne 0x140209158
jmp 0x140209156
add byte [rax], al
xchg rcx, rdx
mov rdx, qword [rsp + 0x60]
push rcx
xchg rcx, rdx
pop rdx
add rcx, 2
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x1b]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
push 1
cmp rdx, qword [rsp]
pushfq
not qword [rsp + 8]
inc qword [rsp + 8]
add rdx, qword [rsp + 8]
popfq
lea rsp, [rsp + 8]
mov qword [rsp + 0x60], rcx
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x4a]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
mov qword [rsp + 0x70], rdx
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x11]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
jne 0x1402b3fc0
jmp 0x1402348b0
mov rax, rcx
mov ecx, dword [r13 + 4]
push rax
xchg ecx, eax
pop rcx
test eax, eax
push rbx
mov rbx, qword [rsp + 8]
lea rbx, [rbx + 0x35]
xchg qword [rsp + 8], rbx
mov qword [rsp + 8], rbx
mov rbx, qword [rsp]
lea rsp, [rsp + 8]
jne 0x1402a89c8
cmp dword [rbp], 8
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x56]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
jle 0x14023d6c9
mov rdx, rbx
mov ebx, dword [rbp + 0x56]
push rdx
xchg edx, ebx
pop rbx
lea rcx, [rbp + 0x72]
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x42]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
mov r9, rbx
mov ebx, dword [rbp + 0x5a]
push r9
xchg r9d, ebx
pop rbx
add rdx, r14
lea rsi, [rsi]
xchg r8, rsi
mov rsi, rdx
push r8
xchg r8, rsi
pop rsi
pushfq
pushfq
add rbp, 0x36
popfq
lea rbp, [rbp - 0x36]
call 0x14020087f
push rbx
mov rbx, qword [rsp + 8]
lea rbx, [rbx + 0x2c]
xchg qword [rsp + 8], rbx
mov qword [rsp + 8], rbx
mov rbx, qword [rsp]
lea rsp, [rsp + 8]
add qword [rsp], 0x3ce4a
xchg qword [rsp], rbx
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x5d]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
xchg qword [rsp + 8], rbx
pushfq
add rbp, 0x65
popfq
lea rbp, [rbp - 0x65]
xchg qword [rsp], rbx
mov rsi, rsi
popfq
push rdi
mov rdi, qword [rsp + 8]
lea rdi, [rdi + 0x7e]
xchg qword [rsp + 8], rdi
mov qword [rsp + 8], rdi
mov rdi, qword [rsp]
lea rsp, [rsp + 8]
jmp 0x1402b4578
add byte [rax], al
popfq
mov rax, rax
je 0x14011d2d8
jne 0x14011d2d8
jmp 0x14011d2d6
pushfq
push rdx
mov rdx, qword [rsp + 8]
lea rdx, [rdx]
xchg qword [rsp + 8], rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp]
lea rsp, [rsp + 8]
xchg rbx, rax
lea rsp, [rsp - 8]
mov qword [rsp], rbx
mov rbx, rax
mov rax, qword [rsp]
xchg rdi, rdx
lea rsp, [rsp - 8]
mov qword [rsp], rdi
mov rdi, rdx
mov rdx, qword [rsp]
rdtsc
lea rdi, [rdi]
and rax, 1
push rdi
mov rdi, rcx
pop rdi
xchg rdi, rdx
xchg qword [rsp], rdi
xchg rdi, rdx
lea rsp, [rsp + 8]
xchg rdx, rax
xchg qword [rsp], rdx
xchg rdx, rax
lea rsp, [rsp + 8]
je 0x14023cdc8
jne 0x140116b70
jmp 0x14023cdc6
add byte [rax], al
mov rax, rcx
mov ecx, 0x351eed70
push rax
xchg ecx, eax
pop rcx
pushfq
mov rdx, rdx
push 0x351eecb4
push rdi
mov rdi, qword [rsp + 8]
xor eax, edi
mov rdi, qword [rsp]
lea rsp, [rsp + 0x10]
popfq
push rdi
mov rdi, qword [rsp + 8]
lea rdi, [rdi + 0x33]
xchg qword [rsp + 8], rdi
mov qword [rsp + 8], rdi
mov rdi, qword [rsp]
lea rsp, [rsp + 8]
cmp word [rbp + 4], ax
push rbx
mov rbx, rax
pop rbx
jne 0x140207098
cmp ecx, 7
push rbp
mov rbp, rsp
leave
jne 0x14011d2d8
xchg rcx, rax
mov rax, r12
push rcx
xchg rcx, rax
pop rax
pushfq
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0xa]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
call 0x140206fe4
push rdi
mov rdi, qword [rsp + 8]
lea rdi, [rdi + 0x53]
xchg qword [rsp + 8], rdi
mov qword [rsp + 8], rdi
mov rdi, qword [rsp]
lea rsp, [rsp + 8]
add qword [rsp], 0x36661
xchg qword [rsp], rax
push rbx
mov rbx, qword [rsp + 8]
lea rbx, [rbx + 0x2b]
xchg qword [rsp + 8], rbx
mov qword [rsp + 8], rbx
mov rbx, qword [rsp]
lea rsp, [rsp + 8]
xchg qword [rsp + 8], rax
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 7]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
xchg qword [rsp], rax
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 0x19]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
popfq
push rbx
mov rbx, qword [rsp + 8]
lea rbx, [rbx + 0x30]
xchg qword [rsp + 8], rbx
mov qword [rsp + 8], rbx
mov rbx, qword [rsp]
lea rsp, [rsp + 8]
jmp 0x1402aa188
pushfq
pushfq
add rbp, 0x37
popfq
lea rbp, [rbp - 0x37]
xchg rdi, rax
lea rsp, [rsp - 8]
mov qword [rsp], rdi
mov rdi, rax
mov rax, qword [rsp]
xchg rsi, rdx
lea rsp, [rsp - 8]
mov qword [rsp], rsi
mov rsi, rdx
mov rdx, qword [rsp]
rdtsc
push rdx
mov rdx, rcx
pop rdx
and rax, 1
push rdx
mov rdx, qword [rsp + 8]
lea rdx, [rdx + 0x4d]
xchg qword [rsp + 8], rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp]
lea rsp, [rsp + 8]
xchg rdx, rax
xchg qword [rsp], rax
xchg rdx, rax
lea rsp, [rsp + 8]
xchg rcx, rax
xchg qword [rsp], rcx
xchg rcx, rax
lea rsp, [rsp + 8]
je 0x140202430
jne 0x1402b5ee8
jmp 0x14020242e
add byte [rax], al
push 8
cmp rax, qword [rsp]
pushfq
not qword [rsp + 8]
inc qword [rsp + 8]
add rax, qword [rsp + 8]
popfq
lea rsp, [rsp + 8]
lea rcx, [r13 + 8]
lea rax, [rax]
shr rax, 1
push rbp
mov rbp, rsp
leave
mov qword [rsp + 0x60], rcx
push rbp
mov rbp, rsp
leave
test eax, eax
push rcx
mov rcx, rbx
pop rcx
je 0x14020a738
mov rdx, rcx
mov ecx, eax
push rdx
xchg edx, ecx
pop rcx
mov qword [rsp + 0x70], rdx
mov rax, rax
jmp 0x14021df78
popfq
pushfq
add rbp, 5
popfq
lea rbp, [rbp - 5]
je 0x140214f90
jne 0x140214f90
jmp 0x140214f8e
pushfq
pushfq
add rbp, 0x4b
popfq
lea rbp, [rbp - 0x4b]
xchg rcx, rax
lea rsp, [rsp - 8]
mov qword [rsp], rcx
mov rcx, rax
mov rax, qword [rsp]
xchg rdx, rax
lea rsp, [rsp - 8]
mov qword [rsp], rax
mov rax, rdx
mov rdx, qword [rsp]
rdtsc
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 0x62]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
and rax, 1
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x7c]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
xchg rbx, rdx
xchg qword [rsp], rbx
xchg rbx, rdx
lea rsp, [rsp + 8]
xchg rcx, rax
xchg qword [rsp], rcx
xchg rcx, rax
lea rsp, [rsp + 8]
je 0x1402404c8
jne 0x14021c370
jmp 0x1402404c6
add byte [rax], al
movzx eax, word [rcx]
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x37]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
mov r12, rdi
mov edi, dword [r13]
push r12
xchg r12d, edi
pop rdi
mov rcx, rdx
mov edx, eax
push rcx
xchg ecx, edx
pop rdx
and eax, 0xfff
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 0x5b]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
shr ecx, 0xc
push rdi
mov rdi, qword [rsp + 8]
lea rdi, [rdi + 0x43]
xchg qword [rsp + 8], rdi
mov qword [rsp + 8], rdi
mov rdi, qword [rsp]
lea rsp, [rsp + 8]
add rax, r14
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 3]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
add r12, rax
push rdx
mov rdx, qword [rsp + 8]
lea rdx, [rdx + 0x5c]
xchg qword [rsp + 8], rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp]
lea rsp, [rsp + 8]
cmp ecx, 3
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x2d]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
je 0x14023d629
cmp ecx, 0xa
mov rcx, rcx
jne 0x140206f58
jmp 0x14023d629
popfq
pushfq
add rbp, 0xa
popfq
lea rbp, [rbp - 0xa]
je 0x140115270
jne 0x140115270
jmp 0x14011526e
pushfq
lea rsi, [rsi]
xchg rsi, rax
lea rsp, [rsp - 8]
mov qword [rsp], rsi
mov rsi, rax
mov rax, qword [rsp]
xchg rbx, rdx
lea rsp, [rsp - 8]
mov qword [rsp], rbx
mov rbx, rdx
mov rdx, qword [rsp]
rdtsc
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x1c]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
and rax, 1
pushfq
add rbp, 0x19
popfq
lea rbp, [rbp - 0x19]
xchg rsi, rdx
xchg qword [rsp], rsi
xchg rsi, rdx
lea rsp, [rsp + 8]
xchg rcx, rax
xchg qword [rsp], rcx
xchg rcx, rax
lea rsp, [rsp + 8]
je 0x140226fc8
jne 0x1402091b8
jmp 0x140226fc6
add byte [rax], al
xchg rcx, rdi
mov rdi, qword [rsp + 0x60]
push rcx
xchg rcx, rdi
pop rdi
add rcx, 2
mov rbx, rbx
push 1
cmp rdx, qword [rsp]
pushfq
not qword [rsp + 8]
inc qword [rsp + 8]
add rdx, qword [rsp + 8]
popfq
lea rsp, [rsp + 8]
mov qword [rsp + 0x60], rcx
pushfq
add rbp, 0x64
popfq
lea rbp, [rbp - 0x64]
mov qword [rsp + 0x70], rdx
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x25]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
jne 0x1402b3fc0
jmp 0x1402348b0
add byte [rax], al
popfq
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x77]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
je 0x1402b3fc0
jne 0x1402b3fc0
jmp 0x1402b3fbe
ret
mov rax, rdi
mov edi, dword [r13 + 4]
push rax
xchg edi, eax
pop rdi
add r13, rax
push rdx
mov rdx, qword [rsp + 8]
lea rdx, [rdx + 5]
xchg qword [rsp + 8], rdx
mov qword [rsp + 8], rdx
mov rdx, qword [rsp]
lea rsp, [rsp + 8]
jmp 0x1402007d0
add byte [rax], al
popfq
pushfq
add rbp, 0x62
popfq
lea rbp, [rbp - 0x62]
je 0x1401193f0
jne 0x1401193f0
jmp 0x1401193ee
call 0x1401144a8
loope 0x14023ce21
loop 0x14023cdf0
adc ebx, dword [rcx + 0x71]
mov cl, byte [rsi]
lea rdi, [0x1402c2868]
call fcn.140212068
sal dword ss:[rax - 0x62ffff8e], 0x56
add byte [rax], al
popfq
push rsi
mov rsi, qword [rsp + 8]
lea rsi, [rsi + 4]
xchg qword [rsp + 8], rsi
mov qword [rsp + 8], rsi
mov rsi, qword [rsp]
lea rsp, [rsp + 8]
je 0x140206f58
jne 0x140206f58
cld
invalid
jmp 0x140206f56
lahf
invalid
add qword [r12], r15
call fcn.14021d440
invalid
call 0x1402219c0
out 0x7b, eax
int 0x59
wait
and bl, dl
jno 0x14023d6df
invalid
invalid
add byte [rax], al
popfq
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x4e]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
je 0x1402348b0
jne 0x1402348b0
jmp 0x1402348ae
pushfq
push rdi
mov rdi, qword [rsp + 8]
lea rdi, [rdi + 0x7e]
xchg qword [rsp + 8], rdi
mov qword [rsp + 8], rdi
mov rdi, qword [rsp]
lea rsp, [rsp + 8]
xchg rdx, rax
lea rsp, [rsp - 8]
mov qword [rsp], rdx
mov rdx, rax
mov rax, qword [rsp]
xchg rsi, rdx
lea rsp, [rsp - 8]
mov qword [rsp], rsi
mov rsi, rdx
mov rdx, qword [rsp]
rdtsc
lea rsi, [rsi]
and rax, 1
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x71]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
xchg rcx, rdx
xchg qword [rsp], rcx
xchg rcx, rdx
lea rsp, [rsp + 8]
xchg rdx, rax
xchg qword [rsp], rdx
xchg rdx, rax
lea rsp, [rsp + 8]
je 0x140237960
jne 0x140119e08
jmp 0x14023795e
call fcn.1402aaf70
mov dl, 0x69
invalid
invalid
movzx eax, word [rcx]
push rdx
mov rdx, rsi
pop rdx
mov r12, rax
mov eax, dword [r13]
push r12
xchg r12d, eax
pop rax
mov rcx, rdx
mov edx, eax
push rcx
xchg ecx, edx
pop rdx
and eax, 0xfff
push rdi
mov rdi, qword [rsp + 8]
lea rdi, [rdi + 0x5c]
xchg qword [rsp + 8], rdi
mov qword [rsp + 8], rdi
mov rdi, qword [rsp]
lea rsp, [rsp + 8]
shr ecx, 0xc
lea rbx, [rbx]
add rax, r14
pushfq
add rbp, 0x53
popfq
lea rbp, [rbp - 0x53]
add r12, rax
push rcx
mov rcx, qword [rsp + 8]
lea rcx, [rcx + 0x3a]
xchg qword [rsp + 8], rcx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp]
lea rsp, [rsp + 8]
cmp ecx, 3
lea rbx, [rbx]
je 0x14023d629
cmp ecx, 0xa
push rbp
mov rbp, rsp
leave
jne 0x140205118
jmp 0x14023d629
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x130
mov rbx, rdx
mov rsi, r8
mov rdx, rcx
mov r8d, 0x10
lea rcx, [rsp + 0x20]
mov edi, r9d
call fcn.140234f28
mov r9d, edi
lea rcx, [rsp + 0x20]
mov r8, rbx
mov rdx, rsi
call fcn.140204c90
lea r11, [rsp + 0x130]
xor eax, eax
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
jmp 0x14023cda8
popfq
push rax
mov rax, qword [rsp + 8]
lea rax, [rax + 0x3e]
xchg qword [rsp + 8], rax
mov qword [rsp + 8], rax
mov rax, qword [rsp]
lea rsp, [rsp + 8]
je 0x140223ea0
jne 0x140223ea0
jmp 0x140223e9e