Function at 0x14017eba0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x388]
sub rsp, 0x450
mov qword [rbp + 0x308], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r14, rdx
mov r15, rcx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
xor r12d, r12d
mov qword [rbp - 0x40], r12
mov esi, 0x3e8
mov edi, r12d
lea eax, [r12 + 0xa]
mov dword [rbp - 0x38], eax
lea r13d, [r12 + 0x23]
mov word [rbp - 0x34], r13w
lea eax, [r12 + 0x24]
mov word [rbp - 0x32], ax
mov word [rbp - 0x30], ax
mov word [rbp - 0x2e], ax
xor eax, eax
mov word [rbp - 0x2c], ax
movzx eax, word [rbp - 0x34]
mov edx, r12d
lea ebx, [r12 + 1]
lea r8d, [r12 + 4]
movzx eax, word [rbp + rdx*2 - 0x34]
mov ecx, dword [rbp - 0x38]
xor cx, ax
mov word [rbp + rdx*2 - 0x34], cx
add rdx, rbx
cmp rdx, r8
jb 0x14017ec22
mov word [rbp - 0x2c], r12w
mov rdx, r14
lea rcx, [rbp + 0x328]
call fcn.1400ac788
mov r9, rax
mov dword [rbp + 0x68], r13d
mov eax, 0x78
mov word [rbp + 0x6c], ax
mov eax, 0xd
mov word [rbp + 0x6e], ax
mov eax, 0x7e
mov word [rbp + 0x70], ax
lea r11d, [rax - 0x7b]
mov word [rbp + 0x72], r11w
lea eax, [r11 + 0x64]
mov word [rbp + 0x74], ax
lea r8d, [r11 + 0x49]
mov word [rbp + 0x76], r8w
lea eax, [r11 + 0x51]
mov word [rbp + 0x78], ax
lea edx, [rax - 7]
mov word [rbp + 0x7a], dx
lea ecx, [rax - 5]
mov word [rbp + 0x7c], cx
mov word [rbp + 0x7e], r8w
lea eax, [rdx - 0xb]
mov word [rbp + 0x80], ax
lea r10d, [r11 + 0x44]
mov word [rbp + 0x82], r10w
lea r13d, [r11 + 0x47]
mov word [rbp + 0x84], r13w
mov word [rbp + 0x86], dx
lea edx, [rcx - 0xb]
mov word [rbp + 0x88], dx
mov word [rbp + 0x8a], r11w
lea edx, [rcx + 4]
mov word [rbp + 0x8c], dx
mov word [rbp + 0x8e], ax
lea r13d, [r11 + 0x57]
mov word [rbp + 0x90], r13w
mov word [rbp + 0x92], cx
mov word [rbp + 0x94], r8w
mov word [rbp + 0x96], ax
mov word [rbp + 0x98], r10w
mov word [rbp + 0x9a], r11w
lea ecx, [rax + 3]
mov word [rbp + 0x9c], cx
lea eax, [rdx - 2]
mov word [rbp + 0x9e], ax
mov word [rbp + 0xa0], r8w
lea eax, [rdx - 5]
mov word [rbp + 0xa2], ax
mov word [rbp + 0xa4], r11w
lea eax, [rdx + 4]
mov word [rbp + 0xa6], ax
lea eax, [rdx - 8]
mov word [rbp + 0xa8], ax
lea r8d, [r11 + 0x43]
mov word [rbp + 0xaa], r8w
mov word [rbp + 0xac], r11w
lea eax, [rdx - 3]
mov word [rbp + 0xae], ax
mov word [rbp + 0xb0], dx
mov word [rbp + 0xb2], r8w
lea eax, [rdx - 0x13]
mov word [rbp + 0xb4], ax
lea r13d, [r11 + 0x47]
mov word [rbp + 0xb6], r13w
mov word [rbp + 0xb8], cx
mov word [rbp + 0xba], r13w
mov word [rbp + 0xbc], r8w
mov word [rbp + 0xbe], r10w
mov word [rbp + 0xc0], r11w
lea eax, [rdx + 0x23]
mov word [rbp + 0xc2], ax
lea eax, [rdx + 0x1e]
mov word [rbp + 0xc4], ax
lea r13d, [r11 + 0x6c]
mov word [rbp + 0xc6], r13w
mov word [rbp + 0xc8], r11w
lea eax, [rdx - 0x48]
mov word [rbp + 0xca], ax
xor eax, eax
mov word [rbp + 0xcc], ax
movzx eax, word [rbp + 0x6c]
mov rdx, r12
lea r8d, [r11 + 0x2d]
movzx eax, word [rbp + rdx*2 + 0x6c]
mov ecx, dword [rbp + 0x68]
xor cx, ax
mov word [rbp + rdx*2 + 0x6c], cx
add rdx, rbx
cmp rdx, r8
jb 0x14017ee15
mov word [rbp + 0xcc], r12w
lea r8, [rbp - 0x34]
mov rdx, r9
lea rcx, [rbp + 0x6c]
call fcn.14015cf98
nop
xor edx, edx
lea r8d, [rdx + 0x62]
lea rcx, [rbp + 0x6c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xa]
lea rcx, [rbp - 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov byte [rbp + 0x3a0], r12b
lea r8, [rbp + 0x3a0]
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.1401c3c54
test al, al
jne 0x14017f2d5
cmp byte [rbp + 0x3a0], r12b
jne 0x14017f043
mov eax, 0x67
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov r11d, 0x2f
xor ax, r11w
mov word [rsp + 0x24], ax
xor eax, eax
mov word [rsp + 0x26], ax
movzx eax, word [rsp + 0x24]
movzx eax, word [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
xor cx, ax
mov word [rsp + 0x24], cx
mov word [rsp + 0x26], r12w
add rdi, rbx
mov dword [rbp + 0x20], 0x48
lea eax, [r11 - 0x1c]
mov word [rbp + 0x24], ax
lea eax, [r11 + 0x36]
mov word [rbp + 0x26], ax
lea eax, [r11 - 0x1a]
mov word [rbp + 0x28], ax
lea ecx, [rax + 0x53]
mov word [rbp + 0x2a], cx
lea eax, [rcx - 0x5d]
mov word [rbp + 0x2c], ax
lea eax, [rcx - 0x41]
mov word [rbp + 0x2e], ax
lea edx, [rcx - 0x42]
mov word [rbp + 0x30], dx
mov word [rbp + 0x32], dx
lea r9d, [r11 - 2]
mov word [rbp + 0x34], r9w
lea r8d, [r11 - 4]
mov word [rbp + 0x36], r8w
lea r10d, [r11 + 0xd]
mov word [rbp + 0x38], r10w
lea r8d, [r11 - 0xe]
mov word [rbp + 0x3a], r8w
mov word [rbp + 0x3c], ax
mov word [rbp + 0x3e], dx
mov word [rbp + 0x40], cx
lea eax, [rcx - 0x3a]
mov word [rbp + 0x42], ax
lea eax, [rcx - 0x3f]
mov word [rbp + 0x44], ax
mov word [rbp + 0x46], r8w
lea eax, [rcx - 0x44]
mov word [rbp + 0x48], ax
mov word [rbp + 0x4a], r9w
lea eax, [rcx - 0x3c]
mov word [rbp + 0x4c], ax
lea eax, [rcx - 2]
mov word [rbp + 0x4e], ax
mov word [rbp + 0x50], cx
lea eax, [rcx - 0x4e]
mov word [rbp + 0x52], ax
mov word [rbp + 0x54], r9w
mov word [rbp + 0x56], r10w
lea eax, [rcx - 0x2e]
mov word [rbp + 0x58], ax
lea eax, [rcx - 0x37]
mov word [rbp + 0x5a], ax
mov word [rbp + 0x5c], r8w
mov word [rbp + 0x5e], dx
mov word [rbp + 0x60], r11w
lea eax, [rcx + 0xa]
mov word [rbp + 0x62], ax
mov word [rbp + 0x64], cx
xor eax, eax
mov word [rbp + 0x66], ax
movzx eax, word [rbp + 0x24]
mov rdx, r12
movzx eax, word [rbp + rdx*2 + 0x24]
mov ecx, dword [rbp + 0x20]
xor cx, ax
mov word [rbp + rdx*2 + 0x24], cx
add rdx, rbx
cmp rdx, r8
jb 0x14017efbd
mov word [rbp + 0x66], r12w
mov r9d, 0x1e
lea r8, [rsp + 0x24]
mov rdx, rdi
lea rcx, [rbp + 0x24]
call fcn.1400c4a38
nop
xor edx, edx
lea r8d, [rdx + 0x44]
lea rcx, [rbp + 0x24]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rsp + 0x24]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov ecx, esi
movabs rax, 0xe000000000000000
or rcx, rax
xor edx, edx
call fcn.1400ebd30
add esi, 0x3e8
mov eax, 0x1e
cmp rdi, rax
jb 0x14017ee67
jmp 0x14017f2cd
mov edi, 0x1d
mov dword [rbp + 0xd0], edi
lea ecx, [rdi + 0x29]
mov word [rbp + 0xd4], cx
lea ecx, [rdi + 0x13]
mov word [rbp + 0xd6], cx
lea r8d, [rdi + 0x23]
mov word [rbp + 0xd8], r8w
lea ecx, [rdi + 0x20]
mov word [rbp + 0xda], cx
lea eax, [rdi + 0x3f]
mov word [rbp + 0xdc], ax
mov word [rbp + 0xde], cx
lea edi, [rcx + 0x3c]
mov word [rbp + 0xe0], di
lea eax, [rcx + 0x3b]
mov word [rbp + 0xe2], ax
lea esi, [rcx + 0x41]
mov word [rbp + 0xe4], si
lea r8d, [rcx + 0x37]
mov word [rbp + 0xe6], r8w
lea edx, [rcx + 0x31]
mov word [rbp + 0xe8], dx
mov word [rbp + 0xea], r8w
lea r10d, [rcx + 0x35]
mov word [rbp + 0xec], r10w
lea r14d, [rcx + 0x36]
mov word [rbp + 0xee], r14w
mov word [rbp + 0xf0], cx
lea r11d, [rcx + 0x2d]
mov word [rbp + 0xf2], r11w
lea eax, [rcx + 0x3f]
mov word [rbp + 0xf4], ax
mov word [rbp + 0xf6], dx
mov word [rbp + 0xf8], cx
lea r15d, [rcx + 0x33]
mov word [rbp + 0xfa], r15w
mov word [rbp + 0xfc], ax
mov word [rbp + 0xfe], di
lea edx, [rcx + 0x3b]
mov word [rbp + 0x100], dx
mov word [rbp + 0x102], cx
mov word [rbp + 0x104], r14w
mov word [rbp + 0x106], r10w
lea r9d, [rcx + 0x2c]
mov word [rbp + 0x108], r9w
mov word [rbp + 0x10a], cx
mov word [rbp + 0x10c], r9w
mov word [rbp + 0x10e], r10w
mov word [rbp + 0x110], cx
mov word [rbp + 0x112], r13w
mov word [rbp + 0x114], dx
mov word [rbp + 0x116], r9w
mov word [rbp + 0x118], r13w
lea r10d, [rcx + 0x27]
mov word [rbp + 0x11a], r10w
mov word [rbp + 0x11c], cx
mov word [rbp + 0x11e], ax
mov word [rbp + 0x120], r14w
mov word [rbp + 0x122], r10w
mov word [rbp + 0x124], r15w
lea r10d, [rcx + 0x35]
mov word [rbp + 0x126], r10w
mov word [rbp + 0x128], r13w
mov word [rbp + 0x12a], dx
lea r9d, [rcx - 0xa]
mov word [rbp + 0x12c], r9w
mov word [rbp + 0x12e], cx
lea edx, [rcx + 0x1c]
mov word [rbp + 0x130], dx
mov word [rbp + 0x132], r10w
mov word [rbp + 0x134], r11w
mov word [rbp + 0x136], r14w
lea edx, [rcx + 0x34]
mov word [rbp + 0x138], dx
mov word [rbp + 0x13a], r10w
mov word [rbp + 0x13c], ax
mov word [rbp + 0x13e], di
mov word [rbp + 0x140], cx
lea ecx, [rdi + 2]
mov word [rbp + 0x142], cx
mov word [rbp + 0x144], ax
mov word [rbp + 0x146], r8w
mov word [rbp + 0x148], dx
lea eax, [rdi - 1]
mov word [rbp + 0x14a], ax
mov word [rbp + 0x14c], di
mov word [rbp + 0x14e], r9w
xor eax, eax
mov word [rbp + 0x150], ax
movzx eax, word [rbp + 0xd4]
mov rdx, r12
lea r8d, [rdi - 0x3b]
movzx eax, word [rbp + rdx*2 + 0xd4]
mov ecx, dword [rbp + 0xd0]
xor cx, ax
mov word [rbp + rdx*2 + 0xd4], cx
add rdx, rbx
cmp rdx, r8
jb 0x14017f285
mov word [rbp + 0x150], r12w
lea rcx, [rbp + 0xd4]
call fcn.1400c49c8
nop
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0xd4]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov bl, r12b
jmp 0x140180190
mov rax, qword [rbp - 0x48]
cmp qword [rbp - 0x50], rax
jne 0x14017f79c
mov ecx, 0xc
mov dword [rsp + 0x28], ecx
mov eax, dword [rsp + 0x28]
xor ax, 0x5b
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x28]
add ax, bx
xor ax, 0x21
mov word [rsp + 0x2e], ax
mov eax, dword [rsp + 0x28]
add ax, 2
xor ax, 0x5d
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0x28]
add ax, 3
lea r14d, [rcx + 0x14]
xor ax, r14w
mov word [rsp + 0x32], ax
mov eax, dword [rsp + 0x28]
add ax, 4
xor ax, 0x44
mov word [rsp + 0x34], ax
mov eax, dword [rsp + 0x28]
add ax, 5
xor ax, r13w
mov word [rsp + 0x36], ax
mov eax, dword [rsp + 0x28]
add ax, 6
xor ax, 0x77
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x28]
add ax, 7
lea edx, [rcx + 0x62]
xor ax, dx
mov word [rsp + 0x3a], ax
mov eax, dword [rsp + 0x28]
add ax, 8
lea r12d, [rcx + 0x60]
xor ax, r12w
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0x28]
add ax, 9
xor ax, r13w
mov word [rsp + 0x3e], ax
mov eax, dword [rsp + 0x28]
add ax, 0xa
mov r9w, 0x61
xor ax, r9w
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x28]
add ax, 0xb
lea r10d, [rcx + 0x58]
xor ax, r10w
mov word [rsp + 0x42], ax
mov eax, dword [rsp + 0x28]
add ax, cx
xor ax, 0x65
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x28]
add ax, 0xd
xor ax, r10w
mov word [rsp + 0x46], ax
mov eax, dword [rsp + 0x28]
add ax, 0xe
xor ax, r14w
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x28]
add ax, 0xf
lea r13d, [rcx + 0x59]
xor ax, r13w
mov word [rsp + 0x4a], ax
mov eax, dword [rsp + 0x28]
add ax, 0x10
xor ax, 0x6d
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x11
lea r15d, [rcx + 0x64]
xor ax, r15w
mov word [rsp + 0x4e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x12
lea r8d, [rcx + 0x68]
xor ax, r8w
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x28]
add ax, 0x13
lea edi, [rcx + 0x6d]
xor ax, di
mov word [rsp + 0x52], ax
mov eax, dword [rsp + 0x28]
add ax, 0x14
xor ax, r14w
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x28]
add ax, 0x15
xor ax, r15w
mov word [rsp + 0x56], ax
mov eax, dword [rsp + 0x28]
add ax, 0x16
xor ax, r9w
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x28]
add ax, 0x17
xor ax, di
mov word [rsp + 0x5a], ax
mov eax, dword [rsp + 0x28]
add ax, 0x18
xor ax, r12w
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x19
lea r11d, [rcx + 0x63]
xor ax, r11w
mov word [rsp + 0x5e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x1a
xor ax, r9w
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x28]
add ax, 0x1b
xor ax, r10w
mov word [rsp + 0x62], ax
mov eax, dword [rsp + 0x28]
add ax, 0x1c
lea r15d, [rcx + 0x22]
xor ax, r15w
mov word [rsp + 0x64], ax
mov eax, dword [rsp + 0x28]
add ax, 0x1d
xor ax, r14w
mov word [rsp + 0x66], ax
mov eax, dword [rsp + 0x28]
add ax, 0x1e
xor ax, 0x46
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x28]
add ax, 0x1f
xor ax, r9w
mov word [rsp + 0x6a], ax
mov eax, dword [rsp + 0x28]
add ax, r14w
xor ax, r12w
mov word [rsp + 0x6c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x21
xor ax, r12w
mov word [rsp + 0x6e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x22
xor ax, 0x69
mov word [rsp + 0x70], ax
mov eax, dword [rsp + 0x28]
add ax, 0x23
xor ax, dx
mov word [rsp + 0x72], ax
mov eax, dword [rsp + 0x28]
add ax, 0x24
xor ax, 0x67
mov word [rsp + 0x74], ax
mov eax, dword [rsp + 0x28]
add ax, 0x25
xor ax, r14w
mov word [rsp + 0x76], ax
mov eax, dword [rsp + 0x28]
add ax, 0x26
xor ax, 0x62
mov word [rsp + 0x78], ax
mov eax, dword [rsp + 0x28]
lea edi, [rcx + 0x1b]
add ax, di
xor ax, r9w
mov word [rsp + 0x7a], ax
mov eax, dword [rsp + 0x28]
add ax, 0x28
xor ax, 0x63
mov word [rsp + 0x7c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x29
xor ax, 0x6b
mov word [rsp + 0x7e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x2a
xor ax, r14w
mov word [rbp - 0x80], ax
mov eax, dword [rsp + 0x28]
add ax, 0x2b
xor ax, r8w
mov word [rbp - 0x7e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x2c
xor ax, r11w
mov word [rbp - 0x7c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x2d
xor ax, r14w
mov word [rbp - 0x7a], ax
mov eax, dword [rsp + 0x28]
add ax, r15w
xor ax, r8w
mov word [rbp - 0x78], ax
mov eax, dword [rsp + 0x28]
add ax, 0x2f
lea r8d, [rcx + 0x5c]
xor ax, r8w
mov word [rbp - 0x76], ax
mov eax, dword [rsp + 0x28]
add ax, 0x30
xor ax, r13w
mov word [rbp - 0x74], ax
mov eax, dword [rsp + 0x28]
add ax, 0x31
xor ax, r14w
mov word [rbp - 0x72], ax
mov eax, dword [rsp + 0x28]
add ax, 0x32
xor ax, r8w
mov word [rbp - 0x70], ax
mov eax, dword [rsp + 0x28]
add ax, 0x33
xor ax, r9w
mov word [rbp - 0x6e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x34
xor ax, 0x72
mov word [rbp - 0x6c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x35
xor ax, r10w
mov word [rbp - 0x6a], ax
mov eax, dword [rsp + 0x28]
add ax, 0x36
xor ax, 0x63
mov word [rbp - 0x68], ax
mov eax, dword [rsp + 0x28]
add ax, 0x37
xor ax, r11w
mov word [rbp - 0x66], ax
mov eax, dword [rsp + 0x28]
add ax, 0x38
xor ax, r10w
mov word [rbp - 0x64], ax
mov eax, dword [rsp + 0x28]
add ax, 0x39
xor ax, r13w
mov word [rbp - 0x62], ax
mov eax, dword [rsp + 0x28]
add ax, 0x3a
xor ax, r10w
mov word [rbp - 0x60], ax
mov eax, dword [rsp + 0x28]
add ax, 0x3b
xor ax, r14w
mov word [rbp - 0x5e], ax
mov eax, dword [rsp + 0x28]
add ax, 0x3c
xor ax, r11w
mov word [rbp - 0x5c], ax
mov eax, dword [rsp + 0x28]
add ax, 0x3d
xor ax, dx
mov word [rbp - 0x5a], ax
mov eax, dword [rsp + 0x28]
add ax, 0x3e
xor ax, r13w
mov word [rbp - 0x58], ax
mov eax, dword [rsp + 0x28]
add ax, 0x3f
xor ax, r15w
mov word [rbp - 0x56], ax
xor eax, eax
mov word [rbp - 0x54], ax
movzx eax, word [rsp + 0x2c]
xor r12d, r12d
mov edx, r12d
lea r8d, [rcx + 0x34]
movzx eax, word [rsp + rdx*2 + 0x2c]
mov ecx, dword [rsp + 0x28]
add cx, dx
xor cx, ax
mov word [rsp + rdx*2 + 0x2c], cx
add rdx, rbx
cmp rdx, r8
jb 0x14017f751
mov word [rbp - 0x54], r12w
lea rcx, [rsp + 0x2c]
call fcn.1400c49c8
nop
xor edx, edx
mov r8d, 0x82
lea rcx, [rsp + 0x2c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov bl, r12b
mov rcx, qword [rbp - 0x50]
jmp 0x140180199
mov ecx, 0x25
mov word [rbp - 8], cx
lea eax, [rcx + 0x42]
mov word [rbp - 6], ax
lea r14d, [rcx + 0x59]
mov word [rbp - 4], r14w
lea edi, [rcx + 0x54]
mov word [rbp - 2], di
lea r11d, [rcx + 0x45]
mov word [rbp], r11w
lea eax, [rcx + 0x53]
mov word [rbp + 2], ax
mov word [rbp + 4], cx
lea r8d, [rcx + 0x4f]
mov word [rbp + 6], r8w
lea esi, [rcx + 0x46]
mov word [rbp + 8], si
mov word [rbp + 0xa], cx
lea r11d, [rcx + 0x50]
mov word [rbp + 0xc], r11w
lea eax, [rcx + 0x41]
mov word [rbp + 0xe], ax
mov word [rbp + 0x10], r14w
lea edx, [rcx + 0x4c]
mov word [rbp + 0x12], dx
mov word [rbp + 0x14], r8w
mov word [rbp + 0x16], ax
lea r9d, [rcx + 0x44]
mov word [rbp + 0x18], r9w
lea r9d, [rcx + 0xe]
mov word [rbp + 0x1a], r9w
mov word [rbp + 0x1c], r12w
movzx eax, word [rbp - 8]
mov rcx, r12
lea edx, [rdi - 0x74]
lea r8d, [r14 - 0x6c]
movzx eax, word [rbp + rcx*2 - 8]
sub ax, dx
mov word [rbp + rcx*2 - 8], ax
add rcx, rbx
cmp rcx, r8
jb 0x14017f82e
mov rdx, qword [rbp - 0x48]
sub rdx, qword [rbp - 0x50]
mov ecx, 0x62
mov word [rbp - 0x28], cx
mov ecx, 0x32
mov word [rbp - 0x26], cx
lea r10d, [rcx + 0x32]
mov word [rbp - 0x24], r10w
lea ecx, [r10 - 0x3d]
mov word [rbp - 0x22], cx
lea eax, [rcx + 0x24]
mov word [rbp - 0x20], ax
lea eax, [rcx + 0x4f]
mov word [rbp - 0x1e], ax
mov word [rbp - 0x1c], r14w
mov word [rbp - 0x1a], r11w
lea r14d, [r10 + 0xf]
mov word [rbp - 0x18], r14w
mov word [rbp - 0x16], ax
lea r8d, [r10 + 4]
mov word [rbp - 0x14], r8w
mov word [rbp - 0x12], si
lea r12d, [r10 + 8]
mov word [rbp - 0x10], r12w
mov word [rbp - 0xe], si
mov word [rbp - 0xc], cx
xor ecx, ecx
mov word [rbp - 0xa], cx
movzx eax, word [rbp - 0x28]
lea r13d, [r10 - 0x55]
movzx eax, word [rbp + rcx*2 - 0x28]
sub ax, 7
mov word [rbp + rcx*2 - 0x28], ax
add rcx, rbx
cmp rcx, r13
jb 0x14017f8bf
lea r8, [rbp - 8]
lea rcx, [rbp - 0x28]
call fcn.1401945d8
nop
xor edx, edx
lea r8d, [rdx + 0x20]
lea rcx, [rbp - 0x28]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x26]
lea rcx, [rbp - 8]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
sub rax, rcx
mov r8d, 0x10
cmp rax, r8
jbe 0x140180194
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x310]
call fcn.1401723d0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, r15
call fcn.140176c24
test al, al
jne 0x14017fe53
mov r8d, 0x6d
mov dword [rbp + 0x208], r8d
lea ecx, [r8 - 0x37]
mov word [rbp + 0x20c], cx
lea r10d, [r8 - 0x2a]
mov word [rbp + 0x20e], r10w
lea ecx, [r8 - 0x3d]
mov word [rbp + 0x210], cx
lea esi, [rcx + 0x1d]
mov word [rbp + 0x212], si
lea eax, [rcx - 7]
mov word [rbp + 0x214], ax
lea edx, [rcx - 0x2e]
mov word [rbp + 0x216], dx
lea eax, [rcx - 0x16]
mov word [rbp + 0x218], ax
lea r14d, [r8 - 0x6a]
mov word [rbp + 0x21a], r14w
mov word [rbp + 0x21c], bx
mov word [rbp + 0x21e], dx
lea ecx, [rsi - 0x41]
mov word [rbp + 0x220], cx
lea r8d, [r10 - 0x3a]
mov word [rbp + 0x222], r8w
lea r9d, [r10 - 0x3b]
mov word [rbp + 0x224], r9w
mov word [rbp + 0x226], r8w
mov word [rbp + 0x228], si
lea edi, [rsi - 0x30]
mov word [rbp + 0x22a], di
mov word [rbp + 0x22c], cx
lea eax, [rsi - 0x39]
mov word [rbp + 0x22e], ax
mov word [rbp + 0x230], bx
mov word [rbp + 0x232], dx
mov word [rbp + 0x234], cx
mov word [rbp + 0x236], r8w
mov word [rbp + 0x238], si
mov word [rbp + 0x23a], r8w
mov word [rbp + 0x23c], dx
mov word [rbp + 0x23e], r9w
lea r10d, [rsi - 0x2f]
mov word [rbp + 0x240], r10w
mov word [rbp + 0x242], r14w
lea r11d, [rsi - 3]
mov word [rbp + 0x244], r11w
lea r11d, [rsi - 0x34]
mov word [rbp + 0x246], r11w
mov word [rbp + 0x248], si
mov word [rbp + 0x24a], r10w
mov word [rbp + 0x24c], r9w
mov word [rbp + 0x24e], r9w
xor r12d, r12d
mov word [rbp + 0x250], r12w
mov word [rbp + 0x252], si
mov word [rbp + 0x254], r11w
mov word [rbp + 0x256], dx
mov word [rbp + 0x258], si
lea esi, [rdx + 0xc]
mov word [rbp + 0x25a], si
mov word [rbp + 0x25c], dx
mov word [rbp + 0x25e], r14w
lea r10d, [rdx + 9]
mov word [rbp + 0x260], r10w
mov word [rbp + 0x262], dx
lea r10d, [rdx + 0x1d]
mov word [rbp + 0x264], r10w
mov word [rbp + 0x266], r12w
lea r10d, [rdx + 0x4b]
mov word [rbp + 0x268], r10w
mov word [rbp + 0x26a], r9w
mov word [rbp + 0x26c], r12w
mov word [rbp + 0x26e], r13w
mov word [rbp + 0x270], r9w
mov word [rbp + 0x272], r8w
mov word [rbp + 0x274], r8w
mov word [rbp + 0x276], r9w
mov word [rbp + 0x278], r8w
mov word [rbp + 0x27a], r10w
mov word [rbp + 0x27c], r8w
mov word [rbp + 0x27e], cx
mov word [rbp + 0x280], r11w
mov word [rbp + 0x282], cx
lea r14d, [rdx + 0x48]
mov word [rbp + 0x284], r14w
lea r14d, [rdx + 0x1c]
mov word [rbp + 0x286], r14w
mov word [rbp + 0x288], r10w
mov word [rbp + 0x28a], r9w
lea r14d, [rdx + 1]
mov word [rbp + 0x28c], r14w
mov word [rbp + 0x28e], si
mov word [rbp + 0x290], dx
mov word [rbp + 0x292], r8w
mov word [rbp + 0x294], r9w
mov word [rbp + 0x296], r8w
mov r9d, r10d
mov word [rbp + 0x298], r9w
lea r10d, [rdx + 9]
mov word [rbp + 0x29a], r10w
mov word [rbp + 0x29c], dx
lea r10d, [rdx + 0x1d]
mov word [rbp + 0x29e], r10w
mov word [rbp + 0x2a0], r12w
mov word [rbp + 0x2a2], cx
mov word [rbp + 0x2a4], r11w
lea r10d, [rdx + 0x41]
mov word [rbp + 0x2a6], r10w
mov word [rbp + 0x2a8], r9w
lea r10d, [rdx + 0x29]
mov word [rbp + 0x2aa], r10w
mov word [rbp + 0x2ac], cx
mov word [rbp + 0x2ae], bx
mov word [rbp + 0x2b0], bx
lea r10d, [rdx + 2]
mov word [rbp + 0x2b2], r10w
mov word [rbp + 0x2b4], r14w
lea r14d, [rdx + 8]
mov word [rbp + 0x2b6], r14w
mov word [rbp + 0x2b8], r9w
mov word [rbp + 0x2ba], r13w
mov word [rbp + 0x2bc], cx
mov word [rbp + 0x2be], si
lea r9d, [rdx + 4]
mov word [rbp + 0x2c0], r9w
lea esi, [rdx + 0x4b]
mov word [rbp + 0x2c2], si
mov word [rbp + 0x2c4], r11w
mov word [rbp + 0x2c6], dx
mov word [rbp + 0x2c8], si
mov word [rbp + 0x2ca], cx
mov word [rbp + 0x2cc], si
lea r9d, [rdx + 0x1c]
mov word [rbp + 0x2ce], r9w
mov word [rbp + 0x2d0], r11w
lea r10d, [rdx + 0x1d]
mov word [rbp + 0x2d2], r10w
mov word [rbp + 0x2d4], cx
lea r13d, [rdx + 2]
mov word [rbp + 0x2d6], r13w
mov r9d, r14d
mov word [rbp + 0x2d8], r9w
lea r9d, [rdx + 3]
mov word [rbp + 0x2da], r9w
mov word [rbp + 0x2dc], r11w
mov word [rbp + 0x2de], si
mov word [rbp + 0x2e0], di
mov word [rbp + 0x2e2], cx
mov word [rbp + 0x2e4], ax
mov word [rbp + 0x2e6], bx
mov word [rbp + 0x2e8], dx
mov word [rbp + 0x2ea], cx
mov word [rbp + 0x2ec], r8w
mov word [rbp + 0x2ee], si
lea eax, [rdx + 9]
mov word [rbp + 0x2f0], ax
mov word [rbp + 0x2f2], dx
mov word [rbp + 0x2f4], r10w
mov word [rbp + 0x2f6], r12w
lea r10d, [rdx + 0x41]
mov word [rbp + 0x2f8], r10w
xor eax, eax
mov word [rbp + 0x2fa], ax
movzx eax, word [rbp + 0x20c]
mov edx, r12d
lea r8d, [rcx + 0x6b]
lea r14d, [rcx - 9]
movzx eax, word [rbp + rdx*2 + 0x20c]
mov ecx, dword [rbp + 0x208]
xor cx, ax
mov word [rbp + rdx*2 + 0x20c], cx
add rdx, rbx
cmp rdx, r8
jb 0x14017fd86
mov word [rbp + 0x2fa], r12w
lea rcx, [rbp + 0x20c]
call fcn.1400c49c8
nop
xor edx, edx
mov r8d, 0xf0
lea rcx, [rbp + 0x20c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov dword [rbp + 0x3a8], 0xdeadbeef
mov rcx, qword [rbp - 0x48]
sub rcx, qword [rbp - 0x50]
mov rax, qword [r15]
mov qword [rax + 0x1150], rcx
mov rcx, qword [r15]
add rcx, 0x1138
mov rdx, qword [rbp - 0x48]
sub rdx, qword [rbp - 0x50]
add rdx, 4
call fcn.1400cea6c
mov r8, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
sub r8, rdx
mov rax, qword [r15]
mov rcx, qword [rax + 0x1138]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [r15]
mov rcx, qword [rax + 0x1150]
add rcx, qword [rax + 0x1138]
mov r8, r13
lea rdx, [rbp + 0x3a8]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [r15]
mov dword [rax + 0x10d8], r14d
jmp 0x140180190
mov eax, 0x65
mov word [rbp + 0x154], ax
lea ecx, [rax - 0x30]
mov word [rbp + 0x156], cx
lea eax, [rcx + 0x32]
mov word [rbp + 0x158], ax
lea ecx, [rax - 0x3d]
mov word [rbp + 0x15a], cx
lea eax, [rcx + 0x24]
mov word [rbp + 0x15c], ax
mov word [rbp + 0x15e], di
lea eax, [rcx + 0x57]
mov word [rbp + 0x160], ax
lea r15d, [rcx + 0x4e]
mov word [rbp + 0x162], r15w
lea r8d, [rcx + 0x4c]
mov word [rbp + 0x164], r8w
mov word [rbp + 0x166], di
mov word [rbp + 0x168], si
lea edx, [rcx + 0x44]
mov word [rbp + 0x16a], dx
lea r13d, [rcx + 0x45]
mov word [rbp + 0x16c], r13w
mov word [rbp + 0x16e], dx
mov word [rbp + 0x170], cx
lea eax, [rcx + 0x50]
mov word [rbp + 0x172], ax
mov word [rbp + 0x174], si
lea r11d, [rcx + 0x59]
mov word [rbp + 0x176], r11w
mov word [rbp + 0x178], r8w
mov word [rbp + 0x17a], di
mov word [rbp + 0x17c], si
mov word [rbp + 0x17e], dx
mov word [rbp + 0x180], cx
lea r10d, [rcx + 0x53]
mov word [rbp + 0x182], r10w
mov word [rbp + 0x184], r13w
mov word [rbp + 0x186], r13w
lea r8d, [rcx + 0x4d]
mov word [rbp + 0x188], r8w
mov word [rbp + 0x18a], r10w
mov word [rbp + 0x18c], cx
lea r9d, [rcx + 0x54]
mov word [rbp + 0x18e], r9w
mov word [rbp + 0x190], di
mov word [rbp + 0x192], cx
mov word [rbp + 0x194], r12w
mov word [rbp + 0x196], r13w
mov word [rbp + 0x198], cx
mov word [rbp + 0x19a], r14w
mov word [rbp + 0x19c], r15w
mov word [rbp + 0x19e], cx
mov word [rbp + 0x1a0], r13w
mov word [rbp + 0x1a2], r8w
mov word [rbp + 0x1a4], r12w
mov word [rbp + 0x1a6], r13w
mov word [rbp + 0x1a8], dx
mov word [rbp + 0x1aa], dx
mov word [rbp + 0x1ac], r13w
mov word [rbp + 0x1ae], dx
mov word [rbp + 0x1b0], cx
mov word [rbp + 0x1b2], dx
mov word [rbp + 0x1b4], si
mov word [rbp + 0x1b6], r9w
mov word [rbp + 0x1b8], si
lea eax, [rcx + 7]
mov word [rbp + 0x1ba], ax
mov word [rbp + 0x1bc], r10w
mov word [rbp + 0x1be], cx
lea r15d, [rcx + 0x46]
mov word [rbp + 0x1c0], r15w
mov word [rbp + 0x1c2], di
lea eax, [rcx + 0x52]
mov word [rbp + 0x1c4], ax
mov word [rbp + 0x1c6], r8w
mov word [rbp + 0x1c8], si
mov word [rbp + 0x1ca], r9w
lea r9d, [rcx + 0xe]
mov word [rbp + 0x1cc], r9w
mov word [rbp + 0x1ce], cx
lea r8d, [rcx + 0x30]
mov word [rbp + 0x1d0], r8w
mov word [rbp + 0x1d2], ax
mov word [rbp + 0x1d4], di
lea r8d, [rcx + 0x43]
mov word [rbp + 0x1d6], r8w
mov word [rbp + 0x1d8], r13w
mov word [rbp + 0x1da], r10w
mov word [rbp + 0x1dc], r10w
mov word [rbp + 0x1de], r13w
mov word [rbp + 0x1e0], dx
mov word [rbp + 0x1e2], cx
mov word [rbp + 0x1e4], r14w
lea esi, [rcx + 0x54]
mov word [rbp + 0x1e6], si
mov word [rbp + 0x1e8], cx
mov word [rbp + 0x1ea], r10w
lea eax, [rcx + 0x55]
mov word [rbp + 0x1ec], ax
mov word [rbp + 0x1ee], r8w
mov word [rbp + 0x1f0], r8w
mov word [rbp + 0x1f2], r13w
mov word [rbp + 0x1f4], r10w
mov word [rbp + 0x1f6], r10w
mov word [rbp + 0x1f8], r15w
mov word [rbp + 0x1fa], ax
lea eax, [rcx + 0x4c]
mov word [rbp + 0x1fc], ax
mov word [rbp + 0x1fe], ax
mov word [rbp + 0x200], r11w
mov word [rbp + 0x202], r9w
xor r12d, r12d
mov word [rbp + 0x204], r12w
movzx eax, word [rbp + 0x154]
mov ecx, r12d
lea edx, [rsi - 0x74]
movzx eax, word [rbp + rcx*2 + 0x154]
sub ax, dx
mov word [rbp + rcx*2 + 0x154], ax
add rcx, rbx
cmp rcx, 0x58
jb 0x140180152
lea rcx, [rbp + 0x154]
call fcn.1400acf00
nop
xor edx, edx
mov r8d, 0xb2
lea rcx, [rbp + 0x154]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rcx, qword [rbp - 0x50]
mov edi, 0x27
test rcx, rcx
je 0x1401801d6
mov rdx, qword [rbp - 0x40]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401801d1
add rdx, rdi
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
mov r8d, 0x1f
cmp rax, r8
jbe 0x1401801d1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov al, bl
mov rbx, qword [rsp + 0x490]
add rsp, 0x450
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret