Function at 0x18023bcf4
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x368]
sub rsp, 0x468
mov qword [rbp + 0x278], 0xfffffffffffffffe
mov eax, 0x18
mov dword [rbp + 0x260], eax
lea edi, [rax - 0x17]
mov dword [rbp + 0x270], edi
xor ebx, ebx
mov qword [rbp + 0x268], rbx
mov ecx, dword [0x1802bccdc]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov qword [rbp + 0x3c0], rax
or rsi, 0xffffffffffffffff
lea r15d, [rdi + 0x68]
lea r12d, [rdi + 0x64]
lea r14d, [rdi + 0x6b]
lea r13d, [rdi + 0x26]
mov eax, dword [rax + rdx]
cmp dword [0x1802ca0dc], eax
jle 0x18023bfd4
lea rcx, [0x1802ca0dc]
call fcn.1802696f0
cmp dword [0x1802ca0dc], esi
jne 0x18023bfd4
lea rax, [rbp + 0x200]
mov qword [rbp + 0x3c8], rax
mov dword [rsp + 0x64], 0xc
mov byte [rsp + 0x68], 0x4f
mov byte [rsp + 0x69], 0x7e
mov byte [rsp + 0x6a], r15b
mov byte [rsp + 0x6b], 0x6d
lea eax, [rdi + 0x77]
mov byte [rsp + 0x6c], al
mov byte [rsp + 0x6d], r15b
mov byte [rsp + 0x6e], 0x5c
mov byte [rsp + 0x6f], r12b
lea eax, [rdi + 0x7b]
mov byte [rsp + 0x70], al
mov byte [rsp + 0x71], r15b
xor eax, eax
mov byte [rsp + 0x72], al
mov al, byte [rsp + 0x68]
mov edx, ebx
mov al, byte [rsp + rdx + 0x68]
mov ecx, dword [rsp + 0x64]
xor cl, al
mov byte [rsp + rdx + 0x68], cl
add rdx, rdi
cmp rdx, 0xa
jb 0x18023bdea
mov byte [rsp + 0x72], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], rbx
mov qword [rbp + 0x218], rbx
lea rax, [rsp + 0x68]
mov r8, rsi
inc r8
cmp byte [rax + r8], bl
jne 0x18023be25
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x200]
call fcn.18007b70c
nop
mov dword [rsp + 0x54], 0x4b
mov eax, dword [rsp + 0x54]
xor al, 0x6b
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x54]
add al, dil
xor al, r12b
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, r12b
mov byte [rsp + 0x5c], al
mov eax, dword [rsp + 0x54]
add al, 5
xor al, r14b
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]
mov rdx, rbx
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, rdi
cmp rdx, 8
jb 0x18023beb7
mov byte [rsp + 0x60], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1b0], xmm1
lea rax, [rsp + 0x58]
mov r8, rsi
inc r8
cmp byte [rax + r8], bl
jne 0x18023bef1
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x1a0]
call fcn.18007b70c
nop
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x2c0]
call fcn.180188b20
nop
mov qword [rsp + 0x20], rbx
mov r9b, dil
lea r8, [rbp + 0x200]
mov rdx, rax
lea rcx, [0x1802c8640]
call fcn.18024a640
nop
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0x10
jb 0x18023bf82
inc rdx
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023bf7d
add rdx, r13
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023bf7d
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 + 0x1b0], xmm0
mov byte [rbp + 0x1a0], bl
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 + 0xb]
lea rcx, [rsp + 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x18027e6c0]
call fcn.18026951c
nop
lea rcx, [0x1802ca0dc]
call fcn.180269690
call fcn.180234500
test al, al
je 0x18023ca03
call fcn.1802341a0
test al, al
je 0x18023ca03
lea r14, [0x1802c8658]
mov rcx, r14
cmp qword [0x1802c8670], 0x10
cmovae rcx, qword [0x1802c8658]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x18023c03e
mov rcx, r14
cmp qword [0x1802c8670], 0x10
cmovae rcx, qword [0x1802c8658]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1802c8650], rax
mov r8, rax
mov rdx, r14
call fcn.18008c99c
xor r9d, r9d
lea r8, [rbp + 0x260]
lea rdx, [rbp + 0x3b8]
lea rcx, [rbp + 0x3b0]
call qword [0x1802c8648]
test eax, eax
je 0x18023d03e
xor r8d, r8d
mov edx, edi
mov rcx, qword [rbp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
je 0x18023d03e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rdx, [0x1802b7210]
lea rcx, [rbp + 0x2a0]
call fcn.18007a534
nop
cmp qword [rbp + 0x2b0], rbx
sete r13b
mov byte [0x1802b61a7], r13b
mov r8, qword [rbp + 0x3b8]
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x340]
call fcn.1802303c8
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x58], xmm1
mov rcx, qword [rbp + 0x3b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp - 0x60]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x18023c9ec
cmp qword [0x1802b7220], rbx
je 0x18023c119
mov eax, dword [0x1802b7250]
cmp byte [0x1802b61a6], bl
cmovne eax, dword [rbp - 0x58]
mov dword [0x1802b7250], eax
lea rdx, [0x1802b7210]
lea rcx, [rbp + 0x2e0]
call fcn.18018fbfc
nop
lea r8, [0x1802b61e8]
mov rdx, rax
mov rcx, qword [rbp - 0x68]
call fcn.18022d604
nop
lea rcx, [rbp + 0x2e0]
call fcn.18007a444
mov r12d, 0x70
lea r14d, [r12 - 0x4d]
lea r15d, [r12 - 0xc]
mov rax, qword [rbp + 0x3c0]
mov ecx, 4
mov eax, dword [rax + rcx]
cmp dword [0x1802c9868], eax
jle 0x18023c3cc
lea rcx, [0x1802c9868]
call fcn.1802696f0
cmp dword [0x1802c9868], esi
jne 0x18023c3cc
lea rax, [rbp + 0x220]
mov qword [rbp + 0x3c8], rax
mov dword [rsp + 0x74], 0x18
mov byte [rsp + 0x78], 0x56
lea r9d, [r12 - 4]
mov byte [rsp + 0x79], r9b
mov byte [rsp + 0x7a], 0x4a
lea eax, [r12 + 0xd]
mov byte [rsp + 0x7b], al
mov byte [rsp + 0x7c], 0x6b
mov byte [rsp + 0x7d], 0x6d
mov byte [rsp + 0x7e], 0x75
mov byte [rsp + 0x7f], al
mov byte [rbp - 0x80], 0x4c
mov byte [rbp - 0x7f], r12b
lea r12d, [r14 + 0x47]
mov byte [rbp - 0x7e], r12b
mov byte [rbp - 0x7d], al
mov byte [rbp - 0x7c], 0x79
lea eax, [r14 + 0x59]
mov byte [rbp - 0x7b], al
xor eax, eax
mov byte [rbp - 0x7a], al
mov al, byte [rsp + 0x78]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x78]
mov ecx, dword [rsp + 0x74]
xor cl, al
mov byte [rsp + rdx + 0x78], cl
add rdx, rdi
cmp rdx, 0xe
jb 0x18023c200
mov byte [rbp - 0x7a], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], rbx
mov qword [rbp + 0x238], rbx
lea rax, [rsp + 0x78]
mov r8, rsi
inc r8
cmp byte [rax + r8], bl
jne 0x18023c23a
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x220]
call fcn.18007b70c
nop
mov dword [rsp + 0x48], r14d
mov eax, dword [rsp + 0x48]
xor al, 0x6e
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x48]
add al, dil
xor al, 0x74
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x48]
add al, 2
xor al, r15b
mov byte [rsp + 0x4e], al
mov eax, dword [rsp + 0x48]
add al, 3
mov ecx, 0x6c
xor al, cl
mov byte [rsp + 0x4f], al
mov eax, dword [rsp + 0x48]
add al, 4
xor al, cl
mov byte [rsp + 0x50], al
xor eax, eax
mov byte [rsp + 0x51], al
mov al, byte [rsp + 0x4c]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x4c]
mov ecx, dword [rsp + 0x48]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x4c], cl
add rdx, rdi
cmp rdx, 5
jb 0x18023c2a8
mov byte [rsp + 0x51], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1d0], xmm1
lea rax, [rsp + 0x4c]
mov r8, rsi
inc r8
cmp byte [rax + r8], bl
jne 0x18023c2e2
lea rdx, [rsp + 0x4c]
lea rcx, [rbp + 0x1c0]
call fcn.18007b70c
nop
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0x300]
call fcn.180188b20
nop
mov qword [rsp + 0x20], rbx
mov r9b, dil
lea r8, [rbp + 0x220]
mov rdx, rax
lea rcx, [0x1802c8880]
call fcn.18008a844
nop
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x18023c374
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023c36f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023c36f
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 + 0x1d0], xmm0
mov byte [rbp + 0x1c0], bl
xor edx, edx
lea r8d, [rdx + 6]
lea rcx, [rsp + 0x4c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xf]
lea rcx, [rsp + 0x78]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x18027e6b4]
call fcn.18026951c
nop
lea rcx, [0x1802c9868]
call fcn.180269690
mov r12d, 0x70
mov dl, dil
lea rcx, [rbp - 0x68]
call fcn.180239460
mov rdx, qword [rbp - 0x60]
lea rcx, [0x1802c8880]
test al, al
jne 0x18023c88f
call fcn.18008b374
mov r10d, eax
mov ecx, 0x11
lea edx, [rcx + 0x14]
lea r14d, [rcx + 0x52]
lea r8d, [rcx - 4]
lea r12d, [rcx + 0x1d]
lea r15d, [rcx + 0x62]
test eax, eax
je 0x18023c533
lea eax, [rcx + 0x32]
mov dword [rbp - 8], eax
lea eax, [rcx + 7]
mov word [rbp - 4], ax
lea eax, [rcx + 0x51]
mov word [rbp - 2], ax
lea eax, [rcx + 0xd]
mov word [rbp], ax
mov word [rbp + 2], r14w
mov word [rbp + 4], r8w
lea r11d, [rcx + 0x26]
mov word [rbp + 6], r11w
mov word [rbp + 8], cx
lea r9d, [rcx + 0x15]
mov word [rbp + 0xa], r9w
lea eax, [rcx + 0x1f]
mov word [rbp + 0xc], ax
lea eax, [rcx + 0x25]
mov word [rbp + 0xe], ax
mov word [rbp + 0x10], r12w
mov word [rbp + 0x12], r9w
lea eax, [rcx + 6]
mov word [rbp + 0x14], ax
lea eax, [rcx + 0x1a]
mov word [rbp + 0x16], ax
lea ecx, [rdx + 0xc]
mov word [rbp + 0x18], cx
mov word [rbp + 0x1a], r9w
lea r8d, [rdx - 3]
mov word [rbp + 0x1c], r8w
lea ecx, [rdx + 2]
mov word [rbp + 0x1e], cx
mov word [rbp + 0x20], r14w
mov word [rbp + 0x22], dx
mov word [rbp + 0x24], r8w
lea ecx, [rdx + 5]
mov word [rbp + 0x26], cx
lea edx, [rax + 4]
mov word [rbp + 0x28], dx
mov word [rbp + 0x2a], r9w
lea r9d, [r14 - 0x3c]
mov word [rbp + 0x2c], r9w
mov word [rbp + 0x2e], r14w
lea edx, [rax + 9]
mov word [rbp + 0x30], dx
mov word [rbp + 0x32], cx
mov word [rbp + 0x34], r11w
mov word [rbp + 0x36], ax
lea eax, [rcx + 0x4f]
mov word [rbp + 0x38], ax
mov word [rbp + 0x3a], r14w
mov word [rbp + 0x3c], r15w
lea r9d, [r14 - 0x28]
mov word [rbp + 0x3e], r9w
xor eax, eax
mov word [rbp + 0x40], ax
movzx eax, word [rbp - 4]
mov rdx, rbx
movzx eax, word [rbp + rdx*2 - 4]
mov ecx, dword [rbp - 8]
xor cx, ax
mov word [rbp + rdx*2 - 4], cx
add rdx, rdi
cmp rdx, r8
jb 0x18023c4fa
mov word [rbp + 0x40], bx
mov r8d, r10d
lea rcx, [rbp - 4]
call fcn.1800ae954
nop
xor edx, edx
lea r8d, [rdx + 0x46]
lea rcx, [rbp - 4]
call qword [sym.imp.VCRUNTIME140.dll_memset]
test r13b, r13b
je 0x18023c869
mov rax, qword [rbp + 0x3c0]
mov ecx, 4
mov eax, dword [rax + rcx]
cmp dword [0x1802c973c], eax
jle 0x18023c80a
lea rcx, [0x1802c973c]
call fcn.1802696f0
cmp dword [0x1802c973c], esi
jne 0x18023c80a
lea rax, [rbp + 0x240]
mov qword [rbp + 0x3c0], rax
mov dword [rsp + 0x30], 0x4a
mov eax, dword [rsp + 0x30]
xor al, 0x54
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x30]
add al, dil
mov ecx, 0x65
xor al, cl
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x30]
add al, 2
lea r8d, [rcx + 0xd]
xor al, r8b
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x30]
add al, 3
xor al, 0x6d
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x30]
add al, 4
xor al, 0x69
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x30]
add al, 5
xor al, 0x6e
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0x30]
add al, 6
xor al, 0x61
mov byte [rsp + 0x3a], al
mov eax, dword [rsp + 0x30]
add al, 7
xor al, 0x74
mov byte [rsp + 0x3b], al
mov eax, dword [rsp + 0x30]
add al, 8
xor al, cl
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x30]
add al, 9
xor al, 0x50
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x30]
add al, 0xa
xor al, r8b
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x30]
add al, 0xb
xor al, 0x6f
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x30]
add al, 0xc
xor al, r14b
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x30]
add al, 0xd
xor al, cl
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x30]
add al, 0xe
xor al, r15b
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x30]
add al, 0xf
xor al, r15b
mov byte [rsp + 0x43], al
xor eax, eax
mov byte [rsp + 0x44], al
mov al, byte [rsp + 0x34]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x34]
mov ecx, dword [rsp + 0x30]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x34], cl
add rdx, rdi
cmp rdx, 0x10
jb 0x18023c65f
mov byte [rsp + 0x44], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x240], xmm0
mov qword [rbp + 0x250], rbx
mov qword [rbp + 0x258], rbx
lea rax, [rsp + 0x34]
mov r8, rsi
inc r8
cmp byte [rax + r8], bl
jne 0x18023c69c
lea rdx, [rsp + 0x34]
lea rcx, [rbp + 0x240]
call fcn.18007b70c
nop
mov dword [rbp - 0x78], 0x4b
mov byte [rbp - 0x74], 0x20
mov byte [rbp - 0x73], r12b
mov byte [rbp - 0x72], 0x39
mov byte [rbp - 0x71], 0x25
mov byte [rbp - 0x70], r12b
mov r14d, 0x27
mov byte [rbp - 0x6f], r14b
lea eax, [r14 + 0x51]
mov byte [rbp - 0x6e], al
lea eax, [r14 + 0x52]
mov byte [rbp - 0x6d], al
xor eax, eax
mov byte [rbp - 0x6c], al
mov al, byte [rbp - 0x74]
mov rdx, rbx
mov al, byte [rbp + rdx - 0x74]
mov ecx, dword [rbp - 0x78]
xor cl, al
mov byte [rbp + rdx - 0x74], cl
add rdx, rdi
cmp rdx, 8
jb 0x18023c6f5
mov byte [rbp - 0x6c], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1f0], xmm1
lea rax, [rbp - 0x74]
inc rsi
cmp byte [rax + rsi], bl
jne 0x18023c727
mov r8, rsi
lea rdx, [rbp - 0x74]
lea rcx, [rbp + 0x1e0]
call fcn.18007b70c
nop
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x320]
call fcn.180188b20
nop
mov qword [rsp + 0x20], rbx
mov r9b, dil
lea r8, [rbp + 0x240]
mov rdx, rax
lea rcx, [0x1802c8b50]
call fcn.180249710
nop
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0x10
jb 0x18023c7b9
inc rdx
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023c7b4
add rdx, r14
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023c7b4
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 + 0x1f0], xmm0
mov byte [rbp + 0x1e0], bl
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rbp - 0x74]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x11]
lea rcx, [rsp + 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x18027e6a8]
call fcn.18026951c
nop
lea rcx, [0x1802c973c]
call fcn.180269690
mov rsi, qword [rbp - 0x68]
lea r14, [0x1802c8b68]
mov rcx, r14
cmp qword [0x1802c8b80], 0x10
cmovae rcx, qword [0x1802c8b68]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x18023c85e
mov rcx, r14
cmp qword [0x1802c8b80], 0x10
cmovae rcx, qword [0x1802c8b68]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1802c8b60], rax
mov r8, rax
mov rdx, r14
call fcn.18008c99c
xor edx, edx
mov rcx, rsi
call qword [0x1802c8b58]
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18023c9ef
call fcn.18008b374
mov ecx, eax
test eax, eax
je 0x18023c9bc
mov eax, 0x5e
mov word [rbp - 0x50], ax
lea r9d, [rax - 0x3a]
mov word [rbp - 0x4e], r9w
lea r11d, [rax + 2]
mov word [rbp - 0x4c], r11w
mov word [rbp - 0x4a], r14w
lea eax, [r9 + 0x2d]
mov word [rbp - 0x48], ax
lea r8d, [r9 + 0x53]
mov word [rbp - 0x46], r8w
lea eax, [r9 + 0x31]
mov word [rbp - 0x44], ax
lea eax, [r9 + 0x44]
mov word [rbp - 0x42], ax
lea r13d, [r9 + 0x52]
mov word [rbp - 0x40], r13w
lea edx, [rax + 0x10]
mov word [rbp - 0x3e], dx
mov word [rbp - 0x3c], r12w
mov word [rbp - 0x3a], ax
lea edx, [rax - 0x11]
mov word [rbp - 0x38], dx
lea r10d, [r9 + 0x47]
mov word [rbp - 0x36], r10w
lea edx, [rax + 0xd]
mov word [rbp - 0x34], dx
mov word [rbp - 0x32], ax
mov word [rbp - 0x30], r15w
lea esi, [rax - 1]
mov word [rbp - 0x2e], si
mov word [rbp - 0x2c], r14w
lea edx, [rax + 1]
mov word [rbp - 0x2a], dx
mov word [rbp - 0x28], r15w
lea r9d, [r11 + 0xc]
mov word [rbp - 0x26], r9w
lea edx, [rax + 7]
mov word [rbp - 0x24], dx
mov word [rbp - 0x22], ax
mov word [rbp - 0x20], si
mov word [rbp - 0x1e], r14w
lea eax, [rsi + 0x13]
mov word [rbp - 0x1c], ax
mov word [rbp - 0x1a], r9w
mov word [rbp - 0x18], r8w
mov word [rbp - 0x16], r10w
lea eax, [rsi - 0x2a]
mov word [rbp - 0x14], ax
mov word [rbp - 0x12], r14w
lea eax, [rsi - 0x34]
mov word [rbp - 0x10], ax
lea eax, [rsi + 0x14]
mov word [rbp - 0xe], ax
mov word [rbp - 0xc], bx
movzx eax, word [rbp - 0x50]
lea r8d, [r11 - 0x3e]
movzx eax, word [rbp + rbx*2 - 0x50]
sub ax, 3
mov word [rbp + rbx*2 - 0x50], ax
add rbx, rdi
cmp rbx, r8
jb 0x18023c989
mov r8d, ecx
lea rcx, [rbp - 0x50]
call fcn.1800ae954
nop
xor edx, edx
lea r8d, [rdx + 0x46]
lea rcx, [rbp - 0x50]
call qword [sym.imp.VCRUNTIME140.dll_memset]
movups xmm0, xmmword [rbp - 0x68]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rbp - 0x58]
movsd qword [rbp + 0x290], xmm1
mov rdx, qword [rbp + 0x3b0]
lea rcx, [rbp + 0x280]
call fcn.18018fc8c
jmp 0x18023c869
mov dil, bl
lea rcx, [rbp + 0x2a0]
call fcn.18007a444
mov al, dil
jmp 0x18023d040
mov dword [rbp + 0xc0], 4
mov eax, 0xe
mov word [rbp + 0xc4], ax
mov eax, 0x5f
mov word [rbp + 0xc6], ax
mov eax, 0x29
mov word [rbp + 0xc8], ax
mov eax, 0x59
mov word [rbp + 0xca], ax
lea r9d, [rax - 0x35]
mov word [rbp + 0xcc], r9w
lea r11d, [rax - 0x18]
mov word [rbp + 0xce], r11w
lea r12d, [rax + 0x11]
mov word [rbp + 0xd0], r12w
lea eax, [r9 + 0x4e]
mov word [rbp + 0xd2], ax
lea r8d, [r9 + 0x49]
mov word [rbp + 0xd4], r8w
lea r13d, [r9 + 0x52]
mov word [rbp + 0xd6], r13w
lea eax, [r9 + 0x47]
mov word [rbp + 0xd8], ax
mov word [rbp + 0xda], r12w
mov word [rbp + 0xdc], r15w
lea r10d, [r9 + 0x3d]
mov word [rbp + 0xde], r10w
mov word [rbp + 0xe0], r12w
lea ecx, [rax + 5]
mov word [rbp + 0xe2], cx
lea esi, [rax - 6]
mov word [rbp + 0xe4], si
lea eax, [rcx - 8]
mov word [rbp + 0xe6], ax
mov word [rbp + 0xe8], r9w
mov word [rbp + 0xea], r13w
mov word [rbp + 0xec], r10w
lea eax, [rcx + 5]
mov word [rbp + 0xee], ax
lea edx, [rcx + 1]
mov word [rbp + 0xf0], dx
mov word [rbp + 0xf2], r8w
mov word [rbp + 0xf4], r13w
mov word [rbp + 0xf6], r10w
mov word [rbp + 0xf8], r15w
mov word [rbp + 0xfa], r10w
mov word [rbp + 0xfc], r12w
mov word [rbp + 0xfe], cx
lea r8d, [r9 + 0x53]
mov word [rbp + 0x100], r8w
mov word [rbp + 0x102], r9w
mov word [rbp + 0x104], r12w
lea eax, [rcx - 5]
mov word [rbp + 0x106], ax
mov word [rbp + 0x108], cx
mov word [rbp + 0x10a], r9w
mov word [rbp + 0x10c], r15w
mov word [rbp + 0x10e], r10w
mov word [rbp + 0x110], cx
lea eax, [rcx - 0x32]
mov word [rbp + 0x112], ax
mov word [rbp + 0x114], r9w
mov word [rbp + 0x116], r11w
lea eax, [rcx - 3]
mov word [rbp + 0x118], ax
mov word [rbp + 0x11a], cx
mov word [rbp + 0x11c], r14w
mov word [rbp + 0x11e], r10w
mov word [rbp + 0x120], r13w
mov word [rbp + 0x122], r9w
lea r15d, [r9 + 0x4f]
mov word [rbp + 0x124], r15w
mov word [rbp + 0x126], r10w
lea r14d, [r9 - 1]
mov word [rbp + 0x128], r14w
mov word [rbp + 0x12a], r13w
mov word [rbp + 0x12c], r10w
mov word [rbp + 0x12e], r9w
mov word [rbp + 0x130], r13w
mov word [rbp + 0x132], dx
mov word [rbp + 0x134], r12w
mov word [rbp + 0x136], r12w
mov word [rbp + 0x138], ax
mov word [rbp + 0x13a], r12w
lea r14d, [r9 + 0x3f]
mov word [rbp + 0x13c], r14w
mov word [rbp + 0x13e], r9w
mov word [rbp + 0x140], ax
mov word [rbp + 0x142], r12w
mov word [rbp + 0x144], r9w
mov word [rbp + 0x146], si
mov word [rbp + 0x148], r9w
mov word [rbp + 0x14a], r8w
mov word [rbp + 0x14c], si
mov word [rbp + 0x14e], r12w
lea r11d, [r9 + 0x3c]
mov word [rbp + 0x150], r11w
lea eax, [rcx - 0xa]
mov word [rbp + 0x152], ax
lea eax, [rcx - 5]
mov word [rbp + 0x154], ax
lea edx, [rcx + 0xc]
mov word [rbp + 0x156], dx
mov word [rbp + 0x158], r9w
mov word [rbp + 0x15a], ax
mov word [rbp + 0x15c], r13w
mov word [rbp + 0x15e], r9w
lea edx, [rcx - 1]
mov word [rbp + 0x160], dx
mov word [rbp + 0x162], r10w
lea eax, [rcx + 0xd]
mov word [rbp + 0x164], ax
lea edx, [rcx - 3]
mov word [rbp + 0x166], dx
mov word [rbp + 0x168], r12w
mov word [rbp + 0x16a], r14w
mov word [rbp + 0x16c], r9w
mov word [rbp + 0x16e], r15w
mov word [rbp + 0x170], si
mov word [rbp + 0x172], r8w
mov word [rbp + 0x174], r9w
mov word [rbp + 0x176], r12w
lea eax, [rcx - 5]
mov word [rbp + 0x178], ax
mov word [rbp + 0x17a], cx
mov word [rbp + 0x17c], r9w
mov word [rbp + 0x17e], r8w
mov word [rbp + 0x180], si
mov word [rbp + 0x182], cx
mov word [rbp + 0x184], dx
mov word [rbp + 0x186], r8w
mov word [rbp + 0x188], dx
lea r14d, [r9 + 0x3e]
mov word [rbp + 0x18a], r14w
mov word [rbp + 0x18c], r10w
mov word [rbp + 0x18e], r11w
lea ecx, [rsi - 0x3b]
mov word [rbp + 0x190], cx
xor eax, eax
mov word [rbp + 0x192], ax
movzx eax, word [rbp + 0xc4]
mov rdx, rbx
lea esi, [rcx + 0x3d]
movzx eax, word [rbp + rdx*2 + 0xc4]
mov ecx, dword [rbp + 0xc0]
xor cx, ax
mov word [rbp + rdx*2 + 0xc4], cx
add rdx, rdi
cmp rdx, rsi
jb 0x18023cdb1
mov word [rbp + 0x192], bx
lea rcx, [rbp + 0xc4]
call fcn.18009557c
nop
xor edx, edx
mov r8d, 0xd0
lea rcx, [rbp + 0xc4]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov eax, 0x2b
mov dword [rbp + 0x44], eax
mov eax, 0x70
mov word [rbp + 0x48], ax
mov eax, 6
mov word [rbp + 0x4a], ax
mov word [rbp + 0x4c], r13w
lea r10d, [rax + 5]
mov word [rbp + 0x4e], r10w
lea edx, [rax + 0x63]
mov word [rbp + 0x50], dx
mov word [rbp + 0x52], r12w
mov word [rbp + 0x54], r14w
mov word [rbp + 0x56], si
mov word [rbp + 0x58], r14w
lea ecx, [rax + 0x5f]
mov word [rbp + 0x5a], cx
lea r9d, [rax + 0x66]
mov word [rbp + 0x5c], r9w
mov word [rbp + 0x5e], r10w
lea r15d, [rax + 0x5e]
mov word [rbp + 0x60], r15w
lea eax, [rdx + 0x15]
mov word [rbp + 0x62], ax
lea eax, [rdx + 0x16]
mov word [rbp + 0x64], ax
lea eax, [rdx - 0x64]
mov word [rbp + 0x66], ax
mov word [rbp + 0x68], r10w
mov word [rbp + 0x6a], dx
lea eax, [rdx - 0xb]
mov word [rbp + 0x6c], ax
lea r9d, [r10 + 0x54]
mov word [rbp + 0x6e], r9w
mov word [rbp + 0x70], r10w
lea eax, [rdx - 0x1c]
mov word [rbp + 0x72], ax
lea ecx, [rdx - 0x27]
mov word [rbp + 0x74], cx
lea r11d, [r10 + 0x4e]
mov word [rbp + 0x76], r11w
lea r8d, [r10 + 0x4d]
mov word [rbp + 0x78], r8w
mov word [rbp + 0x7a], r9w
mov word [rbp + 0x7c], r10w
lea eax, [rdx - 0x63]
mov word [rbp + 0x7e], ax
mov word [rbp + 0x80], r10w
lea eax, [rdx - 0x22]
mov word [rbp + 0x82], ax
lea edx, [rcx + 0xc]
mov word [rbp + 0x84], dx
mov word [rbp + 0x86], r9w
lea eax, [rcx - 0x36]
mov word [rbp + 0x88], ax
mov word [rbp + 0x8a], r8w
mov word [rbp + 0x8c], r10w
lea eax, [rcx + 4]
mov word [rbp + 0x8e], ax
mov word [rbp + 0x90], cx
mov word [rbp + 0x92], r8w
lea eax, [rcx + 0xd]
mov word [rbp + 0x94], ax
mov word [rbp + 0x96], cx
mov word [rbp + 0x98], r11w
mov word [rbp + 0x9a], dx
lea eax, [rcx + 6]
mov word [rbp + 0x9c], ax
mov word [rbp + 0x9e], r9w
mov word [rbp + 0xa0], r10w
mov word [rbp + 0xa2], r9w
lea eax, [rcx + 1]
mov word [rbp + 0xa4], ax
mov word [rbp + 0xa6], dx
mov word [rbp + 0xa8], r10w
lea eax, [rcx + 2]
mov word [rbp + 0xaa], ax
lea eax, [rcx + 7]
mov word [rbp + 0xac], ax
mov word [rbp + 0xae], r8w
mov word [rbp + 0xb0], dx
mov word [rbp + 0xb2], r11w
lea eax, [rcx + 0x1b]
mov word [rbp + 0xb4], ax
mov word [rbp + 0xb6], dx
mov word [rbp + 0xb8], r11w
lea eax, [rcx - 0x38]
mov word [rbp + 0xba], ax
lea eax, [rcx - 0x21]
mov word [rbp + 0xbc], ax
xor eax, eax
mov word [rbp + 0xbe], ax
movzx eax, word [rbp + 0x48]
mov rdx, rbx
lea r9d, [r10 + 0x30]
movzx eax, word [rbp + rdx*2 + 0x48]
mov ecx, dword [rbp + 0x44]
xor cx, ax
mov word [rbp + rdx*2 + 0x48], cx
add rdx, rdi
cmp rdx, r9
jb 0x18023cfdd
mov word [rbp + 0xbe], bx
lea rcx, [rbp + 0x48]
call fcn.18009557c
nop
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rbp + 0x48]
call qword [sym.imp.VCRUNTIME140.dll_memset]
movabs rax, 0xe000000000000000
mov rcx, rbx
or rcx, rax
mov dl, dil
call fcn.1800bcb28
add rbx, 0x3e8
cmp rbx, 0x493e0
jb 0x18023d016
xor al, al
add rsp, 0x468
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret