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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x26f8]
mov eax, 0x27f8
call fcn.18026a280
sub rsp, rax
mov qword [rbp + 0x190], 0xfffffffffffffffe
mov rsi, rcx
xor ebx, ebx
mov qword [rsp + 0x40], 0xba49
mov dword [rsp + 0x48], 0xff410000
mov byte [rsp + 0x4c], 0xe2
mov qword [rbp + 0x138], rdx
lea r8d, [rbx + 8]
lea rdx, [rbp + 0x138]
lea rcx, [rsp + 0x42]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
xorps xmm0, xmm0
movups xmmword [rbp + 0x118], xmm0
lea eax, [rbx + 9]
mov qword [rbp + 0x128], rax
lea edi, [rbx + 0xf]
mov qword [rbp + 0x130], rdi
mov r8d, eax
lea rdx, [0x18027fe30]
lea rcx, [rbp + 0x118]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + 0x121], bl
lea rcx, [rbp + 0x118]
lea r13d, [rbx + 0x10]
cmp qword [rbp + 0x130], r13
cmovae rcx, qword [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r12, rax
mov qword [rbp + 0x148], rax
lea eax, [rbx + 0x2f]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
xor al, 0x52
mov byte [rsp + 0x24], al
mov eax, dword [rsp + 0x20]
lea r14d, [rbx + 1]
add al, r14b
lea r15d, [rbx + 0x74]
xor al, r15b
mov byte [rsp + 0x25], al
mov eax, dword [rsp + 0x20]
add al, 2
xor al, 0x6c
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0x20]
add al, 3
xor al, 0x70
mov byte [rsp + 0x27], al
mov eax, dword [rsp + 0x20]
add al, 4
xor al, 0x57
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x20]
add al, 5
lea ecx, [rbx + 0x6f]
mov dword [rbp + 0x114], ecx
xor al, cl
mov byte [rsp + 0x29], al
mov eax, dword [rsp + 0x20]
add al, 6
xor al, 0x77
mov byte [rsp + 0x2a], al
mov eax, dword [rsp + 0x20]
add al, 7
xor al, 0x36
mov byte [rsp + 0x2b], al
mov eax, dword [rsp + 0x20]
add al, 8
xor al, 0x34
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x20]
add al, 9
xor al, 0x43
mov byte [rsp + 0x2d], al
mov eax, dword [rsp + 0x20]
add al, 0xa
xor al, r15b
mov byte [rsp + 0x2e], al
mov eax, dword [rsp + 0x20]
add al, 0xb
xor al, 0x78
mov byte [rsp + 0x2f], al
mov eax, dword [rsp + 0x20]
add al, 0xc
xor al, 0x46
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x20]
add al, 0xd
lea edx, [rbx + 0x72]
mov dword [rbp + 0x2748], edx
xor al, dl
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x20]
add al, 0xe
xor al, cl
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x20]
add al, dil
lea ecx, [rbx + 0x6d]
mov dword [rbp + 0x2758], ecx
xor al, cl
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0x20]
add al, r13b
xor al, 0x41
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x20]
add al, 0x11
xor al, cl
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x20]
add al, 0x12
xor al, 0x64
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x20]
add al, 0x13
xor al, 0x36
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x20]
add al, 0x14
xor al, 0x34
mov byte [rsp + 0x38], al
xor eax, eax
mov byte [rsp + 0x39], al
mov al, byte [rsp + 0x24]
mov edx, ebx
lea r8d, [rbx + 0x15]
mov al, byte [rsp + rdx + 0x24]
mov ecx, dword [rsp + 0x20]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x24], cl
add rdx, r14
cmp rdx, r8
jb 0x180223138
mov byte [rsp + 0x39], bl
lea rdx, [rsp + 0x24]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
xor edx, edx
lea r8d, [rdx + 0x16]
lea rcx, [rsp + 0x24]
call qword [sym.imp.VCRUNTIME140.dll_memset]
test rdi, rdi
jne 0x18022358f
lea eax, [rdi + 0x70]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
xor ax, 0x5b
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x50]
add ax, r14w
xor ax, 0x21
mov word [rsp + 0x56], ax
mov eax, dword [rsp + 0x50]
add ax, 2
xor ax, 0x5d
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x50]
add ax, 3
lea ecx, [rdi + 0x20]
xor ax, cx
mov word [rsp + 0x5a], ax
mov eax, dword [rsp + 0x50]
add ax, 4
xor ax, 0x43
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x50]
add ax, 5
lea r11d, [rdi + 0x6f]
xor ax, r11w
mov word [rsp + 0x5e], ax
mov eax, dword [rsp + 0x50]
add ax, 6
xor ax, 0x75
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x50]
add ax, 7
mov si, 0x6c
xor ax, si
mov word [rsp + 0x62], ax
mov eax, dword [rsp + 0x50]
add ax, 8
mov r12w, 0x64
xor ax, r12w
mov word [rsp + 0x64], ax
mov eax, dword [rsp + 0x50]
add ax, 9
xor ax, cx
mov word [rsp + 0x66], ax
mov eax, dword [rsp + 0x50]
add ax, 0xa
lea r8d, [rdi + 0x6e]
xor ax, r8w
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x50]
add ax, 0xb
xor ax, r11w
mov word [rsp + 0x6a], ax
mov eax, dword [rsp + 0x50]
add ax, 0xc
xor ax, r15w
mov word [rsp + 0x6c], ax
mov eax, dword [rsp + 0x50]
add ax, 0xd
xor ax, cx
mov word [rsp + 0x6e], ax
mov eax, dword [rsp + 0x50]
add ax, 0xe
xor ax, 0x66
mov word [rsp + 0x70], ax
mov eax, dword [rsp + 0x50]
add ax, 0xf
xor ax, 0x69
mov word [rsp + 0x72], ax
mov eax, dword [rsp + 0x50]
add ax, r13w
xor ax, r8w
mov word [rsp + 0x74], ax
mov eax, dword [rsp + 0x50]
add ax, 0x11
xor ax, r12w
mov word [rsp + 0x76], ax
mov eax, dword [rsp + 0x50]
add ax, 0x12
xor ax, cx
mov word [rsp + 0x78], ax
mov eax, dword [rsp + 0x50]
add ax, 0x13
xor ax, 0x61
mov word [rsp + 0x7a], ax
mov eax, dword [rsp + 0x50]
add ax, 0x14
xor ax, r12w
mov word [rsp + 0x7c], ax
mov eax, dword [rsp + 0x50]
add ax, 0x15
xor ax, r12w
mov word [rsp + 0x7e], ax
mov eax, dword [rsp + 0x50]
add ax, 0x16
lea r14d, [rdi + 0x72]
xor ax, r14w
mov word [rbp - 0x80], ax
mov eax, dword [rsp + 0x50]
add ax, 0x17
xor ax, 0x65
mov word [rbp - 0x7e], ax
mov eax, dword [rsp + 0x50]
add ax, 0x18
lea edx, [rdi + 0x73]
xor ax, dx
mov word [rbp - 0x7c], ax
mov eax, dword [rsp + 0x50]
add ax, 0x19
xor ax, dx
mov word [rbp - 0x7a], ax
mov eax, dword [rsp + 0x50]
add ax, 0x1a
xor ax, cx
mov word [rbp - 0x78], ax
mov eax, dword [rsp + 0x50]
add ax, 0x1b
xor ax, r11w
mov word [rbp - 0x76], ax
mov eax, dword [rsp + 0x50]
add ax, 0x1c
xor ax, 0x66
mov word [rbp - 0x74], ax
mov eax, dword [rsp + 0x50]
add ax, 0x1d
xor ax, cx
mov word [rbp - 0x72], ax
mov eax, dword [rsp + 0x50]
add ax, 0x1e
xor ax, r8w
mov word [rbp - 0x70], ax
mov eax, dword [rsp + 0x50]
lea r13d, [rdi + 0x1f]
add ax, r13w
xor ax, r15w
mov word [rbp - 0x6e], ax
mov eax, dword [rsp + 0x50]
add ax, cx
xor ax, r12w
mov word [rbp - 0x6c], ax
mov eax, dword [rsp + 0x50]
add ax, 0x21
xor ax, si
mov word [rbp - 0x6a], ax
mov eax, dword [rsp + 0x50]
add ax, 0x22
xor ax, si
mov word [rbp - 0x68], ax
mov eax, dword [rsp + 0x50]
add ax, 0x23
xor ax, 0x21
mov word [rbp - 0x66], ax
mov eax, dword [rsp + 0x50]
add ax, 0x24
xor ax, 0x52
mov word [rbp - 0x64], ax
mov eax, dword [rsp + 0x50]
add ax, 0x25
xor ax, r15w
mov word [rbp - 0x62], ax
mov eax, dword [rsp + 0x50]
add ax, 0x26
xor ax, si
mov word [rbp - 0x60], ax
mov eax, dword [rsp + 0x50]
lea esi, [rdi + 0x27]
add ax, si
xor ax, 0x70
mov word [rbp - 0x5e], ax
mov eax, dword [rsp + 0x50]
add ax, 0x28
xor ax, 0x57
mov word [rbp - 0x5c], ax
mov eax, dword [rsp + 0x50]
add ax, 0x29
xor ax, r11w
mov word [rbp - 0x5a], ax
mov eax, dword [rsp + 0x50]
add ax, 0x2a
xor ax, 0x77
mov word [rbp - 0x58], ax
mov eax, dword [rsp + 0x50]
add ax, 0x2b
xor ax, 0x36
mov word [rbp - 0x56], ax
mov eax, dword [rsp + 0x50]
add ax, 0x2c
xor ax, 0x34
mov word [rbp - 0x54], ax
mov eax, dword [rsp + 0x50]
add ax, 0x2d
xor ax, 0x43
mov word [rbp - 0x52], ax
mov eax, dword [rsp + 0x50]
add ax, 0x2e
xor ax, r15w
mov word [rbp - 0x50], ax
mov eax, dword [rsp + 0x50]
add ax, 0x2f
xor ax, 0x78
mov word [rbp - 0x4e], ax
mov eax, dword [rsp + 0x50]
add ax, 0x30
xor ax, 0x46
mov word [rbp - 0x4c], ax
mov eax, dword [rsp + 0x50]
add ax, 0x31
xor ax, r14w
mov word [rbp - 0x4a], ax
mov eax, dword [rsp + 0x50]
add ax, 0x32
xor ax, r11w
mov word [rbp - 0x48], ax
mov eax, dword [rsp + 0x50]
add ax, 0x33
lea ecx, [rdi + 0x6d]
xor ax, cx
mov word [rbp - 0x46], ax
mov eax, dword [rsp + 0x50]
add ax, 0x34
xor ax, 0x41
mov word [rbp - 0x44], ax
mov eax, dword [rsp + 0x50]
add ax, 0x35
xor ax, cx
mov word [rbp - 0x42], ax
mov eax, dword [rsp + 0x50]
add ax, 0x36
xor ax, r12w
mov word [rbp - 0x40], ax
mov eax, dword [rsp + 0x50]
add ax, 0x37
xor ax, 0x36
mov word [rbp - 0x3e], ax
mov eax, dword [rsp + 0x50]
add ax, 0x38
xor ax, 0x34
mov word [rbp - 0x3c], ax
xor eax, eax
mov word [rbp - 0x3a], ax
movzx eax, word [rsp + 0x54]
mov rdx, rbx
lea r9d, [rdi + 0x39]
movzx eax, word [rsp + rdx*2 + 0x54]
mov ecx, dword [rsp + 0x50]
add cx, dx
xor cx, ax
mov word [rsp + rdx*2 + 0x54], cx
inc rdx
cmp rdx, r9
jb 0x18022354f
mov word [rbp - 0x3a], bx
lea rcx, [rsp + 0x54]
call fcn.18009557c
nop
mov r8, r15
xor edx, edx
lea rcx, [rsp + 0x54]
call qword [sym.imp.VCRUNTIME140.dll_memset]
jmp 0x180224143
sub rdi, r12
mov qword [rbp + 0x150], rdi
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x6f0]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x1a0]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [rsi + 0x10]
lea rcx, [rbp + 0x178]
call fcn.18019e338
nop
mov r15, qword [rbp + 0x178]
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x140], rax
mov edx, 0x73
lea edi, [rdx - 0x4d]
lea ecx, [rdx - 0x53]
lea r11d, [rdx + 2]
lea r8d, [rdx - 5]
lea r14d, [rdx - 0xa]
lea esi, [rdx - 0x4c]
lea r13d, [rdx - 0x54]
cmp r15, rax
je 0x180223914
mov rax, r15
lea rcx, [rbp + 0x2b0]
mov edx, 8
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x18022361c
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
mov rax, qword [rax + 0x30]
mov qword [rcx + 0x30], rax
mov r9d, 0x104
lea r8, [rbp + 0x1a0]
mov r12, qword [rbp + 0x2d8]
mov rdx, r12
mov rax, qword [rbp + 0x2740]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExA]
test eax, eax
je 0x180223891
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], rbx
lea rax, [rbp + 0x1a0]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x1802236db
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x78]
call fcn.18007b70c
nop
lea r8, [rbp + 0x78]
mov eax, 0x10
cmp qword [rbp + 0x90], rax
setae r9b
cmovae r8, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x18022382a
lea rax, [rdx - 1]
or r10, 0xffffffffffffffff
mov rcx, r10
cmp rax, r10
cmovb rcx, rax
add rcx, r8
jmp 0x180223741
cmp rcx, r8
je 0x18022382a
dec rcx
cmp byte [rcx], 0x5c
jne 0x180223735
sub rcx, r8
cmp rcx, r10
je 0x18022382a
inc rcx
cmp rcx, rdx
jae 0x18022382a
xorps xmm0, xmm0
movups xmmword [rbp + 0x158], xmm0
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x170], rbx
ja 0x18022419f
sub rdx, rcx
mov r8, r10
cmp rdx, r10
cmovb r8, rdx
lea rdx, [rbp + 0x78]
test r9b, r9b
cmovne rdx, qword [rbp + 0x78]
add rdx, rcx
lea rcx, [rbp + 0x158]
call fcn.18007b70c
mov rdx, qword [rbp + 0x90]
mov r10d, 0x10
cmp rdx, r10
jb 0x1802237e5
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802237e0
add rdx, rsi
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, r13
ja 0x1802238a6
call fcn.180269534
mov qword [rbp + 0x88], rbx
mov r10d, 0xf
mov qword [rbp + 0x90], r10
mov byte [rbp + 0x78], bl
lea r8d, [r10 + 0x11]
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0x78]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov qword [rbp + 0x168], rbx
mov eax, 0xf
mov qword [rbp + 0x170], rax
mov byte [rbp + 0x158], bl
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x78]
call fcn.180265308
nop
mov rdx, qword [rbp + 0x90]
test al, al
mov eax, 0x10
jne 0x1802238ad
cmp rdx, rax
jb 0x18022387b
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180223876
add rdx, rsi
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, r13
ja 0x1802238d8
call fcn.180269534
mov qword [rbp + 0x88], rbx
mov eax, 0xf
mov qword [rbp + 0x90], rax
mov byte [rbp + 0x78], bl
add r15, 0x438
cmp r15, qword [rbp + 0x140]
je 0x180223903
jmp 0x18022360d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp rdx, rax
jb 0x1802238e4
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802238df
add rdx, rsi
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, r13
jbe 0x1802238df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180269534
mov qword [rbp + 0x88], rbx
mov eax, 0xf
mov qword [rbp + 0x90], rax
mov byte [rbp + 0x78], bl
test r12, r12
jne 0x180223e72
mov r11d, 0x75
lea r8d, [r11 - 7]
lea edx, [r11 - 2]
lea ecx, [rdx - 0x53]
mov r9d, 0x1a
mov dword [rbp - 0x38], r9d
mov eax, dword [rbp - 0x38]
xor ax, 0x5b
mov word [rbp - 0x34], ax
mov eax, dword [rbp - 0x38]
lea r12d, [r9 - 0x19]
add ax, r12w
xor ax, 0x21
mov word [rbp - 0x32], ax
mov eax, dword [rbp - 0x38]
add ax, 2
xor ax, 0x5d
mov word [rbp - 0x30], ax
mov eax, dword [rbp - 0x38]
add ax, 3
xor ax, cx
mov word [rbp - 0x2e], ax
mov eax, dword [rbp - 0x38]
add ax, 4
xor ax, 0x43
mov word [rbp - 0x2c], ax
mov eax, dword [rbp - 0x38]
add ax, 5
lea r10d, [r9 + 0x55]
xor ax, r10w
mov word [rbp - 0x2a], ax
mov eax, dword [rbp - 0x38]
add ax, 6
xor ax, r11w
mov word [rbp - 0x28], ax
mov eax, dword [rbp - 0x38]
add ax, 7
xor ax, 0x6c
mov word [rbp - 0x26], ax
mov eax, dword [rbp - 0x38]
add ax, 8
xor ax, 0x64
mov word [rbp - 0x24], ax
mov eax, dword [rbp - 0x38]
add ax, 9
xor ax, cx
mov word [rbp - 0x22], ax
mov eax, dword [rbp - 0x38]
add ax, 0xa
xor ax, r8w
mov word [rbp - 0x20], ax
mov eax, dword [rbp - 0x38]
add ax, 0xb
xor ax, r10w
mov word [rbp - 0x1e], ax
mov eax, dword [rbp - 0x38]
add ax, 0xc
xor ax, 0x74
mov word [rbp - 0x1c], ax
mov eax, dword [rbp - 0x38]
add ax, 0xd
xor ax, cx
mov word [rbp - 0x1a], ax
mov eax, dword [rbp - 0x38]
add ax, 0xe
xor ax, 0x66
mov word [rbp - 0x18], ax
mov eax, dword [rbp - 0x38]
add ax, 0xf
xor ax, r14w
mov word [rbp - 0x16], ax
mov eax, dword [rbp - 0x38]
add ax, 0x10
xor ax, r8w
mov word [rbp - 0x14], ax
mov eax, dword [rbp - 0x38]
add ax, 0x11
xor ax, 0x64
mov word [rbp - 0x12], ax
mov eax, dword [rbp - 0x38]
add ax, 0x12
xor ax, cx
mov word [rbp - 0x10], ax
mov eax, dword [rbp - 0x38]
add ax, 0x13
lea r15d, [r9 + 0x47]
xor ax, r15w
mov word [rbp - 0xe], ax
mov eax, dword [rbp - 0x38]
add ax, 0x14
xor ax, 0x64
mov word [rbp - 0xc], ax
mov eax, dword [rbp - 0x38]
add ax, 0x15
xor ax, 0x64
mov word [rbp - 0xa], ax
mov eax, dword [rbp - 0x38]
add ax, 0x16
xor ax, 0x72
mov word [rbp - 8], ax
mov eax, dword [rbp - 0x38]
add ax, 0x17
mov r10w, 0x65
xor ax, r10w
mov word [rbp - 6], ax
mov eax, dword [rbp - 0x38]
add ax, 0x18
xor ax, dx
mov word [rbp - 4], ax
mov eax, dword [rbp - 0x38]
add ax, 0x19
xor ax, dx
mov word [rbp - 2], ax
mov eax, dword [rbp - 0x38]
add ax, r9w
xor ax, cx
mov word [rbp], ax
mov eax, dword [rbp - 0x38]
add ax, 0x1b
xor ax, 0x6f
mov word [rbp + 2], ax
mov eax, dword [rbp - 0x38]
add ax, 0x1c
xor ax, 0x66
mov word [rbp + 4], ax
mov eax, dword [rbp - 0x38]
add ax, 0x1d
xor ax, cx
mov word [rbp + 6], ax
mov eax, dword [rbp - 0x38]
add ax, 0x1e
xor ax, r8w
mov word [rbp + 8], ax
mov eax, dword [rbp - 0x38]
add ax, r13w
lea r9d, [r12 + 0x73]
xor ax, r9w
mov word [rbp + 0xa], ax
mov eax, dword [rbp - 0x38]
add ax, cx
xor ax, 0x64
mov word [rbp + 0xc], ax
mov eax, dword [rbp - 0x38]
add ax, 0x21
xor ax, 0x6c
mov word [rbp + 0xe], ax
mov eax, dword [rbp - 0x38]
add ax, 0x22
xor ax, 0x6c
mov word [rbp + 0x10], ax
mov eax, dword [rbp - 0x38]
add ax, 0x23
xor ax, cx
mov word [rbp + 0x12], ax
mov eax, dword [rbp - 0x38]
add ax, 0x24
xor ax, r14w
mov word [rbp + 0x14], ax
mov eax, dword [rbp - 0x38]
add ax, 0x25
xor ax, r8w
mov word [rbp + 0x16], ax
mov eax, dword [rbp - 0x38]
add ax, di
xor ax, cx
mov word [rbp + 0x18], ax
mov eax, dword [rbp - 0x38]
add ax, si
xor ax, word [rbp + 0x2748]
mov word [rbp + 0x1a], ax
mov eax, dword [rbp - 0x38]
add ax, 0x28
xor ax, r10w
mov word [rbp + 0x1c], ax
mov eax, dword [rbp - 0x38]
add ax, 0x29
xor ax, word [rbp + 0x2758]
mov word [rbp + 0x1e], ax
mov eax, dword [rbp - 0x38]
add ax, 0x2a
xor ax, word [rbp + 0x114]
mov word [rbp + 0x20], ax
mov eax, dword [rbp - 0x38]
add ax, 0x2b
xor ax, r9w
mov word [rbp + 0x22], ax
mov eax, dword [rbp - 0x38]
add ax, 0x2c
xor ax, r10w
mov word [rbp + 0x24], ax
mov eax, dword [rbp - 0x38]
add ax, 0x2d
xor ax, cx
mov word [rbp + 0x26], ax
mov eax, dword [rbp - 0x38]
add ax, 0x2e
xor ax, 0x70
mov word [rbp + 0x28], ax
mov eax, dword [rbp - 0x38]
add ax, 0x2f
xor ax, 0x72
mov word [rbp + 0x2a], ax
mov eax, dword [rbp - 0x38]
add ax, 0x30
xor ax, 0x6f
mov word [rbp + 0x2c], ax
mov eax, dword [rbp - 0x38]
add ax, 0x31
xor ax, 0x63
mov word [rbp + 0x2e], ax
mov eax, dword [rbp - 0x38]
add ax, 0x32
xor ax, r10w
mov word [rbp + 0x30], ax
mov eax, dword [rbp - 0x38]
add ax, 0x33
xor ax, dx
mov word [rbp + 0x32], ax
mov eax, dword [rbp - 0x38]
add ax, 0x34
xor ax, dx
mov word [rbp + 0x34], ax
mov eax, dword [rbp - 0x38]
add ax, 0x35
xor ax, 0x21
mov word [rbp + 0x36], ax
mov eax, dword [rbp - 0x38]
add ax, 0x36
xor ax, cx
mov word [rbp + 0x38], ax
mov eax, dword [rbp - 0x38]
add ax, 0x37
xor ax, 0x41
mov word [rbp + 0x3a], ax
mov eax, dword [rbp - 0x38]
add ax, 0x38
xor ax, dx
mov word [rbp + 0x3c], ax
mov eax, dword [rbp - 0x38]
add ax, 0x39
xor ax, dx
mov word [rbp + 0x3e], ax
mov eax, dword [rbp - 0x38]
add ax, 0x3a
xor ax, r11w
mov word [rbp + 0x40], ax
mov eax, dword [rbp - 0x38]
add ax, 0x3b
lea r9d, [r12 + 0x6c]
xor ax, r9w
mov word [rbp + 0x42], ax
mov eax, dword [rbp - 0x38]
add ax, 0x3c
xor ax, r14w
mov word [rbp + 0x44], ax
mov eax, dword [rbp - 0x38]
add ax, 0x3d
xor ax, r8w
mov word [rbp + 0x46], ax
mov eax, dword [rbp - 0x38]
add ax, 0x3e
xor ax, 0x67
mov word [rbp + 0x48], ax
mov eax, dword [rbp - 0x38]
add ax, 0x3f
xor ax, cx
mov word [rbp + 0x4a], ax
mov eax, dword [rbp - 0x38]
add ax, 0x40
xor ax, r14w
mov word [rbp + 0x4c], ax
mov eax, dword [rbp - 0x38]
add ax, 0x41
lea r8d, [r12 + 0x73]
xor ax, r8w
mov word [rbp + 0x4e], ax
mov eax, dword [rbp - 0x38]
add ax, 0x42
xor ax, dx
mov word [rbp + 0x50], ax
mov eax, dword [rbp - 0x38]
add ax, 0x43
xor ax, cx
mov word [rbp + 0x52], ax
mov eax, dword [rbp - 0x38]
add ax, 0x44
xor ax, r8w
mov word [rbp + 0x54], ax
mov eax, dword [rbp - 0x38]
add ax, 0x45
xor ax, 0x68
mov word [rbp + 0x56], ax
mov eax, dword [rbp - 0x38]
add ax, 0x46
xor ax, r10w
mov word [rbp + 0x58], ax
mov eax, dword [rbp - 0x38]
add ax, 0x47
xor ax, cx
mov word [rbp + 0x5a], ax
mov eax, dword [rbp - 0x38]
add ax, 0x48
xor ax, dx
mov word [rbp + 0x5c], ax
mov eax, dword [rbp - 0x38]
add ax, 0x49
xor ax, r15w
mov word [rbp + 0x5e], ax
mov eax, dword [rbp - 0x38]
add ax, 0x4a
xor ax, r9w
mov word [rbp + 0x60], ax
mov eax, dword [rbp - 0x38]
add ax, 0x4b
xor ax, r10w
mov word [rbp + 0x62], ax
mov eax, dword [rbp - 0x38]
add ax, 0x4c
xor ax, cx
mov word [rbp + 0x64], ax
mov eax, dword [rbp - 0x38]
add ax, 0x4d
xor ax, r15w
mov word [rbp + 0x66], ax
mov eax, dword [rbp - 0x38]
add ax, 0x4e
xor ax, dx
mov word [rbp + 0x68], ax
mov eax, dword [rbp - 0x38]
add ax, 0x4f
xor ax, cx
mov word [rbp + 0x6a], ax
mov eax, dword [rbp - 0x38]
add ax, 0x50
xor ax, 0x6f
mov word [rbp + 0x6c], ax
mov eax, dword [rbp - 0x38]
add ax, 0x51
xor ax, r11w
mov word [rbp + 0x6e], ax
mov eax, dword [rbp - 0x38]
add ax, 0x52
xor ax, 0x72
mov word [rbp + 0x70], ax
mov eax, dword [rbp - 0x38]
add ax, 0x53
xor ax, dx
mov word [rbp + 0x72], ax
mov eax, dword [rbp - 0x38]
add ax, 0x54
xor ax, 0x2e
mov word [rbp + 0x74], ax
xor eax, eax
mov word [rbp + 0x76], ax
movzx eax, word [rbp - 0x34]
mov rdx, rbx
movzx eax, word [rbp + rdx*2 - 0x34]
mov ecx, dword [rbp - 0x38]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x34], cx
add rdx, r12
cmp rdx, 0x55
jb 0x180223e2f
mov word [rbp + 0x76], bx
lea rcx, [rbp - 0x34]
call fcn.18009557c
nop
xor edx, edx
mov r8d, 0xac
lea rcx, [rbp - 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov r12, qword [rbp + 0x148]
mov r15, qword [rbp + 0x150]
add r15, r12
mov r9d, 0xd
lea r8, [rsp + 0x40]
mov rdx, r15
mov rax, qword [rbp + 0x2740]
mov rcx, qword [rax]
call fcn.18022c954
test eax, eax
jne 0x180224127
mov eax, 6
mov dword [rbp + 0x98], eax
mov eax, 0x5d
mov word [rbp + 0x9c], ax
mov word [rbp + 0x9e], si
mov eax, 0x5b
mov word [rbp + 0xa0], ax
mov word [rbp + 0xa2], di
mov eax, 0x45
mov word [rbp + 0xa4], ax
mov word [rbp + 0xa6], r14w
lea edx, [rax + 0x2e]
mov word [rbp + 0xa8], dx
lea r9d, [rax + 0x25]
mov word [rbp + 0xaa], r9w
lea eax, [rdx - 0x11]
mov word [rbp + 0xac], ax
mov word [rbp + 0xae], di
lea r13d, [rdx - 0xb]
mov word [rbp + 0xb0], r13w
mov word [rbp + 0xb2], r14w
lea r15d, [rdx - 1]
mov word [rbp + 0xb4], r15w
mov word [rbp + 0xb6], di
lea eax, [rdx - 2]
mov word [rbp + 0xb8], ax
lea r10d, [rdx + 1]
mov word [rbp + 0xba], r10w
lea r11d, [rdx - 4]
mov word [rbp + 0xbc], r11w
mov word [rbp + 0xbe], r15w
lea r12d, [rdx - 0x10]
mov word [rbp + 0xc0], r12w
mov word [rbp + 0xc2], di
mov word [rbp + 0xc4], r10w
mov word [rbp + 0xc6], r12w
lea ecx, [rdx - 8]
mov word [rbp + 0xc8], cx
mov word [rbp + 0xca], r14w
mov word [rbp + 0xcc], r15w
mov word [rbp + 0xce], r12w
mov word [rbp + 0xd0], di
lea r8d, [rdx - 5]
mov word [rbp + 0xd2], r8w
mov word [rbp + 0xd4], r14w
mov word [rbp + 0xd6], r14w
lea eax, [rdx - 6]
mov word [rbp + 0xd8], ax
mov word [rbp + 0xda], di
mov word [rbp + 0xdc], dx
lea eax, [rdx + 2]
mov word [rbp + 0xde], ax
mov word [rbp + 0xe0], r11w
mov word [rbp + 0xe2], r13w
lea eax, [rdx - 0x12]
mov word [rbp + 0xe4], ax
mov word [rbp + 0xe6], di
lea eax, [rdx - 0x2b]
mov word [rbp + 0xe8], ax
mov word [rbp + 0xea], r15w
lea eax, [rdx - 0x22]
mov word [rbp + 0xec], ax
mov word [rbp + 0xee], r10w
mov word [rbp + 0xf0], r11w
mov word [rbp + 0xf2], r15w
mov word [rbp + 0xf4], r12w
lea eax, [rdx - 0x23]
mov word [rbp + 0xf6], ax
mov word [rbp + 0xf8], r11w
mov word [rbp + 0xfa], r10w
mov word [rbp + 0xfc], r15w
mov word [rbp + 0xfe], dx
lea eax, [rdx - 0xc]
mov word [rbp + 0x100], ax
mov word [rbp + 0x102], r9w
lea eax, [rdx - 0x28]
mov word [rbp + 0x104], ax
mov word [rbp + 0x106], r12w
mov word [rbp + 0x108], cx
mov word [rbp + 0x10a], r14w
mov word [rbp + 0x10c], r10w
lea eax, [rdx + 0xc]
mov word [rbp + 0x10e], ax
mov word [rbp + 0x110], si
xor eax, eax
mov word [rbp + 0x112], ax
movzx eax, word [rbp + 0x9c]
mov rdx, rbx
lea esi, [rcx - 0x30]
lea r13d, [r9 - 0x69]
movzx eax, word [rbp + rdx*2 + 0x9c]
mov ecx, dword [rbp + 0x98]
xor cx, ax
mov word [rbp + rdx*2 + 0x9c], cx
add rdx, r13
cmp rdx, rsi
jb 0x1802240d4
mov word [rbp + 0x112], bx
lea rcx, [rbp + 0x9c]
call fcn.18009557c
nop
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp + 0x9c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov esi, 0x27
lea r13d, [rsi - 8]
jmp 0x180224136
mov rax, qword [rbp + 0x2750]
mov qword [rax], r15
mov ebx, 1
lea rcx, [rbp + 0x178]
call fcn.1801b3108
nop
mov rdx, qword [rbp + 0x130]
mov eax, 0x10
cmp rdx, rax
jb 0x180224189
inc rdx
mov rcx, qword [rbp + 0x118]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180224184
add rdx, rsi
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, r13
jbe 0x180224184
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180269534
mov al, bl
add rsp, 0x27f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800949f4
nop
int3