Function at 0x18020b49c
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 r13, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
xor edx, edx
call fcn.180198678
call fcn.180209ce0
xor r15d, r15d
test al, al
je 0x18020ce58
mov cl, byte [0x1802b61a8]
call fcn.1801898dc
test al, al
je 0x18020ce58
lea ebx, [r15 + 1]
cmp qword [0x1802b61b8], rbx
jbe 0x18020c3b4
mov dword [rbp + 0x4c], 0x14
lea r11d, [r15 + 0x1e]
mov word [rbp + 0x50], r11w
lea edx, [rbx + 0x33]
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 r9d, [r15 + 0x4b]
mov word [rbp + 0x60], r9w
lea ecx, [rbx + 0x39]
mov word [rbp + 0x62], cx
lea r8d, [r15 + 0x39]
mov word [rbp + 0x64], r8w
lea eax, [rbx + 0x49]
mov word [rbp + 0x66], ax
mov word [rbp + 0x68], ax
mov word [rbp + 0x6a], r8w
mov word [rbp + 0x6c], r8w
mov word [rbp + 0x6e], r8w
mov word [rbp + 0x70], cx
mov word [rbp + 0x72], cx
mov word [rbp + 0x74], cx
mov word [rbp + 0x76], cx
lea eax, [rbx + 0x37]
mov word [rbp + 0x78], ax
mov word [rbp + 0x7a], ax
mov word [rbp + 0x7c], r8w
mov word [rbp + 0x7e], r8w
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], r11w
mov word [rbp + 0x90], dx
mov word [rbp + 0x92], dx
mov word [rbp + 0x94], dx
mov word [rbp + 0x96], r9w
mov word [rbp + 0x98], r8w
mov word [rbp + 0x9a], r8w
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], r8w
mov word [rbp + 0xc2], r8w
mov word [rbp + 0xc4], r9w
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 eax, [rbx + 0x59]
mov word [rbp + 0xd2], ax
lea r15d, [rbx + 0x40]
mov word [rbp + 0xd4], r15w
lea r8d, [rbx + 0x5e]
mov word [rbp + 0xd6], r8w
lea r9d, [rbx + 0x5c]
mov word [rbp + 0xd8], r9w
mov word [rbp + 0xda], ax
lea r14d, [rbx + 0x52]
mov word [rbp + 0xdc], r14w
mov word [rbp + 0xde], dx
lea r8d, [rbx + 0x5a]
mov word [rbp + 0xe0], r8w
lea esi, [rbx + 0x42]
mov word [rbp + 0xe2], si
mov word [rbp + 0xe4], ax
mov word [rbp + 0xe6], dx
lea ebx, [rdx + 0x10]
mov word [rbp + 0xe8], bx
lea esi, [rdx + 0x12]
mov word [rbp + 0xea], si
mov word [rbp + 0xec], r8w
lea edi, [rdx + 0x23]
mov word [rbp + 0xee], di
lea eax, [rdx + 0x1d]
mov word [rbp + 0xf0], ax
lea eax, [rdx + 0x13]
mov word [rbp + 0xf2], ax
mov word [rbp + 0xf4], ax
mov word [rbp + 0xf6], dx
lea r10d, [r11 + 0x24]
mov word [rbp + 0xf8], r10w
mov word [rbp + 0xfa], r9w
mov word [rbp + 0xfc], si
lea r10d, [r11 + 0x22]
mov word [rbp + 0xfe], r10w
mov word [rbp + 0x100], r15w
lea esi, [rdx + 0x21]
mov word [rbp + 0x102], si
lea r12d, [r11 + 0x3a]
mov word [rbp + 0x104], r12w
mov word [rbp + 0x106], dx
lea r13d, [r11 + 0x3b]
mov word [rbp + 0x108], r13w
lea r13d, [r11 + 0x33]
mov word [rbp + 0x10a], r13w
lea r13d, [r11 + 0x3b]
mov word [rbp + 0x10c], r13w
mov word [rbp + 0x10e], r8w
lea r13d, [r11 + 0x28]
mov word [rbp + 0x110], r13w
lea r13d, [r11 + 0x2f]
mov word [rbp + 0x112], r13w
mov word [rbp + 0x114], dx
mov word [rbp + 0x116], ax
mov word [rbp + 0x118], bx
mov word [rbp + 0x11a], si
mov word [rbp + 0x11c], di
lea eax, [rdx + 0x1d]
mov word [rbp + 0x11e], ax
mov word [rbp + 0x120], cx
mov word [rbp + 0x122], cx
mov word [rbp + 0x124], cx
mov word [rbp + 0x126], r11w
mov word [rbp + 0x128], dx
mov word [rbp + 0x12a], dx
lea eax, [rdx - 0xc]
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 ecx, [rdx - 0xa]
mov word [rbp + 0x15e], cx
lea ecx, [rdx + 9]
mov word [rbp + 0x160], cx
mov word [rbp + 0x162], dx
mov word [rbp + 0x164], r11w
mov word [rbp + 0x166], dx
mov word [rbp + 0x168], dx
lea eax, [rdx + 0x34]
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 ecx, [rdx + 0x1a]
mov word [rbp + 0x1a8], cx
lea ecx, [rdx + 0x1d]
mov word [rbp + 0x1aa], cx
lea ecx, [rdx + 0x12]
mov word [rbp + 0x1ac], cx
mov word [rbp + 0x1ae], r8w
mov word [rbp + 0x1b0], r9w
lea ecx, [rdx + 0x26]
mov word [rbp + 0x1b2], cx
mov word [rbp + 0x1b4], r14w
mov word [rbp + 0x1b6], dx
mov word [rbp + 0x1b8], r9w
mov word [rbp + 0x1ba], r10w
mov word [rbp + 0x1bc], dx
lea ecx, [rdx + 0x22]
mov word [rbp + 0x1be], cx
mov word [rbp + 0x1c0], r13w
mov word [rbp + 0x1c2], r10w
lea r8d, [r11 + 0x33]
mov word [rbp + 0x1c4], r8w
mov word [rbp + 0x1c6], dx
mov word [rbp + 0x1c8], cx
mov word [rbp + 0x1ca], r13w
mov word [rbp + 0x1cc], dx
mov word [rbp + 0x1ce], cx
mov word [rbp + 0x1d0], r13w
mov word [rbp + 0x1d2], r10w
mov r13d, r8d
mov word [rbp + 0x1d4], r13w
lea ecx, [rdx + 6]
mov word [rbp + 0x1d6], cx
mov word [rbp + 0x1d8], cx
mov word [rbp + 0x1da], cx
mov word [rbp + 0x1dc], r11w
mov word [rbp + 0x1de], dx
mov word [rbp + 0x1e0], dx
mov word [rbp + 0x1e2], dx
lea r9d, [r11 + 0x2a]
mov word [rbp + 0x1e4], r9w
mov r9d, ecx
mov word [rbp + 0x1e6], r9w
lea ecx, [rdx + 0x17]
mov word [rbp + 0x1e8], cx
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], cx
mov word [rbp + 0x212], r9w
lea ecx, [rdx + 7]
mov word [rbp + 0x214], cx
mov word [rbp + 0x216], dx
mov word [rbp + 0x218], dx
mov word [rbp + 0x21a], r11w
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 r14d, [r11 + 0x56]
mov word [rbp + 0x228], r14w
mov word [rbp + 0x22a], r14w
mov word [rbp + 0x22c], r14w
lea ecx, [rdx + 5]
mov word [rbp + 0x22e], cx
mov word [rbp + 0x230], cx
mov word [rbp + 0x232], r9w
mov word [rbp + 0x234], dx
mov word [rbp + 0x236], r9w
mov word [rbp + 0x238], dx
lea r8d, [r11 + 0x1a]
mov word [rbp + 0x23a], r8w
mov word [rbp + 0x23c], dx
lea r8d, [r11 + 0x11]
mov word [rbp + 0x23e], r8w
mov word [rbp + 0x240], dx
mov word [rbp + 0x242], r9w
mov word [rbp + 0x244], cx
mov word [rbp + 0x246], cx
lea ecx, [rdx - 1]
mov word [rbp + 0x248], cx
mov word [rbp + 0x24a], cx
mov word [rbp + 0x24c], cx
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 r8d, [r11 + 0x2e]
mov word [rbp + 0x260], r8w
mov word [rbp + 0x262], bx
mov word [rbp + 0x264], r13w
mov word [rbp + 0x266], di
mov word [rbp + 0x268], r10w
mov word [rbp + 0x26a], dx
mov word [rbp + 0x26c], bx
lea ecx, [rdx + 0x12]
mov word [rbp + 0x26e], cx
lea ecx, [rdx + 0x27]
mov word [rbp + 0x270], cx
mov word [rbp + 0x272], di
mov word [rbp + 0x274], r13w
lea edi, [rdx + 0x13]
mov word [rbp + 0x276], di
mov word [rbp + 0x278], di
mov word [rbp + 0x27a], dx
mov word [rbp + 0x27c], r13w
mov word [rbp + 0x27e], r8w
mov word [rbp + 0x280], bx
mov word [rbp + 0x282], r12w
mov word [rbp + 0x284], cx
mov word [rbp + 0x286], di
lea r8d, [r11 + 0x3f]
mov word [rbp + 0x288], r8w
mov word [rbp + 0x28a], cx
lea ebx, [rdx + 0x26]
mov word [rbp + 0x28c], bx
mov word [rbp + 0x28e], dx
mov word [rbp + 0x290], r8w
mov word [rbp + 0x292], bx
mov word [rbp + 0x294], dx
mov word [rbp + 0x296], si
lea r8d, [r11 + 0x38]
mov word [rbp + 0x298], r8w
mov word [rbp + 0x29a], cx
mov word [rbp + 0x29c], r15w
mov word [rbp + 0x29e], r10w
mov word [rbp + 0x2a0], r9w
mov word [rbp + 0x2a2], r9w
mov word [rbp + 0x2a4], r9w
mov word [rbp + 0x2a6], r11w
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
mov word [rbp + 0x2c0], ax
mov word [rbp + 0x2c2], dx
mov word [rbp + 0x2c4], ax
mov word [rbp + 0x2c6], dx
mov word [rbp + 0x2c8], dx
mov word [rbp + 0x2ca], dx
mov word [rbp + 0x2cc], ax
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], r11w
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], r9w
lea r8d, [r11 + 0x1b]
mov word [rbp + 0x300], r8w
lea ecx, [rdx - 0xb]
mov word [rbp + 0x302], cx
mov word [rbp + 0x304], ax
mov word [rbp + 0x306], ax
mov word [rbp + 0x308], dx
mov word [rbp + 0x30a], dx
mov word [rbp + 0x30c], ax
mov word [rbp + 0x30e], dx
mov word [rbp + 0x310], ax
mov word [rbp + 0x312], cx
mov word [rbp + 0x314], r8w
mov word [rbp + 0x316], r9w
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], r11w
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
mov word [rbp + 0x342], r14w
mov word [rbp + 0x344], r8w
mov word [rbp + 0x346], cx
lea r14d, [r11 + 0x19]
mov word [rbp + 0x348], r14w
lea ebx, [rdx - 4]
mov word [rbp + 0x34a], bx
lea r10d, [r11 + 0x13]
mov word [rbp + 0x34c], r10w
lea esi, [rdx - 2]
mov word [rbp + 0x34e], si
mov word [rbp + 0x350], r10w
mov word [rbp + 0x352], bx
mov word [rbp + 0x354], r14w
mov word [rbp + 0x356], cx
mov word [rbp + 0x358], r8w
lea ecx, [rdx - 1]
mov word [rbp + 0x35a], cx
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 r12d, [r11 + 9]
mov word [rbp + 0x372], r12w
mov word [rbp + 0x374], r9w
mov word [rbp + 0x376], r9w
mov word [rbp + 0x378], r9w
mov word [rbp + 0x37a], r11w
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], ax
mov word [rbp + 0x396], dx
lea ecx, [rdx - 5]
mov word [rbp + 0x398], cx
mov word [rbp + 0x39a], dx
mov word [rbp + 0x39c], dx
lea ecx, [rdx - 6]
mov word [rbp + 0x39e], cx
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], r11w
mov word [rbp + 0x3c0], dx
mov word [rbp + 0x3c2], dx
mov word [rbp + 0x3c4], dx
lea r15d, [r11 + 0x2d]
mov word [rbp + 0x3c6], r15w
mov word [rbp + 0x3c8], r15w
mov word [rbp + 0x3ca], r15w
mov word [rbp + 0x3cc], r15w
mov word [rbp + 0x3ce], r15w
mov word [rbp + 0x3d0], r9w
lea eax, [rdx + 4]
mov word [rbp + 0x3d2], ax
mov word [rbp + 0x3d4], r8w
mov word [rbp + 0x3d6], r14w
mov word [rbp + 0x3d8], r10w
mov word [rbp + 0x3da], si
mov word [rbp + 0x3dc], bx
lea edi, [rdx + 0x20]
mov word [rbp + 0x3de], di
mov word [rbp + 0x3e0], r10w
mov word [rbp + 0x3e2], r14w
mov word [rbp + 0x3e4], si
mov word [rbp + 0x3e6], r14w
lea ecx, [rdx + 0x36]
mov word [rbp + 0x3e8], cx
mov word [rbp + 0x3ea], ax
mov word [rbp + 0x3ec], r9w
mov word [rbp + 0x3ee], r15w
mov word [rbp + 0x3f0], r15w
mov word [rbp + 0x3f2], r15w
mov word [rbp + 0x3f4], r15w
mov word [rbp + 0x3f6], r15w
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 - 0xe]
mov word [rbp + 0x402], ax
mov word [rbp + 0x404], r9w
mov word [rbp + 0x406], r9w
mov word [rbp + 0x408], r9w
mov word [rbp + 0x40a], r11w
xor eax, eax
mov word [rbp + 0x40c], ax
movzx eax, word [rbp + 0x50]
xor r8d, r8d
mov edx, r8d
mov r13, qword [rbp + 0x4d0]
lea r9d, [r11 - 0x1d]
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 0x18020c367
mov word [rbp + 0x40c], r8w
lea rcx, [rbp + 0x50]
call fcn.18009557c
nop
xor edx, edx
mov r8d, 0x3be
lea rcx, [rbp + 0x50]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rcx, r13
call fcn.18020ae80
jmp 0x18020ce58
mov ecx, dword [0x1802bccdc]
mov rax, qword gs:[0x58]
mov r8d, 4
mov rdx, qword [rax + rcx*8]
mov esi, 0x43
lea edi, [rsi + 0x11]
lea r14d, [rsi + 0x31]
lea r12d, [rsi - 0x1c]
mov eax, dword [r8 + rdx]
cmp dword [0x1802c8f3c], eax
jle 0x18020c696
lea rcx, [0x1802c8f3c]
call fcn.1802696f0
or rbx, 0xffffffffffffffff
cmp dword [0x1802c8f3c], ebx
jne 0x18020c691
lea rax, [rbp + 0x430]
mov qword [rbp + 0x4e0], rax
mov dword [rsp + 0x40], 0x6f
mov eax, dword [rsp + 0x40]
xor al, sil
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x40]
lea r8d, [rsi - 0x42]
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, r14b
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, dil
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, r15
lea r15d, [rsi - 0x37]
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 0x18020c4c6
xor r15d, r15d
mov byte [rsp + 0x50], r15b
xorps xmm0, xmm0
movups xmmword [rbp + 0x430], xmm0
mov qword [rbp + 0x440], r15
mov qword [rbp + 0x448], r15
lea rax, [rsp + 0x44]
mov r8, rbx
inc r8
cmp byte [rax + r8], r15b
jne 0x18020c506
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0x430]
call fcn.18007b70c
nop
mov eax, 0x50
mov dword [rsp + 0x54], eax
mov byte [rsp + 0x58], 0x3b
mov byte [rsp + 0x59], 0x35
mov byte [rsp + 0x5a], 0x22
mov byte [rsp + 0x5b], 0x3e
mov byte [rsp + 0x5c], 0x35
mov byte [rsp + 0x5d], 0x3c
mov byte [rsp + 0x5e], 0x63
mov byte [rsp + 0x5f], 0x62
xor eax, eax
mov byte [rsp + 0x60], al
mov al, byte [rsp + 0x58]
mov rdx, r15
mov r9d, 1
lea r15d, [r9 + 7]
mov al, byte [rsp + rdx + 0x58]
mov ecx, dword [rsp + 0x54]
xor cl, al
mov byte [rsp + rdx + 0x58], cl
add rdx, r9
cmp rdx, r15
jb 0x18020c569
xor r15d, r15d
mov byte [rsp + 0x60], r15b
xorps xmm0, xmm0
movups xmmword [rbp + 0x410], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x420], xmm1
lea rax, [rsp + 0x58]
inc rbx
cmp byte [rax + rbx], r15b
jne 0x18020c5a1
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x410]
call fcn.18007b70c
nop
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x458]
call fcn.180188b20
nop
mov qword [rsp + 0x20], r15
mov ebx, 1
mov r9b, bl
lea r8, [rbp + 0x430]
mov rdx, rax
lea rcx, [0x1802ca0e0]
call fcn.1801ba8b4
nop
mov rdx, qword [rbp + 0x428]
lea eax, [rbx + 0xf]
cmp rdx, rax
jb 0x18020c63c
inc rdx
mov rcx, qword [rbp + 0x410]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18020c637
add rdx, r12
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18020c637
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180269534
movdqa xmm0, xmmword [0x180280de0]
movdqu xmmword [rbp + 0x420], xmm0
mov byte [rbp + 0x410], r15b
xor edx, edx
lea r8d, [rdx + 9]
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, [0x18027e4f8]
call fcn.18026951c
nop
lea rcx, [0x1802c8f3c]
call fcn.180269690
jmp 0x18020c696
mov ebx, 1
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea rdx, [rbp + 0x4d8]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
lea r9, [0x18020b484]
lea rcx, [0x1802ca0e0]
call fcn.18024eb2c
mov rcx, r13
call fcn.18020b358
test al, al
jne 0x18020ce58
mov eax, 0x4a
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
xor ax, 0x5b
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x64]
add ax, bx
xor ax, 0x21
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
mov r10w, 0x20
xor ax, r10w
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
mov r9d, 0x48
xor ax, r9w
mov word [rsp + 0x72], ax
mov eax, dword [rsp + 0x64]
add ax, 6
lea r11d, [r9 - 3]
xor ax, r11w
mov word [rsp + 0x74], ax
mov eax, dword [rsp + 0x64]
add ax, 7
lea r8d, [r9 + 4]
xor ax, r8w
mov word [rsp + 0x76], ax
mov eax, dword [rsp + 0x64]
add ax, 8
xor ax, r8w
mov word [rsp + 0x78], ax
mov eax, dword [rsp + 0x64]
add ax, 9
xor ax, si
mov word [rsp + 0x7a], ax
mov eax, dword [rsp + 0x64]
add ax, 0xa
xor ax, 0x4f
mov word [rsp + 0x7c], ax
mov eax, dword [rsp + 0x64]
add ax, 0xb
lea ebx, [r9 - 4]
xor ax, bx
mov word [rsp + 0x7e], ax
mov eax, dword [rsp + 0x64]
add ax, 0xc
xor ax, r11w
mov word [rbp - 0x80], ax
mov eax, dword [rsp + 0x64]
add ax, 0xd
xor ax, r10w
mov word [rbp - 0x7e], ax
mov eax, dword [rsp + 0x64]
add ax, 0xe
xor ax, di
mov word [rbp - 0x7c], ax
mov eax, dword [rsp + 0x64]
add ax, 0xf
xor ax, r9w
mov word [rbp - 0x7a], ax
mov eax, dword [rsp + 0x64]
add ax, 0x10
xor ax, 0x52
mov word [rbp - 0x78], ax
mov eax, dword [rsp + 0x64]
add ax, 0x11
xor ax, 0x4f
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, [rbx + 0xa]
xor ax, cx
mov word [rbp - 0x72], ax
mov eax, dword [rsp + 0x64]
add ax, 0x14
xor ax, r10w
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, r9w
mov word [rbp - 0x6a], ax
mov eax, dword [rsp + 0x64]
add ax, 0x18
lea r15d, [r9 - 7]
xor ax, r15w
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, bx
mov word [rbp - 0x64], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1b
xor ax, r8w
mov word [rbp - 0x62], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1c
xor ax, r11w
mov word [rbp - 0x60], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1d
xor ax, bx
mov word [rbp - 0x5e], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1e
xor ax, r10w
mov word [rbp - 0x5c], ax
mov eax, dword [rsp + 0x64]
add ax, 0x1f
xor ax, r11w
mov word [rbp - 0x5a], ax
mov eax, dword [rsp + 0x64]
add ax, r10w
xor ax, 0x58
mov word [rbp - 0x58], ax
mov eax, dword [rsp + 0x64]
add ax, 0x21
xor ax, si
mov word [rbp - 0x56], ax
mov eax, dword [rsp + 0x64]
add ax, 0x22
xor ax, r11w
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, di
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, 0x4f
mov word [rbp - 0x4c], ax
mov eax, dword [rsp + 0x64]
add ax, r12w
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 r13d, [r9 - 0x1f]
lea r9d, [r11 - 0x44]
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, r9
cmp rdx, r13
jb 0x18020c9a1
mov word [rbp - 0x46], r8w
lea rcx, [rsp + 0x68]
call fcn.18009557c
nop
mov r8, rdi
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov r10d, 0x40
test byte [0x1802b7270], r10b
jne 0x18020ce58
lea edx, [r10 + 0x27]
mov dword [rbp - 0x44], edx
mov eax, dword [rbp - 0x44]
mov r9w, 0x20
xor ax, r9w
mov word [rbp - 0x40], ax
mov eax, dword [rbp - 0x44]
lea r11d, [r10 - 0x3f]
add ax, r11w
xor ax, r9w
mov word [rbp - 0x3e], ax
mov eax, dword [rbp - 0x44]
add ax, 2
xor ax, r9w
mov word [rbp - 0x3c], ax
mov eax, dword [rbp - 0x44]
add ax, 3
xor ax, r9w
mov word [rbp - 0x3a], ax
mov eax, dword [rbp - 0x44]
add ax, 4
xor ax, di
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, r9w
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 r8w, 0x6e
xor ax, r8w
mov word [rbp - 0x2a], ax
mov eax, dword [rbp - 0x44]
add ax, 0xc
xor ax, dx
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, r8w
mov word [rbp - 0x24], ax
mov eax, dword [rbp - 0x44]
add ax, 0xf
xor ax, dx
mov word [rbp - 0x22], ax
mov eax, dword [rbp - 0x44]
add ax, 0x10
xor ax, r9w
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, dx
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, r9w
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
lea edx, [r10 + 0x2f]
xor ax, dx
mov word [rbp - 0x10], ax
mov eax, dword [rbp - 0x44]
add ax, 0x19
xor ax, r14w
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, r14w
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, dx
mov word [rbp - 4], ax
mov eax, dword [rbp - 0x44]
add ax, 0x1f
xor ax, r8w
mov word [rbp - 2], ax
mov eax, dword [rbp - 0x44]
add ax, r9w
xor ax, r9w
mov word [rbp], ax
mov eax, dword [rbp - 0x44]
add ax, 0x21
xor ax, dx
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, r14w
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, dx
mov word [rbp + 0xa], ax
mov eax, dword [rbp - 0x44]
add ax, 0x26
xor ax, r8w
mov word [rbp + 0xc], ax
mov eax, dword [rbp - 0x44]
add ax, r12w
xor ax, 0x73
mov word [rbp + 0xe], ax
mov eax, dword [rbp - 0x44]
add ax, 0x28
xor ax, r9w
mov word [rbp + 0x10], ax
mov eax, dword [rbp - 0x44]
add ax, r13w
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, r9w
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
lea edx, [r10 + 0x10]
xor ax, dx
mov word [rbp + 0x1a], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2e
xor ax, r9w
mov word [rbp + 0x1c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x2f
xor ax, dx
mov word [rbp + 0x1e], ax
mov eax, dword [rbp - 0x44]
add ax, 0x30
xor ax, r15w
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
lea r9d, [r10 + 5]
xor ax, r9w
mov word [rbp + 0x24], ax
mov eax, dword [rbp - 0x44]
add ax, 0x33
lea r8d, [r10 + 0x1f]
xor ax, r8w
mov word [rbp + 0x26], ax
mov eax, dword [rbp - 0x44]
add ax, 0x34
xor ax, r9w
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, r9w
mov word [rbp + 0x2c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x37
xor ax, si
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, di
mov word [rbp + 0x32], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3a
xor ax, r9w
mov word [rbp + 0x34], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3b
xor ax, r8w
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, r9w
mov word [rbp + 0x3a], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3e
xor ax, r15w
mov word [rbp + 0x3c], ax
mov eax, dword [rbp - 0x44]
add ax, 0x3f
xor ax, bx
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, r15w
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, si
xor ax, di
mov word [rbp + 0x46], ax
mov eax, dword [rbp - 0x44]
add ax, bx
xor ax, r9w
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
add rdx, r11
cmp rdx, r9
jb 0x18020ce1c
mov word [rbp + 0x4a], r8w
lea rcx, [rbp - 0x40]
call fcn.18009557c
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