Function at 0x14000c1b8
Capabilities:
Authenticate hmac

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov rax, qword [0x1400399a8]
xor rax, rsp
mov qword [rbp + 0x2f], rax
movzx eax, byte [0x14003918b]
mov rbx, rcx
mov dword [rbp - 0x35], eax
mov rsi, rdx
mov eax, dword [0x140039280]
mov r12b, 0xaf
mov dword [rbp - 0x3d], eax
mov r13b, 0x8e
mov eax, 0x43
mov dword [rbp - 9], 0x5d1a
mov word [rbp - 0x55], ax
movzx eax, word [0x1400392a0]
mov dword [rbp - 0x19], eax
movzx eax, byte [0x14003919f]
movzx r14d, word [0x140039280]
mov dword [rbp - 0x41], eax
mov rax, qword [0x1400392c0]
mov word [rbp - 0x39], ax
mov eax, 0xdf
mov word [rbp - 0x49], ax
mov rax, qword [0x1400392d0]
movzx eax, word [0x140039294]
mov byte [rbp - 0x59], 0xd6
mov word [rbp - 0x21], ax
mov al, byte [0x1400392b8]
mov byte [rbp - 0x4f], al
mov dword [rbp - 0x2d], 0x95
mov dword [rbp - 0x2d], 0x61
movsxd rax, dword [0x140039288]
mov qword [rbp - 0x11], rax
movzx eax, word [0x1400392cc]
mov word [rbp - 0x45], ax
mov al, byte [0x14003918c]
mov byte [rbp - 0x57], al
mov rax, qword [0x1400392d0]
mov al, byte [0x14003919f]
mov eax, dword [0x140039298]
mov qword [rbp - 0x11], 0x5558b568
mov dword [rbp - 0x2d], eax
mov dword [rbp - 0x2d], 0xb9e5acc0
movsx rax, byte [0x1400391c6]
mov qword [rbp - 0x11], rax
movsx rax, word [0x1400392cc]
mov qword [rbp - 0x11], rax
movsx eax, word [0x140039248]
mov dword [rbp - 0x2d], 0xdd4d72d3
mov dword [rbp - 0x2d], eax
movzx ecx, byte [0x14003918d]
mov rax, qword [0x140039270]
sub rcx, rax
mov dword [rbp - 0x1d], 0xe54732ea
mov rax, qword [0x140039270]
add rax, rcx
mov byte [rbp - 0x58], 0x31
mov qword [0x140039270], rax
mov eax, dword [0x1404ea870]
mov dword [rbp - 0x45], eax
mov eax, dword [rbp - 0x45]
movsx r15, word [0x1400392cc]
add eax, 0x356
mov dword [rbp - 0x2d], eax
mov eax, dword [0x1400392c8]
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x45]
add eax, 0x1b2
mov dword [rbp - 0x2d], eax
mov rcx, qword [0x140039268]
movsx rax, word [0x140039248]
xor rcx, rax
mov qword [0x140039268], rcx
movzx eax, byte [0x14003918e]
movsx r8d, word [0x1400392cc]
mov edi, eax
neg eax
mov dword [rbp - 0x29], eax
mov al, byte [0x140039260]
inc al
movsx edx, al
imul edx, r8d
or r8w, dx
mov word [0x1400392cc], r8w
mov eax, dword [rbp - 0x45]
mov edx, 0xffffffaf
add eax, 0x3ad
mov r8d, 0x91
mov dword [rbp - 0x25], eax
mov eax, dword [rbp - 0x41]
movzx ecx, word [0x1400392a8]
add eax, 0xffffff8e
imul ecx, eax
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
lea r9d, [rax + 0x10]
not ecx
mov dword [0x1400392ac], ecx
movsx ecx, word [rbp - 0x49]
call fcn.14000d834
xor r10d, r10d
mov dword [rbp - 0x15], eax
mov r9d, eax
test eax, eax
je 0x14000c43d
mov ecx, dword [0x14003924c]
add ecx, 0x164ac647
je 0x14000c3f8
lea ecx, [r10 + 0x69]
sub cl, dil
mov byte [0x14003918c], cl
jmp 0x14000c43d
cmp dword [0x1400391fc], r10d
je 0x14000c41a
movzx eax, byte [rbp - 0x59]
mov ecx, dword [rbp - 0x41]
imul ecx, eax
mov al, byte [0x14003918e]
xor al, 0xac
add al, cl
mov byte [rbp - 0x59], al
jmp 0x14000c43d
mov eax, 0xb6ed84ce
cmp qword [0x1400392b8], rax
jae 0x14000c43d
movzx ecx, word [0x1400392a0]
add rcx, 0x16cf65da
mov qword [0x140039230], rcx
mov al, byte [0x14003918c]
test al, al
mov rax, qword [0x140039238]
jne 0x14000c455
movzx eax, word [0x140039278]
mov word [rbp - 0x39], ax
mov r8d, r10d
mov ecx, dword [str.X__v7]
mov edi, 8
mov eax, dword [0x140039288]
imul ecx, eax
mov qword [0x140039280], 0x5b
mov dword [str.X__v7], ecx
mov al, byte [0x14003918d]
lea edx, [r8*4]
mov al, byte [rdx + rsi]
inc r8d
mov byte [rdx + rbx], al
lea eax, [rdx + 1]
mov ecx, eax
mov al, byte [rax + rsi]
mov byte [rcx + rbx], al
lea eax, [rdx + 2]
mov ecx, eax
mov al, byte [rax + rsi]
mov byte [rcx + rbx], al
lea eax, [rdx + 3]
mov ecx, eax
mov al, byte [rax + rsi]
mov byte [rcx + rbx], al
cmp r8d, edi
jb 0x14000c481
movsx rcx, word [0x140039294]
movabs rax, 0xfff06e8e8114a146
add rax, rcx
mov qword [rbp - 0x11], rdi
add rax, r15
mov r15b, byte [rbp - 0x57]
mov qword [rbp - 1], rax
movzx eax, word [rbp - 0x55]
add ax, word [0x140714fb6]
mov word [rbp - 0x55], ax
movzx eax, word [rbp - 0x55]
test ax, ax
je 0x14000c51d
movzx eax, byte [0x14003918e]
mov edx, dword [rbp - 0x35]
add edx, eax
mov eax, dword [rbp - 0x35]
add eax, edx
mov dword [rbp - 0x35], eax
movsx ecx, byte [rbp - 0x4f]
movzx eax, word [rbp - 0x49]
sub cl, al
mov byte [rbp - 0x4f], cl
jmp 0x14000c529
mov ecx, dword [rbp - 0x1d]
mov eax, dword [rbp - 0x3d]
lea ecx, [rax + rcx*2]
mov dword [rbp - 0x1d], ecx
mov eax, dword [0x14003924c]
mov rdx, r10
test eax, eax
movabs rcx, 0xfffe09249e732f02
movsx rax, r12b
sete dl
imul rax, rcx
mov rcx, r10
sub rdx, rax
mov eax, dword [0x140039288]
test eax, eax
movsxd rax, dword [0x140039288]
sete cl
sub rdx, rcx
sub rdx, rax
mov rax, r10
add rdx, qword [0x140039298]
sete al
mov qword [0x140039268], rax
mov eax, dword [0x1404ea870]
mov dword [rbp - 0x45], eax
mov esi, dword [0x140039288]
movzx eax, word [0x14071a8fa]
mov word [0x140039290], ax
mov eax, dword [rbp - 0x45]
add eax, 0x279
mov dword [rbp - 0x25], eax
mov rax, qword [0x140039270]
test rax, rax
jne 0x14000c5de
movsx eax, word [0x1400392d8]
not eax
cmp eax, dword [0x1400392c8]
jne 0x14000c5de
movsx ecx, word [0x140039294]
mov eax, dword [rbp - 0x41]
and eax, ecx
mov dword [rbp - 0x41], eax
mov rax, qword [0x140039268]
add al, 0x23
mov byte [0x14003919e], al
mov eax, dword [rbp - 0x45]
add eax, 0x2a
mov dword [rbp - 0x25], eax
mov rcx, qword [0x1400392d0]
movsxd rax, r9d
cmp rcx, rax
jb 0x14000c60b
movzx ecx, word [rbp - 0x55]
movzx edx, word [rbp - 0x55]
add edx, ecx
add dx, word [0x1400392d8]
mov word [rbp - 0x55], dx
mov eax, dword [rbp - 0x45]
mov r8d, 0xc6
movzx r9d, word [rbp - 0x19]
add eax, 0x275
mov dword [rbp - 0x25], eax
mov eax, dword [rbp - 0x3d]
movzx edx, word [0x1400392d8]
mov word [rsp + 0x30], r10w
mov word [rsp + 0x28], ax
lea eax, [r8 - 0x35]
movsx ecx, r13b
mov word [rsp + 0x20], ax
call fcn.14000da00
xor r8d, r8d
mov word [rbp - 0x45], ax
test al, al
je 0x14000c6bc
movsx ecx, word [rbp - 0x49]
cmp dword [0x14003925c], ecx
jne 0x14000c66b
mov qword [0x140039238], r8
jmp 0x14000c6eb
mov rax, qword [0x1400392c0]
test rax, rax
je 0x14000c69f
cmp byte [rbp - 0x58], r8b
jne 0x14000c69f
movzx eax, word [rbp - 0x55]
movabs rcx, 0xfff0a6a21e4e6cf0
imul rax, rcx
mov dword [rbp - 0x29], 0x2da61ef9
add qword [0x140039240], rax
jmp 0x14000c6eb
test esi, esi
je 0x14000c6eb
movsx ecx, byte [0x1400391c6]
mov eax, dword [0x1400391fc]
add ecx, eax
and eax, ecx
mov dword [0x1400391fc], eax
jmp 0x14000c6eb
mov edx, dword [rbp - 0x3d]
mov eax, r8d
sub edx, dword [0x14003925c]
cmp dword [rbp - 0x29], r8d
not edx
sete al
add edx, eax
movsx eax, byte [0x14003918c]
sub edx, eax
mov dword [0x1400392ac], edx
mov eax, dword [rbp - 0x3d]
sub eax, 0x5c
mov dword [rbp - 0x19], eax
mov eax, dword [0x1404ea870]
mov dword [rbp - 0x4d], eax
mov rcx, qword [0x140039268]
call fcn.14000db44
movsx ecx, ax
movzx eax, word [rbp - 0x39]
mov dword [0x14003928c], ecx
cmp word [rbp - 0x21], ax
ja 0x14000c78c
mov ecx, 0x63
call fcn.14000db44
movsx rcx, ax
xor edx, edx
mov qword [0x140039238], rcx
test rcx, rcx
jne 0x14000c756
movzx eax, word [rbp - 0x49]
test ax, ax
jne 0x14000c73e
mov byte [rbp - 0x58], 0xe0
jmp 0x14000c7af
mov eax, dword [0x140039250]
add eax, 0x4827
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x35]
sub al, 0x40
mov byte [rbp - 0x4f], al
jmp 0x14000c7af
movzx eax, word [rbp - 0x55]
test ax, ax
jne 0x14000c777
mov eax, dword [0x140039258]
test eax, eax
jne 0x14000c777
cmp word [0x1400392cc], dx
je 0x14000c7af
mov dword [rbp - 0x41], esi
jmp 0x14000c7af
mov eax, 0x6e06
add ax, word [0x140039280]
mov word [0x1400392a4], ax
jmp 0x14000c7af
movzx eax, word [0x1400392a0]
imul eax, dword [rbp - 0x1d]
cdqe
mov qword [0x140039238], rax
movsx eax, r13b
sub eax, 0x2672a99e
mov dword [0x140039288], eax
mov eax, dword [rbp - 0x4d]
lea rcx, [rbp + 7]
movups xmm0, xmmword [str.Credential_info_do]
add eax, 0x211
movups xmm1, xmmword [0x14002a630]
mov dword [rbp - 0x31], eax
mov eax, dword [0x14002a640]
mov dword [rbp + 0x27], eax
movzx eax, word [0x14002a644]
mov word [rbp + 0x2b], ax
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov eax, dword [rbp - 0x4d]
mov qword [0x140039250], rcx
add eax, 0x44
mov dword [rbp - 0x31], eax
mov ecx, 0x3d1
movsx eax, word [0x1400392cc]
sub eax, 0xf6
mov dword [0x14003925c], eax
mov al, byte [rbp - 0x59]
inc al
mov byte [rbp - 0x59], al
sub rcx, 1
jne 0x14000c806
mov eax, dword [rbp - 0x4d]
add eax, 0x132
mov dword [rbp - 0x4d], eax
mov ecx, dword [rbp - 0x4d]
mov eax, dword [rbp - 0x4d]
sub ecx, eax
mov eax, dword [rbp - 0x31]
cmp eax, ecx
je 0x14000cf32
mov eax, dword [0x1404ea870]
xor r10d, r10d
mov qword [0x1400392c0], rax
movzx eax, word [0x140039278]
test ax, ax
je 0x14000c917
movsx r8d, word [0x140039248]
mov edx, dword [0x140039250]
mov ecx, dword [rbp - 0x3d]
call fcn.14000d730
mov dword [rbp - 0x35], eax
xor r10d, r10d
mov eax, dword [rbp - 0x35]
test eax, eax
je 0x14000c8af
movsx rax, word [0x1400392cc]
mov rcx, qword [0x1400392c0]
and rcx, rax
mov rax, qword [0x1400392c0]
or rax, rcx
mov qword [0x1400392c0], rax
jmp 0x14000c93d
cmp dword [rbp - 0x19], r10d
mov rax, r10
movzx r8d, byte [0x14003919e]
mov rcx, r10
sete cl
mov edx, r10d
cmp word [0x1400392a4], r10w
sete al
add rcx, rax
mov rax, qword [0x1400392d0]
sub r8, rax
movzx eax, word [rbp - 0x49]
imul r8, rcx
test ax, ax
movsx ecx, r12b
movsx eax, word [0x1400392d8]
not ecx
cmove edx, ecx
not r8
xor eax, 0x310bd842
mov ecx, r10d
add eax, edx
sete cl
xor cx, r8w
mov word [0x1400392a0], cx
jmp 0x14000c93d
movzx ecx, byte [0x14003918e]
movsx eax, r12b
cmp ecx, eax
jle 0x14000c93d
movzx r12d, word [rbp - 0x39]
mov al, byte [0x14003919f]
add r12b, 0x1e
dec al
mov byte [0x14003919f], al
movzx eax, word [rbp - 0x55]
mov edx, r10d
cmp rax, qword [0x140039298]
mov ecx, r10d
movzx eax, word [rbp - 0x55]
sete dl
cmp ax, 0x36
sete cl
cmp edx, ecx
jbe 0x14000ca79
mov byte [rbp - 0x59], 3
mov eax, dword [rbp - 0x41]
movzx ecx, byte [0x14003918f]
add eax, 0x6989
add qword [rbp - 1], rax
mov eax, 0xdc2c44c4
sub eax, ecx
movzx ecx, byte [rbp - 0x59]
add dword [0x1400391fc], eax
test ecx, ecx
je 0x14000ca5f
sub ecx, 1
je 0x14000ca4b
sub ecx, 1
je 0x14000c9b8
mov r9b, byte [rbp - 0x58]
cmp ecx, 1
jne 0x14000c9d1
mov eax, dword [rbp - 0x41]
imul ecx, eax, 0x35e83dc8
add esi, ecx
jmp 0x14000c9d1
movzx eax, word [0x140850c08]
sub word [0x140039290], ax
mov dword [rbp - 0x29], 0x6192af81
mov r9b, byte [rbp - 0x58]
mov eax, dword [0x1404ea870]
mov dword [rbp - 0x4d], eax
mov eax, dword [rbp - 0x3d]
test eax, eax
mov eax, dword [rbp - 0x35]
jne 0x14000c9e7
mov eax, dword [rbp - 0x3d]
mov qword [0x1400392b0], rax
mov edx, r10d
mov eax, dword [rbp - 0x4d]
add eax, 0x140
mov dword [rbp - 0x31], eax
movsx ecx, byte [rbp - 0x4f]
mov eax, dword [0x140039288]
cmp eax, ecx
mov eax, dword [0x140039288]
mov ecx, r10d
sete dl
cmp eax, 0x2e
sete cl
cmp edx, ecx
jne 0x14000cafb
movsx r8d, word [rbp - 0x45]
movsx eax, r8b
cmp eax, esi
jne 0x14000caa9
cmp dword [0x1400392c8], r10d
mov ecx, r10d
movsx eax, r13b
cmove ecx, eax
mov dword [0x1400392ac], ecx
jmp 0x14000cb00
movzx eax, word [0x140039278]
sub al, 0x42
mov byte [0x14003918d], al
jmp 0x14000c9cd
movzx ecx, byte [rbp - 0x59]
dec r13b
movzx eax, byte [rbp - 0x59]
sub ecx, eax
mov al, byte [rbp - 0x59]
and al, cl
mov byte [rbp - 0x59], al
jmp 0x14000c9cd
mov rax, qword [0x1400392d0]
test rax, rax
je 0x14000c9cd
movsx r9d, byte [rbp - 0x58]
imul esi, dword [0x1400392c8], 0xc15939f0
mov eax, r9d
shl eax, 6
mov dword [0x1400391fc], eax
jmp 0x14000c9d1
movzx ecx, word [rbp - 0x39]
mov eax, dword [0x140039258]
cmp ecx, eax
jl 0x14000cb00
mov rdx, qword [0x1400392d0]
movsx rcx, byte [0x1400391c6]
movsx rax, r9b
add rdx, rax
mov eax, dword [rbp - 0x15]
and rcx, rdx
not eax
test qword [0x140039298], rcx
mov rdx, r10
movzx ecx, byte [0x14003919e]
sete dl
imul ecx, dword [0x140039230]
not ecx
or ecx, eax
add ecx, edx
mov dword [rbp - 0x35], ecx
jmp 0x14000cb00
movzx r8d, word [rbp - 0x45]
mov eax, dword [rbp - 0x4d]
add eax, 0x380
mov dword [rbp - 0x45], eax
mov eax, dword [rbp - 0x4d]
add eax, 0x30f
mov dword [rbp - 0x4d], eax
mov ecx, dword [rbp - 0x4d]
mov eax, dword [rbp - 0x45]
imul ecx, eax
mov eax, dword [rbp - 0x31]
add ecx, eax
mov eax, dword [rbp - 0x31]
cmp ecx, eax
je 0x14000cb65
mov eax, 0xfffff2af
lea edx, [rdi*4 - 4]
mov word [0x1400392d8], ax
lea eax, [rdx + 1]
mov r15b, byte [rdx + rbx]
mov r11b, byte [rax + rbx]
lea eax, [rdx + 2]
mov r9b, byte [rax + rbx]
lea eax, [rdx + 3]
mov r10b, byte [rax + rbx]
mov byte [rbp - 0x57], r10b
mov byte [rbp - 0x51], r11b
mov byte [rbp - 0x50], r9b
jmp 0x14000cb71
mov r10b, byte [rbp - 0x57]
mov r9b, byte [rbp - 0x50]
mov r11b, byte [rbp - 0x51]
mov eax, dword [rbp - 0x2d]
add eax, 0x2ac
cmp eax, 0x18
je 0x14000ce73
mov byte [0x14003919f], 2
xor edx, edx
mov rax, qword [0x140039270]
test rax, rax
movzx eax, word [rbp - 0x29]
not ax
sete dl
xor dx, ax
movzx eax, si
not ax
add dx, ax
movzx eax, byte [0x14003919f]
mov r14, qword [0x140039268]
sub dx, ax
movsx ecx, word [0x140039294]
not r14w
mov eax, dword [rbp - 0x3d]
add ecx, 0xbf8cceab
and eax, ecx
add r14w, dx
add r14w, word [rbp - 1]
mov dword [rbp - 0x3d], eax
movzx eax, byte [0x14003919f]
mov ecx, eax
test al, al
je 0x14000cc3b
sub ecx, 1
je 0x14000cc18
cmp ecx, 1
jne 0x14000cc5b
mov rax, qword [0x1400392b0]
mov ecx, 0x33e9
not rax
mov qword [0x140039230], rax
movzx eax, word [rbp - 0x29]
sub ax, cx
mov word [rbp - 9], ax
jmp 0x14000cc5b
movsx ecx, word [rbp - 9]
mov eax, 0xa9
cwde
imul ecx, eax
movsx eax, r8b
mov word [0x140039294], cx
imul ecx, eax, 0xf4
mov dword [rbp - 0x3d], ecx
jmp 0x14000cc5b
mov eax, dword [0x14003924c]
and ax, r14w
sub r14w, ax
mov eax, dword [0x1400392ac]
sar eax, 4
cdqe
mov qword [0x140039298], rax
test dil, 7
jne 0x14000ce73
mov al, byte [0x14003918f]
mov cl, byte [0x14003918f]
mov dl, byte [0x14003918d]
add dl, al
mov al, byte [0x140039290]
add dl, cl
and al, 0x48
mov byte [0x14003918f], dl
xor edx, edx
mov byte [0x1400391c6], al
movzx ecx, byte [0x14003918b]
mov rax, qword [0x140039270]
cmp rax, rcx
mov rax, qword [0x140039270]
setge dl
xor ecx, ecx
cmp rax, 0x50
setge cl
cmp edx, ecx
jbe 0x14000ccd4
mov eax, dword [rbp - 0x41]
imul eax, esi
mov dword [0x140039288], eax
movsx eax, word [0x1400391dc]
sub eax, 0x2dbfba7c
mov dword [rbp - 0x15], eax
mov eax, dword [0x1404ea870]
xor esi, esi
mov dword [rbp - 0x4d], eax
movzx ecx, word [rbp - 0x55]
movzx eax, word [rbp - 0x55]
sub rcx, qword [0x140039238]
and ax, cx
movsx edx, r8b
mov word [rbp - 0x55], ax
mov r8d, esi
mov eax, dword [rbp - 0x41]
mov eax, dword [rbp - 0x4d]
add eax, 0x8c
mov dword [rbp - 0x31], eax
mov eax, dword [0x1404ea870]
mov qword [0x1400392d0], rax
mov eax, dword [rbp - 0x4d]
movsx ecx, word [0x1400391dc]
add eax, 0x148
mov dword [rbp - 0x45], eax
inc ecx
mov eax, dword [rbp - 0x41]
add edx, ecx
imul eax, edx
mov edx, esi
cmp word [0x140039290], si
sete dl
mov dword [rbp - 0x3d], eax
movzx eax, byte [0x14003918f]
cmp eax, edx
movsx eax, byte [0x14003918c]
sete r8b
sub r8d, eax
movsx eax, byte [0x14003918c]
movzx edx, byte [0x14003918f]
sub r8d, eax
movsx eax, word [0x140039294]
not edx
and edx, 0xc16ddedf
xor edx, eax
imul edx, r8d
movzx r8d, r11b
mov dword [0x140039288], edx
mov eax, dword [rbp - 0x4d]
add eax, 0x17
mov dword [rbp - 0x4d], eax
mov ecx, dword [rbp - 0x31]
mov eax, dword [rbp - 0x31]
sub ecx, eax
mov eax, dword [rbp - 0x4d]
imul edx, eax, 0x3ba
or edx, ecx
mov ecx, dword [rbp - 0x4d]
mov eax, dword [rbp - 0x45]
or ecx, eax
cmp edx, ecx
movzx eax, r15b
cmove r8d, eax
movzx eax, r11b
movzx r11d, byte [rbp - 0x50]
cmove r9d, eax
movzx eax, byte [rbp - 0x57]
cmove r10d, r11d
movzx r11d, r15b
cmove r11d, eax
movzx eax, word [rbp - 0x49]
test ax, ax
je 0x14000cdff
movzx eax, word [0x140039240]
mov ecx, 0x6120
sub ax, cx
mov word [rbp - 0x49], ax
mov eax, dword [0x1404ea870]
mov qword [0x140039240], rax
jmp 0x14000ce20
mov rax, qword [0x1400392b8]
not rax
test rax, rax
je 0x14000ce20
movsx eax, r12b
sub eax, 0x347d5da2
cdqe
mov qword [0x1400392b8], rax
mov rcx, qword [rbp - 0x11]
lea rsi, [0x140000000]
movzx eax, r9b
shr rcx, 3
mov dl, byte [rax + rsi + 0x2a410]
mov r15b, byte [rcx + rsi + 0x2a610]
movzx eax, r10b
mov byte [rbp - 0x51], dl
mov r9b, byte [rax + rsi + 0x2a410]
movzx eax, r11b
mov byte [rbp - 0x50], r9b
mov r10b, byte [rax + rsi + 0x2a410]
movzx eax, r8b
mov byte [rbp - 0x57], r10b
xor r15b, byte [rax + rsi + 0x2a410]
jmp 0x14000ce7d
mov dl, byte [rbp - 0x51]
lea rsi, [0x140000000]
mov eax, edi
and al, 7
cmp al, 4
jne 0x14000cec0
movzx eax, r15b
mov r15b, byte [rax + rsi + 0x2a410]
movzx eax, dl
mov dl, byte [rax + rsi + 0x2a410]
movzx eax, r9b
mov byte [rbp - 0x51], dl
mov r11b, byte [rax + rsi + 0x2a410]
movzx eax, r10b
mov byte [rbp - 0x50], r11b
mov r10b, byte [rax + rsi + 0x2a410]
mov byte [rbp - 0x57], r10b
jmp 0x14000cec4
mov r11b, byte [rbp - 0x50]
movsx rax, word [0x1400392cc]
lea r8d, [rdi*4 - 0x20]
mov dword [rbp - 0x3d], 4
lea ecx, [rdi*4]
mov qword [0x140039268], rax
add r13b, 0xe7
mov eax, dword [rbp - 0x25]
sub ecx, eax
mov r9d, dword [rbp - 0x25]
lea eax, [r8 + 1]
add r9d, ecx
mov cl, r15b
xor cl, byte [r8 + rbx]
mov byte [r9 + rbx], cl
xor dl, byte [rax + rbx]
lea eax, [r9 + 1]
mov byte [rax + rbx], dl
lea eax, [r8 + 2]
xor r11b, byte [rax + rbx]
lea eax, [r9 + 2]
mov byte [rax + rbx], r11b
lea eax, [r8 + 3]
xor r10b, byte [rax + rbx]
lea eax, [r9 + 3]
mov byte [rax + rbx], r10b
inc qword [rbp - 0x11]
inc edi
mov r9d, dword [rbp - 0x15]
mov r10d, 0
cmp edi, 0x3c
jb 0x14000c4f1
movsx eax, r14w
sub eax, 0x64cadbf8
mov dword [rbp - 0x41], eax
mov eax, dword [rbp - 0x35]
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14001e2d0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret