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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x488]
sub rsp, 0x588
mov qword [rbp + 0x450], 0xfffffffffffffffe
mov r15, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
xor edx, edx
call fcn.1401b7654
call fcn.14021e710
xor edi, edi
test al, al
je 0x140221ccb
mov cl, byte [0x1402c61a8]
call fcn.1401a9024
test al, al
je 0x140221ccb
lea ebx, [rdi + 1]
lea r12d, [rdi + 0x10]
cmp qword [0x1402c61b8], rbx
jbe 0x1402211bf
mov dword [rbp + 0x4c], 0x1a
mov word [rbp + 0x50], r12w
lea edx, [rdi + 0x3a]
mov word [rbp + 0x52], dx
mov word [rbp + 0x54], dx
mov word [rbp + 0x56], dx
mov word [rbp + 0x58], dx
mov word [rbp + 0x5a], dx
mov word [rbp + 0x5c], dx
mov word [rbp + 0x5e], dx
lea edi, [rbx + 0x44]
mov word [rbp + 0x60], di
lea eax, [rbx + 0x33]
mov word [rbp + 0x62], ax
lea ecx, [rbx + 0x36]
mov word [rbp + 0x64], cx
lea r15d, [rbx + 0x43]
mov word [rbp + 0x66], r15w
mov word [rbp + 0x68], r15w
mov word [rbp + 0x6a], cx
mov word [rbp + 0x6c], cx
mov word [rbp + 0x6e], cx
mov word [rbp + 0x70], ax
mov word [rbp + 0x72], ax
mov word [rbp + 0x74], ax
mov word [rbp + 0x76], ax
lea r15d, [rbx + 0x35]
mov word [rbp + 0x78], r15w
mov word [rbp + 0x7a], r15w
mov word [rbp + 0x7c], cx
mov word [rbp + 0x7e], cx
mov word [rbp + 0x80], dx
mov word [rbp + 0x82], dx
mov word [rbp + 0x84], dx
mov word [rbp + 0x86], dx
mov word [rbp + 0x88], dx
mov word [rbp + 0x8a], dx
mov word [rbp + 0x8c], dx
mov word [rbp + 0x8e], r12w
mov word [rbp + 0x90], dx
mov word [rbp + 0x92], dx
mov word [rbp + 0x94], dx
mov word [rbp + 0x96], di
mov word [rbp + 0x98], cx
mov word [rbp + 0x9a], cx
mov word [rbp + 0x9c], dx
mov word [rbp + 0x9e], dx
mov word [rbp + 0xa0], dx
mov word [rbp + 0xa2], dx
mov word [rbp + 0xa4], dx
mov word [rbp + 0xa6], dx
mov word [rbp + 0xa8], dx
mov word [rbp + 0xaa], dx
mov word [rbp + 0xac], dx
mov word [rbp + 0xae], dx
mov word [rbp + 0xb0], dx
mov word [rbp + 0xb2], dx
mov word [rbp + 0xb4], dx
mov word [rbp + 0xb6], dx
mov word [rbp + 0xb8], dx
mov word [rbp + 0xba], dx
mov word [rbp + 0xbc], dx
mov word [rbp + 0xbe], dx
mov word [rbp + 0xc0], cx
mov word [rbp + 0xc2], cx
mov word [rbp + 0xc4], di
mov word [rbp + 0xc6], dx
mov word [rbp + 0xc8], dx
mov word [rbp + 0xca], dx
mov word [rbp + 0xcc], dx
mov word [rbp + 0xce], dx
mov word [rbp + 0xd0], dx
lea esi, [rbx + 0x53]
mov word [rbp + 0xd2], si
lea r9d, [rbx + 0x4e]
mov word [rbp + 0xd4], r9w
lea eax, [rbx + 0x50]
mov word [rbp + 0xd6], ax
lea eax, [rbx + 0x52]
mov word [rbp + 0xd8], ax
mov word [rbp + 0xda], si
lea ecx, [rbx + 0x5c]
mov word [rbp + 0xdc], cx
mov word [rbp + 0xde], dx
lea r11d, [rbx + 0x54]
mov word [rbp + 0xe0], r11w
lea ecx, [rbx + 0x4c]
mov word [rbp + 0xe2], cx
mov word [rbp + 0xe4], si
mov word [rbp + 0xe6], dx
lea ecx, [rbx + 0x49]
mov word [rbp + 0xe8], cx
lea r8d, [rbx + 0x47]
mov word [rbp + 0xea], r8w
mov word [rbp + 0xec], r11w
lea ecx, [rbx + 0x58]
mov word [rbp + 0xee], cx
lea r13d, [rbx + 0x5e]
mov word [rbp + 0xf0], r13w
lea ebx, [rdx + 0xf]
mov word [rbp + 0xf2], bx
mov word [rbp + 0xf4], bx
mov word [rbp + 0xf6], dx
lea r10d, [r12 + 0x3c]
mov word [rbp + 0xf8], r10w
mov word [rbp + 0xfa], ax
mov word [rbp + 0xfc], r8w
lea ecx, [rdx + 0x14]
mov word [rbp + 0xfe], cx
mov word [rbp + 0x100], r9w
lea r10d, [r12 + 0x4b]
mov word [rbp + 0x102], r10w
lea eax, [rdx + 0x1c]
mov word [rbp + 0x104], ax
mov word [rbp + 0x106], dx
lea eax, [rdx + 0x1d]
mov word [rbp + 0x108], ax
mov word [rbp + 0x10a], r13w
mov word [rbp + 0x10c], ax
mov word [rbp + 0x10e], r11w
mov word [rbp + 0x110], r8w
lea r14d, [r12 + 0x33]
mov word [rbp + 0x112], r14w
mov word [rbp + 0x114], dx
mov word [rbp + 0x116], bx
lea eax, [rdx + 0x10]
mov word [rbp + 0x118], ax
mov word [rbp + 0x11a], r10w
lea eax, [rdx + 0x1f]
mov word [rbp + 0x11c], ax
mov word [rbp + 0x11e], r13w
lea eax, [rdx - 6]
mov word [rbp + 0x120], ax
mov word [rbp + 0x122], ax
mov word [rbp + 0x124], ax
mov word [rbp + 0x126], r12w
mov word [rbp + 0x128], dx
mov word [rbp + 0x12a], dx
lea eax, [rdx - 0x14]
mov word [rbp + 0x12c], ax
mov word [rbp + 0x12e], dx
mov word [rbp + 0x130], dx
mov word [rbp + 0x132], dx
mov word [rbp + 0x134], dx
mov word [rbp + 0x136], dx
mov word [rbp + 0x138], dx
mov word [rbp + 0x13a], dx
mov word [rbp + 0x13c], dx
mov word [rbp + 0x13e], dx
mov word [rbp + 0x140], dx
mov word [rbp + 0x142], dx
mov word [rbp + 0x144], dx
mov word [rbp + 0x146], dx
mov word [rbp + 0x148], dx
mov word [rbp + 0x14a], dx
mov word [rbp + 0x14c], dx
mov word [rbp + 0x14e], dx
mov word [rbp + 0x150], dx
mov word [rbp + 0x152], dx
mov word [rbp + 0x154], dx
mov word [rbp + 0x156], dx
mov word [rbp + 0x158], dx
mov word [rbp + 0x15a], dx
mov word [rbp + 0x15c], dx
lea eax, [rdx - 0x16]
mov word [rbp + 0x15e], ax
lea eax, [rdx - 7]
mov word [rbp + 0x160], ax
mov word [rbp + 0x162], dx
mov word [rbp + 0x164], r12w
mov word [rbp + 0x166], dx
mov word [rbp + 0x168], dx
lea eax, [rdx + 0x2c]
mov word [rbp + 0x16a], ax
mov word [rbp + 0x16c], dx
mov word [rbp + 0x16e], dx
mov word [rbp + 0x170], dx
mov word [rbp + 0x172], dx
mov word [rbp + 0x174], dx
mov word [rbp + 0x176], dx
mov word [rbp + 0x178], dx
mov word [rbp + 0x17a], dx
mov word [rbp + 0x17c], dx
mov word [rbp + 0x17e], dx
mov word [rbp + 0x180], dx
mov word [rbp + 0x182], dx
mov word [rbp + 0x184], dx
mov word [rbp + 0x186], dx
mov word [rbp + 0x188], dx
mov word [rbp + 0x18a], dx
mov word [rbp + 0x18c], dx
mov word [rbp + 0x18e], dx
mov word [rbp + 0x190], dx
mov word [rbp + 0x192], dx
mov word [rbp + 0x194], dx
mov word [rbp + 0x196], dx
mov word [rbp + 0x198], dx
mov word [rbp + 0x19a], dx
mov word [rbp + 0x19c], dx
mov word [rbp + 0x19e], ax
mov word [rbp + 0x1a0], dx
mov word [rbp + 0x1a2], dx
mov word [rbp + 0x1a4], dx
mov word [rbp + 0x1a6], dx
lea r10d, [r12 + 0x30]
mov word [rbp + 0x1a8], r10w
mov word [rbp + 0x1aa], r13w
mov word [rbp + 0x1ac], r8w
mov word [rbp + 0x1ae], r11w
lea eax, [rdx + 0x19]
mov word [rbp + 0x1b0], ax
mov word [rbp + 0x1b2], si
lea r10d, [r12 + 0x4d]
mov word [rbp + 0x1b4], r10w
mov word [rbp + 0x1b6], dx
mov word [rbp + 0x1b8], ax
mov word [rbp + 0x1ba], cx
mov word [rbp + 0x1bc], dx
lea r10d, [r12 + 0x48]
mov word [rbp + 0x1be], r10w
mov word [rbp + 0x1c0], r14w
mov word [rbp + 0x1c2], cx
mov word [rbp + 0x1c4], r13w
mov word [rbp + 0x1c6], dx
mov word [rbp + 0x1c8], r10w
mov word [rbp + 0x1ca], r14w
mov word [rbp + 0x1cc], dx
mov word [rbp + 0x1ce], r10w
mov word [rbp + 0x1d0], r14w
mov word [rbp + 0x1d2], cx
mov word [rbp + 0x1d4], r13w
lea r14d, [r12 + 0x24]
mov word [rbp + 0x1d6], r14w
mov word [rbp + 0x1d8], r14w
mov word [rbp + 0x1da], r14w
mov word [rbp + 0x1dc], r12w
mov word [rbp + 0x1de], dx
mov word [rbp + 0x1e0], dx
mov word [rbp + 0x1e2], dx
lea eax, [rdx + 0xc]
mov word [rbp + 0x1e4], ax
mov word [rbp + 0x1e6], r14w
mov word [rbp + 0x1e8], di
mov word [rbp + 0x1ea], dx
mov word [rbp + 0x1ec], dx
mov word [rbp + 0x1ee], dx
mov word [rbp + 0x1f0], dx
mov word [rbp + 0x1f2], dx
mov word [rbp + 0x1f4], dx
mov word [rbp + 0x1f6], dx
mov word [rbp + 0x1f8], dx
mov word [rbp + 0x1fa], dx
mov word [rbp + 0x1fc], dx
mov word [rbp + 0x1fe], dx
mov word [rbp + 0x200], dx
mov word [rbp + 0x202], dx
mov word [rbp + 0x204], dx
mov word [rbp + 0x206], dx
mov word [rbp + 0x208], dx
mov word [rbp + 0x20a], dx
mov word [rbp + 0x20c], dx
mov word [rbp + 0x20e], dx
mov word [rbp + 0x210], di
mov word [rbp + 0x212], r14w
lea r9d, [r12 + 0x25]
mov word [rbp + 0x214], r9w
mov word [rbp + 0x216], dx
mov word [rbp + 0x218], dx
mov word [rbp + 0x21a], r12w
mov word [rbp + 0x21c], dx
mov word [rbp + 0x21e], dx
mov word [rbp + 0x220], dx
mov word [rbp + 0x222], dx
mov word [rbp + 0x224], dx
mov word [rbp + 0x226], dx
lea eax, [rdx + 0x40]
mov word [rbp + 0x228], ax
mov word [rbp + 0x22a], ax
mov word [rbp + 0x22c], ax
lea eax, [rdx - 3]
mov word [rbp + 0x22e], ax
mov word [rbp + 0x230], ax
mov word [rbp + 0x232], r14w
mov word [rbp + 0x234], dx
mov word [rbp + 0x236], r14w
mov word [rbp + 0x238], dx
mov word [rbp + 0x23a], r15w
mov word [rbp + 0x23c], dx
lea eax, [rdx - 0x19]
mov word [rbp + 0x23e], ax
mov word [rbp + 0x240], dx
mov word [rbp + 0x242], r14w
lea edi, [rdx - 3]
mov word [rbp + 0x244], di
mov word [rbp + 0x246], di
lea edi, [rdx + 3]
mov word [rbp + 0x248], di
mov word [rbp + 0x24a], di
mov word [rbp + 0x24c], di
mov word [rbp + 0x24e], dx
mov word [rbp + 0x250], dx
mov word [rbp + 0x252], dx
mov word [rbp + 0x254], dx
mov word [rbp + 0x256], dx
mov word [rbp + 0x258], dx
mov word [rbp + 0x25a], dx
mov word [rbp + 0x25c], dx
mov word [rbp + 0x25e], r13w
lea r9d, [r12 + 0x32]
mov word [rbp + 0x260], r9w
lea r9d, [r12 + 0x3a]
mov word [rbp + 0x262], r9w
mov word [rbp + 0x264], r13w
lea r9d, [r12 + 0x49]
mov word [rbp + 0x266], r9w
mov word [rbp + 0x268], cx
mov word [rbp + 0x26a], dx
lea r9d, [r12 + 0x3a]
mov word [rbp + 0x26c], r9w
mov word [rbp + 0x26e], r8w
mov word [rbp + 0x270], r11w
lea r9d, [r12 + 0x49]
mov word [rbp + 0x272], r9w
mov word [rbp + 0x274], r13w
mov word [rbp + 0x276], bx
mov word [rbp + 0x278], bx
mov word [rbp + 0x27a], dx
mov word [rbp + 0x27c], r13w
lea r8d, [r12 + 0x32]
mov word [rbp + 0x27e], r8w
lea r8d, [r12 + 0x3a]
mov word [rbp + 0x280], r8w
lea r8d, [r12 + 0x46]
mov word [rbp + 0x282], r8w
mov word [rbp + 0x284], r11w
mov word [rbp + 0x286], bx
lea r8d, [r12 + 0x43]
mov word [rbp + 0x288], r8w
mov word [rbp + 0x28a], r11w
mov word [rbp + 0x28c], si
mov word [rbp + 0x28e], dx
mov word [rbp + 0x290], r8w
mov word [rbp + 0x292], si
mov word [rbp + 0x294], dx
lea r8d, [r12 + 0x4b]
mov word [rbp + 0x296], r8w
mov word [rbp + 0x298], r10w
mov word [rbp + 0x29a], r11w
lea r9d, [r12 + 0x3f]
mov word [rbp + 0x29c], r9w
mov word [rbp + 0x29e], cx
mov word [rbp + 0x2a0], r14w
mov word [rbp + 0x2a2], r14w
mov word [rbp + 0x2a4], r14w
mov word [rbp + 0x2a6], r12w
mov word [rbp + 0x2a8], dx
mov word [rbp + 0x2aa], dx
mov word [rbp + 0x2ac], dx
mov word [rbp + 0x2ae], dx
mov word [rbp + 0x2b0], dx
mov word [rbp + 0x2b2], dx
mov word [rbp + 0x2b4], dx
mov word [rbp + 0x2b6], dx
mov word [rbp + 0x2b8], dx
mov word [rbp + 0x2ba], dx
mov word [rbp + 0x2bc], dx
mov word [rbp + 0x2be], dx
lea ebx, [rdx + 0x2c]
mov word [rbp + 0x2c0], bx
mov word [rbp + 0x2c2], dx
mov word [rbp + 0x2c4], bx
mov word [rbp + 0x2c6], dx
mov word [rbp + 0x2c8], dx
mov word [rbp + 0x2ca], dx
mov word [rbp + 0x2cc], bx
mov word [rbp + 0x2ce], dx
mov word [rbp + 0x2d0], dx
mov word [rbp + 0x2d2], dx
mov word [rbp + 0x2d4], dx
mov word [rbp + 0x2d6], dx
mov word [rbp + 0x2d8], dx
mov word [rbp + 0x2da], dx
mov word [rbp + 0x2dc], dx
mov word [rbp + 0x2de], dx
mov word [rbp + 0x2e0], dx
mov word [rbp + 0x2e2], dx
mov word [rbp + 0x2e4], dx
mov word [rbp + 0x2e6], dx
mov word [rbp + 0x2e8], dx
mov word [rbp + 0x2ea], r12w
mov word [rbp + 0x2ec], dx
mov word [rbp + 0x2ee], dx
mov word [rbp + 0x2f0], dx
mov word [rbp + 0x2f2], dx
mov word [rbp + 0x2f4], dx
mov word [rbp + 0x2f6], dx
mov word [rbp + 0x2f8], dx
mov word [rbp + 0x2fa], dx
mov word [rbp + 0x2fc], dx
mov word [rbp + 0x2fe], r14w
lea r8d, [r12 + 0x27]
mov word [rbp + 0x300], r8w
lea r13d, [r12 + 0x17]
mov word [rbp + 0x302], r13w
mov word [rbp + 0x304], bx
mov word [rbp + 0x306], bx
mov word [rbp + 0x308], dx
mov word [rbp + 0x30a], dx
mov word [rbp + 0x30c], bx
mov word [rbp + 0x30e], dx
mov word [rbp + 0x310], bx
mov word [rbp + 0x312], r13w
mov word [rbp + 0x314], r8w
mov word [rbp + 0x316], r14w
mov word [rbp + 0x318], dx
mov word [rbp + 0x31a], dx
mov word [rbp + 0x31c], dx
mov word [rbp + 0x31e], dx
mov word [rbp + 0x320], dx
mov word [rbp + 0x322], dx
mov word [rbp + 0x324], dx
mov word [rbp + 0x326], dx
mov word [rbp + 0x328], dx
mov word [rbp + 0x32a], dx
mov word [rbp + 0x32c], dx
mov word [rbp + 0x32e], r12w
mov word [rbp + 0x330], dx
mov word [rbp + 0x332], dx
mov word [rbp + 0x334], dx
mov word [rbp + 0x336], dx
mov word [rbp + 0x338], dx
mov word [rbp + 0x33a], dx
mov word [rbp + 0x33c], dx
mov word [rbp + 0x33e], dx
mov word [rbp + 0x340], dx
lea ecx, [rdx + 0x40]
mov word [rbp + 0x342], cx
mov word [rbp + 0x344], r8w
mov word [rbp + 0x346], r13w
lea r9d, [r12 + 0x29]
mov word [rbp + 0x348], r9w
lea r10d, [r12 + 0x2e]
mov word [rbp + 0x34a], r10w
lea r11d, [r12 + 0x2f]
mov word [rbp + 0x34c], r11w
lea esi, [rdx + 2]
mov word [rbp + 0x34e], si
mov word [rbp + 0x350], r11w
mov word [rbp + 0x352], r10w
mov word [rbp + 0x354], r9w
mov word [rbp + 0x356], r13w
mov word [rbp + 0x358], r8w
mov word [rbp + 0x35a], di
mov word [rbp + 0x35c], dx
mov word [rbp + 0x35e], dx
mov word [rbp + 0x360], dx
mov word [rbp + 0x362], dx
mov word [rbp + 0x364], dx
mov word [rbp + 0x366], dx
mov word [rbp + 0x368], dx
mov word [rbp + 0x36a], dx
mov word [rbp + 0x36c], dx
mov word [rbp + 0x36e], dx
mov word [rbp + 0x370], dx
lea ecx, [rdx - 0x11]
mov word [rbp + 0x372], cx
mov word [rbp + 0x374], r14w
mov word [rbp + 0x376], r14w
mov word [rbp + 0x378], r14w
mov word [rbp + 0x37a], r12w
mov word [rbp + 0x37c], dx
mov word [rbp + 0x37e], dx
mov word [rbp + 0x380], dx
mov word [rbp + 0x382], dx
mov word [rbp + 0x384], dx
mov word [rbp + 0x386], dx
mov word [rbp + 0x388], dx
mov word [rbp + 0x38a], dx
mov word [rbp + 0x38c], dx
mov word [rbp + 0x38e], dx
mov word [rbp + 0x390], dx
mov word [rbp + 0x392], dx
mov word [rbp + 0x394], bx
mov word [rbp + 0x396], dx
mov word [rbp + 0x398], ax
mov word [rbp + 0x39a], dx
mov word [rbp + 0x39c], dx
lea ebx, [rdx - 0x1a]
mov word [rbp + 0x39e], bx
lea eax, [rdx + 0x2c]
mov word [rbp + 0x3a0], ax
mov word [rbp + 0x3a2], dx
mov word [rbp + 0x3a4], dx
mov word [rbp + 0x3a6], dx
mov word [rbp + 0x3a8], dx
mov word [rbp + 0x3aa], dx
mov word [rbp + 0x3ac], dx
mov word [rbp + 0x3ae], dx
mov word [rbp + 0x3b0], dx
mov word [rbp + 0x3b2], dx
mov word [rbp + 0x3b4], dx
mov word [rbp + 0x3b6], dx
mov word [rbp + 0x3b8], dx
mov word [rbp + 0x3ba], dx
mov word [rbp + 0x3bc], dx
mov word [rbp + 0x3be], r12w
mov word [rbp + 0x3c0], dx
mov word [rbp + 0x3c2], dx
mov word [rbp + 0x3c4], dx
lea edi, [rdx + 0xb]
mov word [rbp + 0x3c6], di
mov word [rbp + 0x3c8], di
mov word [rbp + 0x3ca], di
mov word [rbp + 0x3cc], di
mov word [rbp + 0x3ce], di
mov word [rbp + 0x3d0], r14w
mov word [rbp + 0x3d2], r15w
mov word [rbp + 0x3d4], r8w
mov word [rbp + 0x3d6], r9w
mov word [rbp + 0x3d8], r11w
mov word [rbp + 0x3da], si
mov word [rbp + 0x3dc], r10w
lea eax, [rdx + 0x20]
mov word [rbp + 0x3de], ax
mov word [rbp + 0x3e0], r11w
mov word [rbp + 0x3e2], r9w
mov word [rbp + 0x3e4], si
mov word [rbp + 0x3e6], r9w
lea ecx, [rdx + 0x2a]
mov word [rbp + 0x3e8], cx
mov word [rbp + 0x3ea], r15w
mov word [rbp + 0x3ec], r14w
mov word [rbp + 0x3ee], di
mov word [rbp + 0x3f0], di
mov word [rbp + 0x3f2], di
mov word [rbp + 0x3f4], di
mov word [rbp + 0x3f6], di
mov word [rbp + 0x3f8], dx
mov word [rbp + 0x3fa], dx
mov word [rbp + 0x3fc], dx
mov word [rbp + 0x3fe], dx
mov word [rbp + 0x400], dx
lea eax, [rdx - 0x12]
mov word [rbp + 0x402], ax
mov word [rbp + 0x404], r14w
mov word [rbp + 0x406], r14w
mov word [rbp + 0x408], r14w
mov word [rbp + 0x40a], r12w
xor eax, eax
mov word [rbp + 0x40c], ax
movzx eax, word [rbp + 0x50]
xor r8d, r8d
mov edx, r8d
lea r9d, [r12 - 0xf]
movzx eax, word [rbp + rdx*2 + 0x50]
mov ecx, dword [rbp + 0x4c]
xor cx, ax
mov word [rbp + rdx*2 + 0x50], cx
add rdx, r9
cmp rdx, 0x1de
jb 0x14022116e
mov word [rbp + 0x40c], r8w
lea rcx, [rbp + 0x50]
call fcn.1400c49c8
nop
xor edx, edx
mov r8d, 0x3be
lea rcx, [rbp + 0x50]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rcx, qword [rbp + 0x4d0]
call fcn.14021fb58
jmp 0x140221ccb
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov esi, 0x54
lea r14d, [rsi - 0x11]
lea r13d, [rsi - 0x2d]
mov eax, dword [rdx + rcx]
cmp dword [0x1402d896c], eax
jle 0x140221528
lea rcx, [0x1402d896c]
call fcn.14027b540
or rbx, 0xffffffffffffffff
cmp dword [0x1402d896c], ebx
jne 0x140221523
lea rax, [rbp + 0x430]
mov qword [rbp + 0x4e0], rax
mov dword [rsp + 0x40], 0x6d
mov eax, dword [rsp + 0x40]
xor al, r14b
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x40]
lea r8d, [rsi - 0x53]
add al, r8b
xor al, 0x72
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x40]
add al, 2
xor al, 0x65
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x40]
add al, 3
xor al, 0x61
mov byte [rsp + 0x47], al
mov eax, dword [rsp + 0x40]
add al, 4
xor al, 0x74
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x40]
add al, 5
xor al, 0x65
mov byte [rsp + 0x49], al
mov eax, dword [rsp + 0x40]
add al, 6
xor al, sil
mov byte [rsp + 0x4a], al
mov eax, dword [rsp + 0x40]
add al, 7
xor al, 0x68
mov byte [rsp + 0x4b], al
mov eax, dword [rsp + 0x40]
add al, 8
xor al, 0x72
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x40]
add al, 9
xor al, 0x65
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x40]
add al, 0xa
xor al, 0x61
mov byte [rsp + 0x4e], al
mov eax, dword [rsp + 0x40]
add al, 0xb
xor al, 0x64
mov byte [rsp + 0x4f], al
xor eax, eax
mov byte [rsp + 0x50], al
mov al, byte [rsp + 0x44]
mov rdx, rdi
lea r15d, [rsi - 0x48]
mov al, byte [rsp + rdx + 0x44]
mov ecx, dword [rsp + 0x40]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x44], cl
add rdx, r8
cmp rdx, r15
jb 0x1402212c4
mov byte [rsp + 0x50], dil
mov qword [rbp + 0x430], rdi
mov qword [rbp + 0x440], rdi
mov eax, 0xf
mov qword [rbp + 0x448], rax
lea rcx, [rsp + 0x44]
mov rdi, rbx
inc rdi
cmp byte [rcx + rdi], 0
jne 0x140221303
lea rcx, [rbp + 0x430]
cmp rdi, rax
ja 0x140221337
mov qword [rbp + 0x440], rdi
mov r8, rdi
lea rdx, [rsp + 0x44]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + rdi + 0x430], 0
jmp 0x140221345
lea r9, [rsp + 0x44]
mov rdx, rdi
call fcn.1400ada10
nop
mov eax, 0xc
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
xor al, 0x6b
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x54]
mov r8d, 1
add al, r8b
xor al, 0x65
mov byte [rsp + 0x59], al
mov eax, dword [rsp + 0x54]
add al, 2
xor al, 0x72
mov byte [rsp + 0x5a], al
mov eax, dword [rsp + 0x54]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x54]
add al, 4
xor al, 0x65
mov byte [rsp + 0x5c], al
mov eax, dword [rsp + 0x54]
add al, 5
xor al, 0x6c
mov byte [rsp + 0x5d], al
mov eax, dword [rsp + 0x54]
add al, 6
xor al, 0x33
mov byte [rsp + 0x5e], al
mov eax, dword [rsp + 0x54]
add al, 7
xor al, 0x32
mov byte [rsp + 0x5f], al
xor eax, eax
mov byte [rsp + 0x60], al
mov al, byte [rsp + 0x58]
xor edi, edi
mov edx, edi
lea r15d, [r8 + 7]
mov al, byte [rsp + rdx + 0x58]
mov ecx, dword [rsp + 0x54]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x58], cl
add rdx, r8
cmp rdx, r15
jb 0x1402213c5
mov byte [rsp + 0x60], dil
mov qword [rbp + 0x410], rdi
mov qword [rbp + 0x420], rdi
mov eax, 0xf
mov qword [rbp + 0x428], rax
mov byte [rbp + 0x410], dil
lea rcx, [rsp + 0x58]
mov r15, qword [rbp + 0x4d0]
inc rbx
cmp byte [rcx + rbx], dil
jne 0x14022140f
lea rcx, [rbp + 0x410]
cmp rbx, rax
ja 0x140221443
mov qword [rbp + 0x420], rbx
mov r8, rbx
lea rdx, [rsp + 0x58]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + rbx + 0x410], dil
jmp 0x140221451
lea r9, [rsp + 0x58]
mov rdx, rbx
call fcn.1400ada10
nop
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x458]
call fcn.1401a82ac
nop
mov qword [rsp + 0x20], rdi
mov ebx, 1
mov r9b, bl
lea r8, [rbp + 0x430]
mov rdx, rax
lea rcx, [0x1402d9b10]
call fcn.1401d83b0
nop
mov rdx, qword [rbp + 0x428]
cmp rdx, r12
jb 0x1402214cb
inc rdx
mov rcx, qword [rbp + 0x410]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402214c6
add rdx, r13
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1402214c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov qword [rbp + 0x420], rdi
mov eax, 0xf
mov qword [rbp + 0x428], rax
mov byte [rbp + 0x410], dil
xor edx, edx
lea r8d, [rax - 6]
lea rcx, [rsp + 0x58]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xd]
lea rcx, [rsp + 0x44]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x14028f54c]
call fcn.14027b36c
nop
lea rcx, [0x1402d896c]
call fcn.14027b4e0
jmp 0x140221528
mov ebx, 1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rdx, [rbp + 0x4d8]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
lea r9, [0x140220284]
lea rcx, [0x1402d9b10]
call fcn.140264084
mov rcx, r15
call fcn.140220084
test al, al
jne 0x140221ccb
mov dword [rsp + 0x64], 0x36
mov eax, dword [rsp + 0x64]
xor ax, 0x5b
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x64]
add ax, bx
mov edx, 0x21
xor ax, dx
mov word [rsp + 0x6a], ax
mov eax, dword [rsp + 0x64]
add ax, 2
xor ax, 0x5d
mov word [rsp + 0x6c], ax
mov eax, dword [rsp + 0x64]
add ax, 3
lea ebx, [rdx - 1]
xor ax, bx
mov word [rsp + 0x6e], ax
mov eax, dword [rsp + 0x64]
add ax, 4
xor ax, 0x53
mov word [rsp + 0x70], ax
mov eax, dword [rsp + 0x64]
add ax, 5
lea r8d, [rdx + 0x27]
xor ax, r8w
mov word [rsp + 0x72], ax
mov eax, dword [rsp + 0x64]
add ax, 6
lea edi, [rdx + 0x24]
xor ax, di
mov word [rsp + 0x74], ax
mov eax, dword [rsp + 0x64]
add ax, 7
lea r10d, [rdx + 0x2b]
xor ax, r10w
mov word [rsp + 0x76], ax
mov eax, dword [rsp + 0x64]
add ax, 8
xor ax, r10w
mov word [rsp + 0x78], ax
mov eax, dword [rsp + 0x64]
add ax, 9
xor ax, r14w
mov word [rsp + 0x7a], ax
mov eax, dword [rsp + 0x64]
add ax, 0xa
lea r9d, [rdx + 0x2e]
xor ax, r9w
mov word [rsp + 0x7c], ax
mov eax, dword [rsp + 0x64]
add ax, 0xb
lea r15d, [rdx + 0x23]
xor ax, r15w
mov word [rsp + 0x7e], ax
mov eax, dword [rsp + 0x64]
add ax, 0xc
xor ax, di
mov word [rbp - 0x80], ax
mov eax, dword [rsp + 0x64]
add ax, 0xd
xor ax, bx
mov word [rbp - 0x7e], ax
mov eax, dword [rsp + 0x64]
add ax, 0xe
xor ax, si
mov word [rbp - 0x7c], ax
mov eax, dword [rsp + 0x64]
add ax, 0xf
xor ax, r8w
mov word [rbp - 0x7a], ax
mov eax, dword [rsp + 0x64]
add ax, r12w
xor ax, 0x52
mov word [rbp - 0x78], ax
mov eax, dword [rsp + 0x64]
add ax, 0x11
xor ax, r9w
mov word [rbp - 0x76], ax
mov eax, dword [rsp + 0x64]
add ax, 0x12
xor ax, 0x57
mov word [rbp - 0x74], ax
mov eax, dword [rsp + 0x64]
add ax, 0x13
lea ecx, [rdx + 0x2d]
xor ax, cx
mov word [rbp - 0x72], ax
mov eax, dword [rsp + 0x64]
add ax, 0x14
xor ax, bx
mov word [rbp - 0x70], ax
mov eax, dword [rsp + 0x64]
add ax, 0x15
xor ax, 0x55
mov word [rbp - 0x6e], ax
mov eax, dword [rsp + 0x64]
add ax, 0x16
xor ax, cx
mov word [rbp - 0x6c], ax
mov eax, dword [rsp + 0x64]
add ax, 0x17
xor ax, r8w
mov word [rbp - 0x6a], ax
mov eax, dword [rsp + 0x64]
add ax, 0x18
xor ax, 0x41
mov word [rbp - 0x68], ax
mov eax, dword [rsp + 0x64]
add ax, 0x19
xor ax, cx
mov word [rbp - 0x66], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1a
xor ax, r15w
mov word [rbp - 0x64], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1b
xor ax, r10w
mov word [rbp - 0x62], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1c
xor ax, di
mov word [rbp - 0x60], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1d
xor ax, r15w
mov word [rbp - 0x5e], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1e
xor ax, bx
mov word [rbp - 0x5c], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1f
xor ax, di
mov word [rbp - 0x5a], ax
mov eax, dword [rsp + 0x64]
add ax, bx
xor ax, 0x58
mov word [rbp - 0x58], ax
mov eax, dword [rsp + 0x64]
add ax, dx
xor ax, r14w
mov word [rbp - 0x56], ax
mov eax, dword [rsp + 0x64]
add ax, 0x22
xor ax, di
mov word [rbp - 0x54], ax
mov eax, dword [rsp + 0x64]
add ax, 0x23
xor ax, 0x50
mov word [rbp - 0x52], ax
mov eax, dword [rsp + 0x64]
add ax, 0x24
xor ax, si
mov word [rbp - 0x50], ax
mov eax, dword [rsp + 0x64]
add ax, 0x25
xor ax, 0x49
mov word [rbp - 0x4e], ax
mov eax, dword [rsp + 0x64]
add ax, 0x26
xor ax, r9w
mov word [rbp - 0x4c], ax
mov eax, dword [rsp + 0x64]
add ax, r13w
xor ax, cx
mov word [rbp - 0x4a], ax
mov eax, dword [rsp + 0x64]
add ax, 0x28
xor ax, 0x2e
mov word [rbp - 0x48], ax
xor eax, eax
mov word [rbp - 0x46], ax
movzx eax, word [rsp + 0x68]
xor r8d, r8d
mov edx, r8d
lea r15d, [rbx - 0x1f]
movzx eax, word [rsp + rdx*2 + 0x68]
mov ecx, dword [rsp + 0x64]
add cx, dx
xor cx, ax
mov word [rsp + rdx*2 + 0x68], cx
add rdx, r15
cmp rdx, 0x29
jb 0x140221826
mov word [rbp - 0x46], r8w
lea rcx, [rsp + 0x68]
call fcn.1400c49c8
nop
mov r8, rsi
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov r10d, 0x40
test byte [0x1402c7270], r10b
lea r15d, [r10 + 4]
jne 0x140221ccb
lea edx, [r10 - 0x18]
mov dword [rbp - 0x44], edx
mov eax, dword [rbp - 0x44]
xor ax, bx
mov word [rbp - 0x40], ax
mov eax, dword [rbp - 0x44]
inc ax
xor ax, bx
mov word [rbp - 0x3e], ax
mov eax, dword [rbp - 0x44]
add ax, 2
xor ax, bx
mov word [rbp - 0x3c], ax
mov eax, dword [rbp - 0x44]
add ax, 3
xor ax, bx
mov word [rbp - 0x3a], ax
mov eax, dword [rbp - 0x44]
add ax, 4
xor ax, si
mov word [rbp - 0x38], ax
mov eax, dword [rbp - 0x44]
add ax, 5
xor ax, 0x72
mov word [rbp - 0x36], ax
mov eax, dword [rbp - 0x44]
add ax, 6
xor ax, 0x79
mov word [rbp - 0x34], ax
mov eax, dword [rbp - 0x44]
add ax, 7
xor ax, bx
mov word [rbp - 0x32], ax
mov eax, dword [rbp - 0x44]
add ax, 8
xor ax, 0x63
mov word [rbp - 0x30], ax
mov eax, dword [rbp - 0x44]
add ax, 9
xor ax, 0x68
mov word [rbp - 0x2e], ax
mov eax, dword [rbp - 0x44]
add ax, 0xa
xor ax, 0x61
mov word [rbp - 0x2c], ax
mov eax, dword [rbp - 0x44]
add ax, 0xb
mov r9w, 0x6e
xor ax, r9w
mov word [rbp - 0x2a], ax
mov eax, dword [rbp - 0x44]
add ax, 0xc
xor ax, 0x67
mov word [rbp - 0x28], ax
mov eax, dword [rbp - 0x44]
add ax, 0xd
xor ax, 0x69
mov word [rbp - 0x26], ax
mov eax, dword [rbp - 0x44]
add ax, 0xe
xor ax, r9w
mov word [rbp - 0x24], ax
mov eax, dword [rbp - 0x44]
add ax, 0xf
xor ax, 0x67
mov word [rbp - 0x22], ax
mov eax, dword [rbp - 0x44]
add ax, r12w
xor ax, bx
mov word [rbp - 0x20], ax
mov eax, dword [rbp - 0x44]
add ax, 0x11
xor ax, 0x50
mov word [rbp - 0x1e], ax
mov eax, dword [rbp - 0x44]
add ax, 0x12
xor ax, 0x61
mov word [rbp - 0x1c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x13
xor ax, 0x67
mov word [rbp - 0x1a], ax
mov eax, dword [rbp - 0x44]
add ax, 0x14
xor ax, 0x65
mov word [rbp - 0x18], ax
mov eax, dword [rbp - 0x44]
add ax, 0x15
xor ax, bx
mov word [rbp - 0x16], ax
mov eax, dword [rbp - 0x44]
add ax, 0x16
xor ax, 0x70
mov word [rbp - 0x14], ax
mov eax, dword [rbp - 0x44]
add ax, 0x17
xor ax, 0x72
mov word [rbp - 0x12], ax
mov eax, dword [rbp - 0x44]
add ax, 0x18
mov r8w, 0x6f
xor ax, r8w
mov word [rbp - 0x10], ax
mov eax, dword [rbp - 0x44]
add ax, 0x19
xor ax, 0x74
mov word [rbp - 0xe], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1a
xor ax, 0x65
mov word [rbp - 0xc], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1b
xor ax, 0x63
mov word [rbp - 0xa], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1c
xor ax, 0x74
mov word [rbp - 8], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1d
xor ax, 0x69
mov word [rbp - 6], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1e
xor ax, r8w
mov word [rbp - 4], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1f
xor ax, r9w
mov word [rbp - 2], ax
mov eax, dword [rbp - 0x44]
add ax, bx
xor ax, bx
mov word [rbp], ax
mov eax, dword [rbp - 0x44]
add ax, 0x21
xor ax, r8w
mov word [rbp + 2], ax
mov eax, dword [rbp - 0x44]
add ax, 0x22
xor ax, 0x70
mov word [rbp + 4], ax
mov eax, dword [rbp - 0x44]
add ax, 0x23
xor ax, 0x74
mov word [rbp + 6], ax
mov eax, dword [rbp - 0x44]
add ax, 0x24
xor ax, 0x69
mov word [rbp + 8], ax
mov eax, dword [rbp - 0x44]
add ax, 0x25
xor ax, r8w
mov word [rbp + 0xa], ax
mov eax, dword [rbp - 0x44]
add ax, 0x26
xor ax, r9w
mov word [rbp + 0xc], ax
mov eax, dword [rbp - 0x44]
add ax, r13w
xor ax, 0x73
mov word [rbp + 0xe], ax
mov eax, dword [rbp - 0x44]
add ax, dx
xor ax, bx
mov word [rbp + 0x10], ax
mov eax, dword [rbp - 0x44]
add ax, 0x29
xor ax, 0x62
mov word [rbp + 0x12], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2a
xor ax, 0x79
mov word [rbp + 0x14], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2b
xor ax, bx
mov word [rbp + 0x16], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2c
xor ax, 0x2d
mov word [rbp + 0x18], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2d
xor ax, 0x50
mov word [rbp + 0x1a], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2e
xor ax, bx
mov word [rbp + 0x1c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2f
xor ax, 0x50
mov word [rbp + 0x1e], ax
mov eax, dword [rbp - 0x44]
add ax, 0x30
xor ax, 0x41
mov word [rbp + 0x20], ax
mov eax, dword [rbp - 0x44]
add ax, 0x31
xor ax, 0x47
mov word [rbp + 0x22], ax
mov eax, dword [rbp - 0x44]
add ax, 0x32
xor ax, di
mov word [rbp + 0x24], ax
mov eax, dword [rbp - 0x44]
add ax, 0x33
lea r13d, [r10 + 0x1f]
xor ax, r13w
mov word [rbp + 0x26], ax
mov eax, dword [rbp - 0x44]
add ax, 0x34
xor ax, di
mov word [rbp + 0x28], ax
mov eax, dword [rbp - 0x44]
add ax, 0x35
xor ax, 0x58
mov word [rbp + 0x2a], ax
mov eax, dword [rbp - 0x44]
add ax, 0x36
xor ax, di
mov word [rbp + 0x2c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x37
xor ax, r14w
mov word [rbp + 0x2e], ax
mov eax, dword [rbp - 0x44]
add ax, 0x38
xor ax, 0x55
mov word [rbp + 0x30], ax
mov eax, dword [rbp - 0x44]
add ax, 0x39
xor ax, si
mov word [rbp + 0x32], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3a
xor ax, di
mov word [rbp + 0x34], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3b
xor ax, r13w
mov word [rbp + 0x36], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3c
xor ax, 0x52
mov word [rbp + 0x38], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3d
xor ax, di
mov word [rbp + 0x3a], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3e
xor ax, 0x41
mov word [rbp + 0x3c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3f
xor ax, r15w
mov word [rbp + 0x3e], ax
mov eax, dword [rbp - 0x44]
add ax, r10w
xor ax, 0x57
mov word [rbp + 0x40], ax
mov eax, dword [rbp - 0x44]
add ax, 0x41
xor ax, 0x52
mov word [rbp + 0x42], ax
mov eax, dword [rbp - 0x44]
add ax, 0x42
xor ax, 0x49
mov word [rbp + 0x44], ax
mov eax, dword [rbp - 0x44]
add ax, r14w
xor ax, si
mov word [rbp + 0x46], ax
mov eax, dword [rbp - 0x44]
add ax, r15w
xor ax, di
mov word [rbp + 0x48], ax
xor eax, eax
mov word [rbp + 0x4a], ax
movzx eax, word [rbp - 0x40]
xor r8d, r8d
mov edx, r8d
movzx eax, word [rbp + rdx*2 - 0x40]
mov ecx, dword [rbp - 0x44]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x40], cx
inc rdx
cmp rdx, rdi
jb 0x140221c8f
mov word [rbp + 0x4a], r8w
lea rcx, [rbp - 0x40]
call fcn.1400c49c8
nop
xor edx, edx
mov r8d, 0x8c
lea rcx, [rbp - 0x40]
call qword [sym.imp.VCRUNTIME140.dll_memset]
add rsp, 0x588
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret