Function at 0x14003a128
Capabilities:
Authenticate hmac
Check for software breakpoints
Encode data using xor

Disassembly:
xchg rsp, rax
mov rsp, rax
xchg rsp, rax
xchg rdx, rcx
mov qword [rax + 8], rdx
xchg rdx, rcx
nop
mov qword [rsp - 8], rdi
sub rsp, 8
sub rsp, 0x270
xchg rcx, rcx
mov qword [rax - 0x10], rbx
xchg rcx, rdx
mov r8, rcx
xchg rcx, rdx
xchg rsi, rbx
mov qword [rax - 0x20], rbx
xchg rbx, rsi
lea rbx, [0x140000000]
xchg rsi, rsi
xchg r8, r14
mov qword [rax - 0x38], r8
xchg r14, r8
xchg rcx, rdi
mov rcx, rdi
xchg rdi, rcx
mov qword [rax - 0x40], r15
xchg r12, r12
xor eax, eax
mov edx, eax
mov ecx, edx
mov rbx, rbx
mov eax, 0x47d8fa21
add eax, 0x2cd0ecf8
add eax, 0x32c8c1d
sub eax, 0xb1df574
xor eax, 0x359c20f7
rol eax, cl
mov dword [rsp - 0x24], 0x1fdd5483
xor al, byte [rdx + rbx + 0x1520]
mov byte [rsp + rdx + 0x10], al
inc rdx
mov rdi, rdi
cmp rdx, 0x211
jb 0x14003a164
xor dl, dl
lea r11, [rsp + 0x10]
xchg r13, r13
xor r14b, r14b
mov byte [rsp], dl
xchg rdi, rdx
mov r9, rdx
xchg rdx, rdi
mov dword [rsp + 0x298], r14d
mov dword [rsp - 0x28], ebp
xor eax, eax
mov rdi, r8
mov ecx, 0x725eedba
sub ecx, 0x3d4303ee
sub ecx, 0x2747fb2c
add ecx, 0x951de9
sub ecx, 0xe690c64
mov r10b, 0x63
sub r10b, 0x30
add r10b, 0x32
xor r10b, 0x1c
sub r10b, 0x69
rep stosb byte [rdi], al
nop word [rax + rax]
movzx edi, byte [r9]
mov rdx, rdx
inc r9
lea eax, [rdi - 0x26]
cmp eax, 0xcd
mov rsi, rsi
ja case.0x14003a241.44
cdqe
movzx eax, byte [rbx + rax + 0x3ae39]
mov ecx, dword [rbx + rax*4 + 0x3ae1d]
xchg rbp, rbp
add rcx, rbx
jmp rcx
mov byte [r8 + 1], dil
mov al, 0x73
sub al, 0x1f
xor al, 0x51
add al, 0x1d
sub al, 0x1e
jmp 0x14003a2af
mov byte [r8 + 1], dil
xchg r10, r10
mov al, 0xb
add al, 0x62
sub al, 0x53
add al, 0x44
sub al, 0x5c
jmp 0x14003a2af
mov byte [r8 + 2], dil
mov al, 0x43
add al, 0xc
sub al, 0x4a
add al, 0x1b
jmp 0x14003a2af
mov byte [r8 + 3], dil
mov al, 0x49
add al, 0x10
add al, 0x1e
xor al, 0x37
jmp 0x14003a2af
mov byte [r8 + 4], dil
mov al, 0x5e
sub al, 1
add al, 1
sub al, 0x5e
xor al, 8
jmp 0x14003a2af
mov byte [r8 + 5], dil
mov al, 0x2c
sub al, 0x2c
xor al, 0x13
add al, 0x5f
xor al, 0x62
or dl, al
add r10b, 0xff
mov r9, r9
jne 0x14003a20f
movzx eax, dl
mov ebx, 0x503de5a9
sub ebx, 0x43a7d302
xor ebx, 0x73dad305
sub ebx, 0x7f4cc1a1
xchg rbp, rbx
mov qword [rsp + 0x260], rbx
xchg rbx, rbp
mov ecx, ebx
movzx r10d, dl
mov dword [rsp - 0x44], 0x23baa74b
shl r10d, 0xf
shl r10d, 6
shl r10d, 1
shl r10d, 1
test dl, dl
mov r12, r12
mov qword [rsp + 0x250], r12
xchg r13, r10
mov qword [rsp + 0x248], r10
xchg r10, r13
cmovne ecx, eax
mov dword [r8 + 0x21], r10d
mov dword [rsp - 0x24], ebp
movzx eax, dil
and al, 0xf0
cmp al, 0x40
jne 0x14003a3db
xchg rbx, rbx
bts r10d, 0x1e
movzx eax, dil
shr al, 3
and al, bl
xchg r8, r8
mov dword [r8 + 0x21], r10d
mov byte [r8 + 7], al
je 0x14003a377
xchg r9, r9
movzx eax, byte [r9]
and al, 0xf8
movzx r14d, r14b
cmp al, 0xb8
mov dword [rsp - 0x14], ebp
cmove r14d, ebx
mov dword [rsp + 0x298], r14d
movzx eax, dil
mov dword [rsp - 0x34], 0x466f7490
shr al, 1
shr al, 1
and al, bl
mov byte [r8 + 8], al
mov r14, r14
movzx eax, dil
shr al, 1
and dil, bl
mov dword [rsp - 0x28], ecx
and al, bl
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
movzx edi, byte [r9]
mov r11, r11
inc r9
movzx eax, dil
and al, 0xf0
mov dword [rsp - 0x28], 0x2cad48dc
cmp al, 0x40
jne 0x14003a3db
movzx r12d, dil
mov dword [rsp - 0x28], 0x2c22034
movzx ebx, cl
jmp 0x14003a480
mov byte [r8 + 0xb], dil
movzx ebx, cl
xchg r11, r11
cmp dil, 0xf
jne 0x14003a40f
movzx edi, byte [r9]
mov rsp, rsp
lea r11, [rsp + 0x5a]
mov byte [r8 + 0xc], dil
inc r9
mov dword [rsp - 0x44], 0x13d3f8a8
jmp 0x14003a44b
cmp dil, 0xa0
mov rbp, rbp
jb 0x14003a44b
cmp dil, 0xa3
ja 0x14003a44b
inc r14b
xchg r13, r13
mov dword [rsp + 0x298], r14d
test cl, 0x10
je 0x14003a448
or bl, 8
xchg rdx, rdx
jmp 0x14003a44b
and bl, 0xf7
movzx edx, dil
movzx r12d, dil
mov dword [rsp - 0x40], 0x563b249a
mov eax, edx
and edx, 3
shr rax, 2
mov rdi, rdi
movzx eax, byte [rax + r11]
add rax, r11
movzx esi, byte [rdx + rax]
mov rdi, rdi
cmp sil, 0xff
jne 0x14003a4c7
or r10d, 0x3000
mov dword [rsp - 0x20], ebx
movzx eax, dil
and eax, 0xfffffffd
mov dword [r8 + 0x21], r10d
xor sil, sil
mov dword [rsp - 0x34], edi
cmp al, 0x24
jne 0x14003a4c7
mov sil, 0x64
add sil, 1
add sil, 0
sub sil, 0x39
sub sil, 0x2b
movzx r13d, dil
mov r11, r11
xor bpl, bpl
jmp 0x14003a4f0
xor bpl, bpl
movzx r13d, dil
test sil, sil
mov rdi, rdi
jns 0x14003a4f0
movzx eax, sil
and eax, 0x7f
movzx esi, word [rax + r11]
mov r13, r13
movzx ebp, si
shr bp, 8
movzx r15d, byte [r8 + 0xc]
mov r11d, r10d
mov r8, r8
test r15b, r15b
je 0x14003a543
movzx edx, dil
xchg rsi, rsi
mov eax, edx
and edx, 3
shr rax, 1
shr rax, 1
movzx ecx, byte [rsp + rax + 0x14c]
lea rax, [rsp + 0x14c]
mov r13, r13
add rax, rdx
test byte [rax + rcx], bl
je 0x14003a543
or r11d, 0x3000
xchg rsp, rsp
mov dword [r8 + 0x21], r11d
test sil, 1
je 0x14003abc2
mov dword [rsp - 0x24], 0x66480f11
or r11d, 1
mov dword [r8 + 0x21], r11d
mov edi, r11d
mov r14, r14
movzx r14d, byte [r9]
movzx edx, r14b
mov byte [r8 + 0xd], r14b
mov dword [rsp - 0x2c], 0x634a05bc
movzx ecx, r14b
shr dl, 2
shr dl, 4
and cl, 7
mov dword [rsp - 0x1c], 0x26d59972
shr r14b, 3
and r14b, 7
mov byte [rsp + 0x290], dl
xchg r14, r14
mov byte [r8 + 0xe], dl
mov byte [rsp + 0x288], cl
mov byte [r8 + 0x10], cl
mov rcx, rcx
mov byte [r8 + 0xf], r14b
test bpl, bpl
je 0x14003a5ef
movzx ecx, r14b
mov dword [rsp - 0x24], 0x5b3a6553
movzx eax, bpl
shl eax, cl
movzx ecx, byte [rsp + 0x288]
mov r9, r9
test al, al
jns 0x14003a5ef
or edi, 0x3000
mov dword [r8 + 0x21], edi
xchg r15, r15
mov eax, edi
test r15b, r15b
jne 0x14003a67e
cmp r12b, 0xd9
mov r14, r14
jb 0x14003a67e
cmp r12b, 0xdf
ja 0x14003a67e
lea eax, [r12 + 0x27]
mov rcx, rcx
movzx r10d, al
cmp dl, 3
jne 0x14003a64f
movzx eax, r14b
mov dword [rsp - 0x28], edx
lea rdx, [rsp + 0x114]
add rdx, rax
movzx r10d, byte [rdx + r10*8]
mov dword [rsp - 0x1c], ebx
movzx edx, byte [rsp + 0x290]
jmp 0x14003a664
movzx r10d, byte [rsp + r10 + 0x10d]
movzx ecx, r14b
mov dword [rsp - 0x38], 0x35023b53
shl r10b, cl
mov eax, edi
test r10b, r10b
mov r9, r9
jns 0x14003a67e
or eax, 0x3000
mov dword [r8 + 0x21], eax
test bl, 0x20
mov dword [rsp - 0x44], 0x61cb5c1f
je 0x14003a73d
cmp dl, 3
jne 0x14003a6aa
mov dword [rsp - 0x20], esp
or eax, 0x9000
mov dword [r8 + 0x21], eax
jmp 0x14003a73d
movzx edx, r12b
xchg rdx, rdx
test r15b, r15b
jne 0x14003a6da
and dl, 0xfe
lea rdi, [rsp + 0x1d6]
mov dword [rsp - 0x18], 0x3a89a042
lea rcx, [rsp + 0x1be]
jmp 0x14003a6f3
lea rdi, [rsp + 0x1e8]
lea rcx, [rsp + 0x1d6]
nop
mov dword [rsp - 0x44], 0x6b32813c
cmp byte [rcx], dl
je 0x14003a71b
nop
add rcx, 0x272d7f7b
sub rcx, 0x272d7f79
cmp rcx, rdi
mov rdi, rdi
jne 0x14003a6f3
jmp 0x14003a735
movzx eax, byte [rcx + 1]
movzx ecx, r14b
shl eax, cl
mov dword [rsp - 0x44], 0x7def99ec
test al, al
jns 0x14003a73d
or dword [r8 + 0x21], 0x9000
movzx ecx, r13b
mov r9, r9
mov edx, ecx
test r15b, r15b
je 0x14003a7d5
mov dword [rsp - 0x40], 0x7456aac1
sub edx, 0x20
je 0x14003a7a9
sub edx, 1
je 0x14003a782
mov r9, r9
sub edx, 1
je 0x14003a7a9
cmp edx, 1
jne 0x14003a7ed
mov dword [rsp - 0x1c], ebx
lea eax, [r14 - 4]
mov dil, 0x6e
sub dil, 0xe
add dil, 0x11
xor dil, 0x28
xor dil, 0x5a
cmp al, 1
xchg rcx, rcx
ja 0x14003a94d
jmp 0x14003a945
mov dil, 0x60
sub dil, 0x3e
add dil, 0x10
xor dil, 0x31
cmp r14b, 4
ja 0x14003a945
mov dword [rsp - 0x3c], esi
cmp r14b, 1
jne 0x14003a94d
jmp 0x14003a945
sub edx, 0x8c
mov rbx, rbx
je 0x14003a930
cmp edx, 2
je 0x14003a911
movzx edi, byte [rsp + 0x290]
mov dword [rsp - 0x20], 0x243fdf8f
cmp dil, 3
jne 0x14003a8ad
test r15b, r15b
je 0x14003a841
mov dword [rsp - 0x34], 0x9256dd6
lea rdx, [rsp + 0x221]
lea rax, [rsp + 0x1f7]
lea rcx, [rsp + 0x1f7]
xchg r12, r12
cmp rax, rdx
je 0x14003a94d
jmp 0x14003a85a
lea rdx, [rsp + 0x1f7]
lea rcx, [rsp + 0x1e8]
nop
mov dword [rsp - 0xc], 0x64ad29ba
cmp byte [rcx], r12b
je 0x14003a87d
sub rcx, 0xfffffffffffffffd
cmp rcx, rdx
mov dword [rsp - 0xc], 0x52570346
jne 0x14003a85a
jmp 0x14003a94d
test byte [rcx + 1], bl
mov dword [rsp - 0x40], 0x1832b0d0
je 0x14003a94d
movzx eax, byte [rcx + 2]
movzx ecx, r14b
mov dword [rsp - 0x30], 0x2d0a8e1e
shl eax, cl
test al, al
jns 0x14003a945
jmp 0x14003a94d
test r15b, r15b
je 0x14003a94d
mov dword [rsp - 0x44], 0x2afe3443
sub ecx, 0x50
je 0x14003a8f2
sub ecx, 0x75
je 0x14003a945
mov rbp, rbp
sub ecx, 0x11
je 0x14003a903
sub ecx, 1
je 0x14003a8f2
mov dword [rsp - 0x2c], esi
cmp ecx, 0x20
jne 0x14003a94d
test bl, 9
mov rbx, rbx
jne 0x14003a945
jmp 0x14003a94d
test bl, 6
jne 0x14003a945
jmp 0x14003a94d
movzx edi, byte [rsp + 0x290]
cmp r14b, 1
je 0x14003a945
mov dword [rsp - 0x30], 0x21b035c
jmp 0x14003a938
movzx edi, byte [rsp + 0x290]
cmp r14b, 5
jbe 0x14003a94d
mov rbp, rbp
or dword [r8 + 0x21], 0x11000
movzx edx, byte [r9 + 1]
add r9, 2
cmp r14b, 1
mov r14, r14
ja 0x14003a98f
cmp r12b, 0xf6
jne 0x14003a979
or sil, 2
mov rdx, rdx
jmp 0x14003a98f
cmp r12b, 0xf7
mov dword [rsp - 0x3c], 0x6ee2e061
jne 0x14003a98f
or sil, 0x10
movzx ecx, dil
mov r11d, 0x7e2a52be
xor r11d, 0x52d1c289
add r11d, 0x2194459a
xor r11d, 0x4e8fd5d5
test dil, dil
mov dword [rsp - 0x38], esp
je 0x14003aa1c
sub ecx, 1
je 0x14003aa00
cmp ecx, 1
mov r11, r11
movzx ecx, byte [rsp + 0x288]
jne 0x14003aa94
mov r10b, 0
xor r10b, 0x68
sub r10b, 0x1c
sub r10b, 0x31
xor r10b, 0x19
test bl, 0x10
xchg r12, r12
jne 0x14003aa98
movzx r10d, r11b
jmp 0x14003aa98
movzx ecx, byte [rsp + 0x288]
mov r10b, 0x13
add r10b, 0x31
sub r10b, 0x12
sub r10b, 0x31
jmp 0x14003aa98
movzx ecx, byte [rsp + 0x288]
mov dword [rsp - 0x3c], ebx
test bl, 0x10
je 0x14003aa80
cmp cl, 6
pushf
mov r10d, 0x62b23eb7
sub r10d, 0x414de140
xor r10d, 0x5b8ca7b7
xor r10d, 0x90c583f
sub r10d, 0x73e4a2fd
popf
pushf
mov eax, 0x2ce89ba8
xor eax, 0x74fd0743
add eax, 0x221ff460
sub eax, 0x58aac856
sub eax, 0x218ac8f5
popf
cmovne r10d, eax
jmp 0x14003aa98
movzx r10d, byte [rsp]
cmp cl, 5
xchg r8, r8
cmove r10d, r11d
jmp 0x14003aa98
mov r10d, dword [rsp]
cmp dil, 3
je 0x14003ab0b
mov r15, r15
cmp cl, r11b
jne 0x14003ab0b
or dword [r8 + 0x21], 2
mov rsp, rsp
movzx eax, dl
shr al, 4
shr al, 1
shr al, 1
inc r9
mov dword [rsp - 0x1c], 0x248039cd
mov byte [r8 + 0x12], al
movzx eax, dl
shr al, 1
shr al, 1
shr al, 1
and al, 7
mov dword [rsp - 0x24], ecx
mov byte [r8 + 0x11], dl
and dl, 7
mov byte [r8 + 0x13], al
xchg r9, r9
mov byte [r8 + 0x14], dl
cmp dl, 5
jne 0x14003ab0b
mov r15, r15
test dil, 1
movzx r10d, r10b
cmove r10d, r11d
xchg rsp, rsp
dec r9
movzx ecx, r10b
sub ecx, 1
mov rdx, rdx
je 0x14003ab96
sub ecx, 1
je 0x14003ab61
mov r10, r10
cmp ecx, 2
jne 0x14003aba6
or dword [r8 + 0x21], 0x100
mov eax, dword [r9]
mov dword [rsp - 0x10], 0x2a1d0578
mov r14d, dword [rsp + 0x298]
mov dword [r8 + 0x1d], eax
movzx eax, r10b
xchg rsp, rsp
add r9, rax
jmp 0x14003abde
or dword [r8 + 0x21], 0x80
movzx eax, word [r9]
mov r14d, dword [rsp + 0x298]
mov dword [rsp - 0x28], 0x47dfc4c5
mov word [r8 + 0x1d], ax
movzx eax, r10b
add r9, rax
mov dword [rsp - 0x30], 0x1cc67908
jmp 0x14003abde
or dword [r8 + 0x21], 0x40
movzx eax, byte [r9]
mov byte [r8 + 0x1d], al
mov r13, r13
mov r14d, dword [rsp + 0x298]
movzx eax, r10b
add r9, rax
mov dword [rsp - 0x30], 0x60b5779f
jmp 0x14003abde
test bl, 0x20
je 0x14003abde
or r11d, 0x9000
mov dword [rsp - 0x3c], 0x7edc1e44
mov dword [r8 + 0x21], r11d
xchg r15, r14
mov r14, qword [rsp + 0x238]
xchg r15, r14
xchg r15, r13
mov r15, qword [rsp + 0x248]
xchg r13, r15
mov r12, qword [rsp + 0x250]
xchg rbx, rbp
mov rbx, qword [rsp + 0x260]
xchg rbx, rbp
test sil, 0x10
mov dword [rsp - 0x28], 0x61c954ce
je 0x14003acc1
test sil, 0x40
je 0x14003ac69
test bl, 8
mov dword [rsp - 0xc], 0x553e3f69
je 0x14003ad25
or dword [r8 + 0x21], 0x208
movzx eax, word [r9]
xchg rbp, rbp
nop
add r9, 0xce1e194
sub r9, 0xce1e192
mov word [r8 + 0x15], ax
mov dword [rsp - 0x44], ebx
jmp 0x14003ad6e
test r14b, r14b
je 0x14003ac95
or dword [r8 + 0x21], 0x20
xchg r9, r9
mov rax, qword [r9]
nop
sub r9, 0x717a5c19
add r9, 0x717a5c21
mov qword [r8 + 0x15], rax
jmp 0x14003acc1
test bl, 8
jne 0x14003acce
mov dword [rsp - 0x10], 0x31b9435c
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
nop
add r9, 0x19e45997
sub r9, 0x19e45993
mov dword [r8 + 0x15], eax
test sil, 4
xchg rsp, rsp
je 0x14003acf6
or dword [r8 + 0x21], 8
movzx eax, word [r9]
mov dword [rsp - 0xc], 0x58200bf9
nop
sub r9, 0x558392b2
add r9, 0x558392b4
mov word [r8 + 0x15], ax
mov r10, r10
test sil, 2
je 0x14003ad1b
or dword [r8 + 0x21], 4
mov dword [rsp - 0x30], 0x40d7a11
movzx eax, byte [r9]
inc r9
mov byte [r8 + 0x15], al
xchg rdx, rdx
test sil, 0x40
je 0x14003ad45
or dword [r8 + 0x21], 0x210
mov dword [rsp - 0x28], 0xa4365f5
mov eax, dword [r9]
sub r9, 0xfffffffffffffffc
mov dword [r8 + 0x15], eax
jmp 0x14003ad6e
test sil, 0x20
je 0x14003ad6e
mov dword [rsp - 0x38], esi
or dword [r8 + 0x21], 0x204
movzx eax, byte [r9]
inc r9
mov byte [r8 + 0x15], al
mov dword [rsp - 0x38], 0x5d6b9a7c
sub r9b, byte [rsp + 0x280]
xchg r14, rsi
mov rsi, qword [rsp + 0x240]
xchg r14, rsi
mov rsi, qword [rsp + 0x258]
xchg r14, rbx
mov r14, qword [rsp + 0x268]
xchg rbx, r14
mov byte [r8], r9b
mov dword [rsp - 0x18], edx
cmp r9b, 0xf
jbe 0x14003add2
or dword [r8 + 0x21], 0x5000
mov r9b, 0xb
sub r9b, 9
add r9b, 0x7b
xor r9b, 0x72
mov byte [r8], 0x10
add byte [r8], 0x36
add byte [r8], 0x11
sub byte [r8], 0x48
xor eax, eax
mov dword [rsp - 0x38], 0x36de97ca
lea rdi, [rsp + 0x10]
mov ecx, 0x5a63f898
xor ecx, 0x73ccfeaf
sub ecx, 0x25c32217
xor ecx, 0x78141808
xor ecx, 0x7bfffe39
rep stosb byte [rdi], al
mov dword [rsp - 0x28], ecx
movzx eax, r9b
neg rsp
add rsp, 0xfffffffffffffd90
neg rsp
pop rdi
mov dword [rsp - 0x24], ebx
ret