Function at 0x180028210
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x470], 0xfffffffffffffffe
mov qword [rbp + 0x1c8], rcx
test r9, r9
je 0x18002824b
cmp byte [r8], 0x40
sete al
jmp 0x18002824d
xor eax, eax
movzx eax, al
add r8, rax
sub r9, rax
mov qword [rbp + 0x418], r8
mov qword [rbp + 0x420], r9
mov rbx, qword [rdx + 0x28]
mov qword [rbp + 0x428], rdx
imul r14, qword [rdx + 0x30], 0x98
add r14, rbx
lea rcx, [rbp + 0x18]
mov rdx, rbx
mov r8, r14
call fcn.1800720c0
mov byte [rbp + 0x469], 1
lea rcx, [rbp + 0x210]
mov rdx, rbx
mov r8, r14
call fcn.180071e00
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0x3b0], rax
mov r13, qword [rbp + 0x218]
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x3e0], rax
mov rdi, qword [rbp + 0x228]
mov byte [rbp + 0x468], 1
mov byte [rbp + 0x467], 1
lea rcx, [rbp + 0x210]
mov rdx, rbx
mov r8, r14
call fcn.180071f60
mov rax, qword [rbp + 0x4e8]
mov rcx, qword [rbp + 0x4e0]
mov rdx, qword [rbp + 0x210]
mov qword [rbp + 0x3b8], rdx
mov r15, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x220]
mov qword [rbp + 0x3e8], rdx
mov r12, qword [rbp + 0x228]
mov dword [rbp + 0x454], 0
test rax, rax
je 0x18002833e
cmp byte [rcx + rax - 1], 0xa
sete sil
jmp 0x180028340
xor esi, esi
mov qword [rbp + 0x3c8], rcx
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x3d8], 0
mov byte [rbp + 0x46f], 1
mov byte [rbp + 0x46e], 1
mov byte [rbp + 0x46d], 1
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x3c8]
call fcn.180021180
movabs rbx, 0x8000000000000001
cmp qword [rbp + 0x60], rbx
mov qword [rbp + 0x3f0], rdi
jne 0x180028461
movzx eax, byte [0x1803155a1]
mov ecx, 0x800
mov edx, 1
call fcn.180004680
test rax, rax
je 0x18002985b
mov rbx, rax
mov r8d, 0x800
mov rcx, rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov word [rbp + 0x230], 0
movups xmmword [rbp + 0x66], xmm0
mov qword [rbp + 0x248], 1
movabs rax, 0x8000000000000000
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], rbx
movdqu xmm0, xmmword [rbp + 0x60]
movdqu xmmword [rbp + 0x232], xmm0
mov rax, qword [rbp + 0x6e]
mov qword [rbp + 0x240], rax
movzx eax, byte [0x1803155a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004680
test rax, rax
je 0x180029892
movdqu xmm0, xmmword [rbp + 0x210]
movdqu xmm1, xmmword [rbp + 0x220]
movdqu xmm2, xmmword [rbp + 0x230]
movdqu xmm3, xmmword [rbp + 0x240]
jmp 0x180028a18
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x240], rax
movdqu xmm0, xmmword [rbp + 0x60]
movdqu xmm1, xmmword [rbp + 0x70]
movdqu xmm2, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x230], xmm2
movdqa xmmword [rbp + 0x220], xmm1
movdqa xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x248], 1
movzx eax, byte [0x1803155a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004680
test rax, rax
je 0x180029881
movdqa xmm0, xmmword [rbp + 0x210]
movdqa xmm1, xmmword [rbp + 0x220]
movdqa xmm2, xmmword [rbp + 0x230]
movdqa xmm3, xmmword [rbp + 0x240]
movdqu xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
mov qword [rbp + 0x458], rax
movdqu xmmword [rax], xmm0
mov byte [rbp + 0x46a], 1
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x3c8]
call fcn.180021180
cmp qword [rbp + 0x60], rbx
jne 0x180028526
mov rax, qword [rbp + 0x458]
jmp 0x180028a2b
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x240], rax
movdqu xmm0, xmmword [rbp + 0x60]
movdqu xmm1, xmmword [rbp + 0x70]
movdqu xmm2, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x230], xmm2
movdqa xmmword [rbp + 0x220], xmm1
movdqa xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x248], 1
movzx eax, byte [0x1803155a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004680
test rax, rax
mov rbx, qword [rbp + 0x458]
je 0x1800298a3
mov r14, rax
movdqa xmm0, xmmword [rbp + 0x210]
movdqa xmm1, xmmword [rbp + 0x220]
movdqa xmm2, xmmword [rbp + 0x230]
movdqa xmm3, xmmword [rbp + 0x240]
movdqu xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
movzx eax, byte [0x1803155a1]
mov ecx, 0x10
mov edx, 8
call fcn.180004680
test rax, rax
mov qword [rbp + 0x3c0], r14
mov qword [rbp + 0x38], rax
je 0x1800298b4
mov qword [rbp + 0x210], 2
mov qword [rbp + 0x218], rax
mov qword [rax], rbx
mov qword [rax + 8], r14
mov qword [rbp + 0x220], 2
movdqu xmm0, xmmword [rbp + 0x3c8]
movdqa xmmword [rbp + 0x40], xmm0
mov rax, qword [rbp + 0x3d8]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x210]
lea rdx, [rbp + 0x40]
call fcn.180051890
mov rax, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x218]
mov r8, qword [rbp + 0x220]
lea rcx, [rdx + r8*8]
cmp r8, 0x11
mov dword [rbp + 0x3f8], esi
jae 0x180028701
mov qword [rbp + 0x210], rdx
mov qword [rbp + 0x218], rdx
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], rcx
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x210]
call fcn.18004cf10
mov r8, qword [rbp + 0x70]
test r8, r8
je 0x1800298d6
mov r9, qword [rbp + 0x68]
mov rcx, qword [r9]
xor eax, eax
cmp rax, qword [rcx]
jno 0x180028836
mov eax, 1
mov edx, 0x28
mov r10d, 1
movdqu xmm1, xmmword [rcx + rdx]
lea r11, [r8*8]
cmp r11, 8
je 0x18002885d
lea rdx, [r9 + 8]
test r8b, 1
jne 0x180028895
mov rdx, qword [rdx]
xor ecx, ecx
cmp rcx, qword [rdx]
jno 0x18002889c
mov ecx, 1
mov esi, 0x28
jmp 0x1800288a5
mov qword [rbp + 0x1d0], rdx
mov qword [rbp + 0x1d8], rdx
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1e8], rcx
lea rcx, [rbp + 0x400]
lea rdx, [rbp + 0x1d0]
call fcn.1800559d0
mov rax, qword [rbp + 0x410]
cmp rax, 0x11
jb 0x18002878a
lea rbx, [rbp + 0x400]
lea r14, [rbp + 0x60]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x400]
mov rdx, qword [rbp + 0x408]
lea rax, [rdx + rax*8]
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
mov rcx, rbx
mov rdx, r14
call fcn.1800559d0
mov rax, qword [rbp + 0x410]
cmp rax, 0x10
ja 0x180028750
mov rcx, qword [rbp + 0x400]
mov rdx, qword [rbp + 0x408]
lea rax, [rdx + rax*8]
mov qword [rbp + 0x210], rdx
mov qword [rbp + 0x218], rdx
mov qword [rbp + 0x220], rcx
mov qword [rbp + 0x228], rax
lea rcx, [rbp + 0x430]
lea rdx, [rbp + 0x210]
call fcn.18004cf10
mov r8, qword [rbp + 0x440]
test r8, r8
je 0x1800298e8
mov r9, qword [rbp + 0x438]
mov rcx, qword [r9]
xor eax, eax
cmp rax, qword [rcx]
jno 0x180028866
mov eax, 1
mov edx, 0x28
mov r10d, 1
movdqu xmm1, xmmword [rcx + rdx]
lea r11, [r8*8]
cmp r11, 8
je 0x180028889
lea rdx, [r9 + 8]
test r8b, 1
jne 0x180028897
mov rdx, qword [rdx]
xor ecx, ecx
cmp rcx, qword [rdx]
jno 0x18002894e
mov ecx, 1
mov esi, 0x28
jmp 0x180028957
mov rax, qword [rcx + 0x28]
mov r10, qword [rcx + 0x30]
inc rax
mov edx, 0x18
movdqu xmm1, xmmword [rcx + rdx]
lea r11, [r8*8]
cmp r11, 8
jne 0x1800286d6
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x1800288c2
mov rax, qword [rcx + 0x28]
mov r10, qword [rcx + 0x30]
inc rax
mov edx, 0x18
movdqu xmm1, xmmword [rcx + rdx]
lea r11, [r8*8]
cmp r11, 8
jne 0x18002880f
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x180028978
jmp 0x1800288bc
jmp 0x18002896e
mov rcx, qword [rdx + 0x30]
mov esi, 0x18
add rcx, r10
movdqu xmm0, xmmword [rdx + rsi]
paddq xmm0, xmm1
lea rdx, [r9 + 0x10]
mov r10, rcx
movdqa xmm1, xmm0
cmp r11, 0x10
jne 0x1800288d6
mov rdx, qword [rbp + 0x70]
mov qword [rbp + 0x3a0], rdx
movups xmm1, xmmword [rbp + 0x60]
jmp 0x18002898d
lea r8, [r9 + r8*8]
xor r9d, r9d
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x180028913
add rcx, rbx
add rcx, rsi
movdqu xmm1, xmmword [r10 + rdi]
paddq xmm0, xmm1
movdqu xmm1, xmmword [r14 + r11]
paddq xmm0, xmm1
add rdx, 0x10
cmp rdx, r8
je 0x1800288c2
mov r10, qword [rdx]
mov esi, 1
mov r11d, 0x28
cmp r9, qword [r10]
mov edi, 0x28
mov ebx, 1
jo 0x180028939
mov rbx, qword [r10 + 0x30]
mov edi, 0x18
mov r14, qword [rdx + 8]
cmp r9, qword [r14]
jo 0x1800288f0
mov rsi, qword [r14 + 0x30]
mov r11d, 0x18
jmp 0x1800288f0
mov rcx, qword [rdx + 0x30]
mov esi, 0x18
add rcx, r10
movdqu xmm0, xmmword [rdx + rsi]
paddq xmm0, xmm1
lea rdx, [r9 + 0x10]
mov r10, rcx
movdqa xmm1, xmm0
cmp r11, 0x10
jne 0x1800296d0
mov rdx, qword [rbp + 0x440]
mov qword [rbp + 0x3a0], rdx
movups xmm1, xmmword [rbp + 0x430]
movaps xmmword [rbp + 0x390], xmm1
mov qword [rbp + 0x248], 1
movdqa xmm1, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x210], xmm1
mov rdx, qword [rbp + 0x3a0]
mov qword [rbp + 0x220], rdx
movdqu xmmword [rbp + 0x228], xmm0
mov qword [rbp + 0x238], rax
mov qword [rbp + 0x240], rcx
movzx eax, byte [0x1803155a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004680
test rax, rax
mov esi, dword [rbp + 0x3f8]
je 0x1800298c5
movdqa xmm0, xmmword [rbp + 0x210]
movdqa xmm1, xmmword [rbp + 0x220]
movdqa xmm2, xmmword [rbp + 0x230]
movdqa xmm3, xmmword [rbp + 0x240]
movdqu xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov qword [rbp + 0x3c8], rax
mov byte [rbp + 0x3d0], sil
mov rcx, qword [rbp + 0x428]
mov rax, qword [rcx + 0x98]
test rax, rax
sete byte [rbp + 0x3c0]
je 0x18002983c
mov rcx, qword [rcx + 0xa0]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rcx
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x3f8], rax
mov r14, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x458], rax
mov rsi, qword [rbp + 0x30]
cmp r14, rsi
je 0x180028ad3
mov rbx, qword [rbp + 0x4f0]
lea rdi, [rbp + 0x40]
jmp 0x180028aa9
add r14, 0x10
cmp r14, rsi
je 0x180028ad3
mov rcx, qword [r14]
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov qword [rsp + 0x20], rdi
mov r9, rbx
call fcn.18006f9a0
test al, al
je 0x180028aa0
inc dword [rbp + 0x454]
jmp 0x180028aa0
mov rdx, qword [rbp + 0x458]
test rdx, rdx
je 0x180028af5
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x3f8]
call fcn.180004690
mov rsi, qword [rbp + 0x3f0]
cmp r13, rsi
je 0x180028b3f
lea rbx, [rbp + 0x3c8]
jmp 0x180028b19
add r13, 0x10
cmp r13, rsi
je 0x180028b3f
mov rcx, qword [r13]
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov r9, rbx
call fcn.180086be0
test al, al
je 0x180028b10
inc dword [rbp + 0x454]
jmp 0x180028b10
mov rdx, qword [rbp + 0x3e0]
test rdx, rdx
je 0x180028b61
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x3b0]
call fcn.180004690
mov esi, 1
lea rbx, [rbp + 0x3c8]
nop dword [rax]
cmp r15, r12
je 0x180028be6
mov rcx, qword [r15]
add r15, 0x10
mov rax, qword [rcx]
add rax, 0xfffffffffffffffe
cmp rax, 4
cmovae rax, rsi
test rax, rax
je 0x180028bc0
cmp rax, 1
jne 0x1800297b6
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov r9, rbx
call fcn.18009cb00
test al, al
je 0x180028b70
inc dword [rbp + 0x454]
jmp 0x180028b70
add rcx, 8
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov r9, rbx
call fcn.1800b3ca0
test al, al
je 0x180028b70
inc dword [rbp + 0x454]
jmp 0x180028b70
mov rdx, qword [rbp + 0x3e8]
test rdx, rdx
je 0x180028c08
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x3b8]
call fcn.180004690
mov r15, qword [rbp + 0x3c8]
mov qword [rbp + 0x430], 0
mov qword [rbp + 0x438], 1
mov qword [rbp + 0x440], 0
mov qword [rbp + 0x200], 0x20
mov byte [rbp + 0x208], 3
mov qword [rbp + 0x1d0], 0
mov qword [rbp + 0x1e0], 0
lea rax, [rbp + 0x430]
mov qword [rbp + 0x1f0], rax
lea rax, [0x180235518]
mov qword [rbp + 0x1f8], rax
mov rcx, qword [r15]
mov rax, rcx
neg rax
jno 0x180028c83
xor edi, edi
jmp 0x180028c87
mov rdi, qword [r15 + 0x28]
xor r14d, r14d
sub rdi, 1
cmovb rdi, r14
mov rbx, rdi
shl rbx, 4
mov rax, rdi
shr rax, 0x3c
jne 0x180029815
movabs rsi, 0x7ffffffffffffff8
cmp rbx, rsi
ja 0x180029815
test rbx, rbx
je 0x180028d15
movzx eax, byte [0x1803155a1]
mov r14d, 8
mov edx, 8
mov rcx, rbx
call fcn.180004680
test rax, rax
je 0x180029815
mov qword [rbp + 0x458], rax
mov rcx, qword [r15]
mov rax, rcx
neg rax
jno 0x180028d2b
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], 0
mov r12d, 1
xor r13d, r13d
jmp 0x180028d4a
mov eax, 8
mov qword [rbp + 0x458], rax
xor edi, edi
mov rax, rcx
neg rax
jo 0x180028cf3
mov r12, qword [r15 + 0x30]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], 0
mov r13, qword [r15 + 0x28]
xor r14d, r14d
sub r13, 1
cmovb r13, r14
mov rbx, r13
shl rbx, 4
mov rax, r13
shr rax, 0x3c
jne 0x180029825
cmp rbx, rsi
ja 0x180029825
test rbx, rbx
je 0x180028dae
movzx eax, byte [0x1803155a1]
mov r14d, 8
mov edx, 8
mov rcx, rbx
call fcn.180004680
test rax, rax
je 0x180029825
mov rcx, qword [r15]
neg rcx
jno 0x180028dbb
mov ecx, 1
mov edx, 0x28
jmp 0x180028dc4
mov eax, 8
xor r13d, r13d
neg rcx
jo 0x180028da2
mov rcx, qword [r15 + 0x30]
mov edx, 0x18
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x60], rdi
mov r8, qword [rbp + 0x458]
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], 8
movdqa xmm0, xmmword [rbp + 0x210]
movdqu xmmword [rbp + 0x88], xmm0
mov r8, qword [rbp + 0x220]
mov qword [rbp + 0x98], r8
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf0], 1
mov qword [rbp + 0xf8], r12
mov byte [rbp + 0x100], 0
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x120], r15
mov qword [rbp + 0x128], 8
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x198], 1
mov qword [rbp + 0x1a0], rcx
mov byte [rbp + 0x1a8], 0
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1b8], rcx
cmp qword [r15 + rdx], 0
mov r13, qword [rbp + 0x428]
jne 0x180028ee8
test rcx, rcx
je 0x180028ee8
mov qword [rbp + 0x1b0], 1
lea rcx, [rbp + 0x210]
lea rdx, [rbp + 0x60]
call fcn.180022760
lea r14, [rbp + 0x210]
lea r12, [rbp + 0x60]
mov r8d, 0x160
mov rcx, r14
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x370], 0
mov qword [rbp + 0x380], 0
lea rbx, [rbp + 0x1d0]
nop word cs:[rax + rax]
mov rdx, qword [rbp + 0x370]
mov r8, qword [rbp + 0x378]
mov qword [rbp + 0x370], 0
test rdx, rdx
jne 0x180028ff1
mov rax, qword [rbp + 0x360]
cmp rax, qword [rbp + 0x368]
je 0x180028fd0
inc rax
mov qword [rbp + 0x360], rax
mov rcx, r12
mov rdx, r14
call fcn.180022760
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x180028fd0
mov rax, qword [rbp + 0x68]
mov r8, qword [rbp + 0x70]
cmp r8, rax
ja 0x1800297d3
movzx r10d, word [rbp + 0x80]
movzx r9d, r10w
mov rcx, rax
sub rcx, r9
test r8, r8
je 0x180029006
cmp rax, r9
jb 0x1800297ed
test r10w, r10w
je 0x180028ff1
add rcx, rdx
mov qword [rbp + 0x370], rcx
mov qword [rbp + 0x378], r9
jmp 0x180028ff1
mov rdx, qword [rbp + 0x380]
mov r9, qword [rbp + 0x388]
mov qword [rbp + 0x380], 0
mov r8, r9
test rdx, rdx
je 0x18002901a
mov rcx, rbx
call fcn.180216320
test al, al
je 0x180028f30
jmp 0x180029742
cmp rax, r9
jb 0x180029801
add rdx, rcx
mov r8, r9
test rdx, rdx
jne 0x180028ff1
mov rdx, qword [rbp + 0x210]
test rdx, rdx
je 0x18002903c
mov rcx, qword [rbp + 0x218]
shl rdx, 4
mov r8d, 8
call fcn.180004690
mov rdx, qword [rbp + 0x2b8]
test rdx, rdx
je 0x18002905e
mov rcx, qword [rbp + 0x2c0]
shl rdx, 4
mov r8d, 8
call fcn.180004690
mov rax, qword [rbp + 0x430]
mov qword [rbp + 0x458], rax
mov rcx, qword [rbp + 0x438]
mov rax, qword [rbp + 0x440]
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x3f0], rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], rax
movabs rax, 0xa0000000a
mov qword [rbp], rax
mov byte [rbp + 8], 1
mov word [rbp + 0x10], 0
lea rcx, [rbp + 0x390]
lea rdx, [rbp - 0x30]
call fcn.180055070
mov rdx, qword [rbp + 0x458]
test rdx, rdx
je 0x1800290e7
mov r8d, 1
mov rcx, qword [rbp + 0x3f0]
call fcn.180004690
mov r14, qword [rbp + 0x398]
mov r15, qword [rbp + 0x3a0]
lea rax, [r15 + r15*2]
lea rsi, [r14 + rax*8]
add r13, 0x68
mov rcx, r14
nop word cs:[rax + rax]
cmp rcx, rsi
je 0x180029126
lea rdi, [rcx + 0x18]
mov rdx, r13
call fcn.1800c50d0
mov rcx, rdi
jmp 0x180029110
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x210]
mov r9d, 1
mov rdx, r14
mov r8, r15
call fcn.180040d90
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x410], rax
movdqu xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x400], xmm0
cmp dword [rbp + 0x454], 1
mov rax, qword [0x180315450]
mov rax, qword [rax]
jne 0x1800291fe
cmp rax, 3
jb 0x180029291
lea rax, [rbp + 0x418]
mov qword [rbp + 0x60], rax
lea rax, [0x1800387a0]
mov qword [rbp + 0x68], rax
lea rax, str.Applied_1_patch_to_
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], 2
mov qword [rbp + 0x230], 0
mov qword [rbp + 0x220], r12
mov qword [rbp + 0x228], 1
mov qword [rsp + 0x20], 0
lea r8, str.lovely_core
lea rcx, [rbp + 0x210]
mov edx, 3
mov r9d, 0x1d9
call fcn.1801efeb0
jmp 0x180029291
cmp rax, 3
jb 0x180029291
lea rax, [rbp + 0x454]
mov qword [rbp + 0x60], rax
lea rax, [0x18021bd60]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x418]
mov qword [rbp + 0x70], rax
lea rax, [0x1800387a0]
mov qword [rbp + 0x78], rax
lea rax, str.Applied__patches_to_
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], 3
mov qword [rbp + 0x230], 0
mov qword [rbp + 0x220], r12
mov qword [rbp + 0x228], 2
mov qword [rsp + 0x20], 0
lea r8, str.lovely_core
lea rcx, [rbp + 0x210]
mov edx, 3
mov r9d, 0x1db
call fcn.1801efeb0
lea r12, [rbp + 0x88]
pxor xmm0, xmm0
movdqu xmmword [rbp + 0xb8], xmm0
movdqu xmmword [rbp + 0xa8], xmm0
movdqu xmmword [rbp + 0x98], xmm0
movdqu xmmword [rbp + 0x88], xmm0
mov byte [rbp + 0xc8], 0
movups xmm0, xmmword [0x180235a78]
movaps xmmword [rbp + 0x60], xmm0
movdqu xmm0, xmmword [0x180235a88]
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], 0
mov r13, qword [rbp + 0x408]
mov rdi, qword [rbp + 0x410]
cmp rdi, 0x40
jb 0x180029321
mov r8, rdi
shr r8, 6
mov qword [rbp + 0x80], r8
lea rcx, [rbp + 0x60]
mov rdx, r13
call fcn.1801f2770
mov rax, rdi
and rax, 0xffffffffffffffc0
add r13, rax
and edi, 0x3f
mov rcx, r12
mov rdx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + 0xc8], dil
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x270], rax
movzx eax, byte [rbp + 0xc8]
mov byte [rbp + 0x278], al
mov eax, dword [rbp + 0xc9]
mov dword [rbp + 0x279], eax
movzx eax, word [rbp + 0xcd]
mov word [rbp + 0x27d], ax
movzx eax, byte [rbp + 0xcf]
mov byte [rbp + 0x27f], al
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
movaps xmm2, xmmword [rbp + 0x80]
movdqa xmm3, xmmword [rbp + 0x90]
movaps xmmword [rbp + 0x230], xmm2
movaps xmm2, xmmword [rbp + 0xb0]
movaps xmmword [rbp + 0x260], xmm2
movdqa xmm2, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x250], xmm2
movdqa xmmword [rbp + 0x240], xmm3
movdqa xmmword [rbp + 0x220], xmm1
movdqa xmmword [rbp + 0x210], xmm0
lea rdi, [rbp + 0x238]
movzx r12d, byte [rbp + 0x278]
mov rax, qword [rbp + 0x230]
shl rax, 9
lea esi, [r12*8]
or rsi, rax
bswap rsi
mov byte [rbp + r12 + 0x238], 0x80
cmp r12d, 0x3f
je 0x18002942b
lea rcx, [r12 + rbp]
add rcx, 0x238
inc rcx
mov r8, r12
xor r8, 0x3f
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r12d, 0x38
cmp r12d, 7
ja 0x180029489
lea rcx, [rbp + 0x210]
mov r8d, 1
mov rdx, rdi
call fcn.1801f2770
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x1f0], xmm0
movdqa xmmword [rbp + 0x1e0], xmm0
movdqa xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x200], 0
mov qword [rbp + 0x208], rsi
lea rcx, [rbp + 0x210]
lea rdx, [rbp + 0x1d0]
mov r8d, 1
call fcn.1801f2770
jmp 0x1800294a5
mov qword [rbp + 0x270], rsi
lea rcx, [rbp + 0x210]
mov r8d, 1
mov rdx, rdi
call fcn.1801f2770
pxor xmm0, xmm0
movdqa xmm1, xmmword [rbp + 0x210]
movdqa xmm2, xmmword [rbp + 0x220]
movdqa xmm3, xmm1
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm3
movdqa xmm3, xmm2
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm2, xmm0
pshuflw xmm0, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm3
movdqa xmmword [rbp + 0x1d0], xmm1
movdqa xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x430], rbx
lea rax, [0x1800ce0c0]
mov qword [rbp + 0x438], rax
lea rax, [0x180236710]
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], 1
mov qword [rbp + 0x230], 0
lea rax, [rbp + 0x430]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 1
lea rcx, [rbp - 0x48]
lea rdx, [rbp + 0x210]
call fcn.18020e840
movdqu xmm0, xmmword [rbp - 0x48]
movdqa xmmword [rbp + 0x430], xmm0
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x440], rax
lea rax, [rbp + 0x430]
mov qword [rbp + 0x1d0], rax
lea rax, [0x180003c80]
mov qword [rbp + 0x1d8], rax
lea rcx, [rbp + 0x400]
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x1e8], rax
lea rax, str.LOVELY_INTEGRITY___n_n
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x218], 2
mov qword [rbp + 0x230], 0
mov qword [rbp + 0x220], rbx
mov qword [rbp + 0x228], 2
lea rdx, [rbp + 0x210]
mov rcx, qword [rbp + 0x1c8]
call fcn.18020e840
mov rdx, qword [rbp + 0x430]
test rdx, rdx
je 0x180029623
mov rcx, qword [rbp + 0x438]
mov r8d, 1
call fcn.180004690
mov rdx, qword [rbp + 0x400]
test rdx, rdx
je 0x180029641
mov rcx, qword [rbp + 0x408]
mov r8d, 1
call fcn.180004690
test r15, r15
je 0x180029672
lea rsi, [r14 + 8]
jmp 0x180029659
add rsi, 0x18
dec r15
je 0x180029672
mov rdx, qword [rsi - 8]
test rdx, rdx
je 0x180029650
mov rcx, qword [rsi]
mov r8d, 1
call fcn.180004690
jmp 0x180029650
mov rax, qword [rbp + 0x390]
test rax, rax
je 0x180029694
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, r14
call fcn.180004690
mov rcx, qword [rbp + 0x3c8]
mov byte [rbp + 0x46f], 0
mov byte [rbp + 0x46e], 0
mov byte [rbp + 0x46d], 0
call fcn.180021ce0
mov rax, qword [rbp + 0x1c8]
add rsp, 0x4f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [r9 + r8*8]
xor r9d, r9d
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x180029707
add rcx, rbx
add rcx, rsi
movdqu xmm1, xmmword [r10 + rdi]
paddq xmm0, xmm1
movdqu xmm1, xmmword [r14 + r11]
paddq xmm0, xmm1
add rdx, 0x10
cmp rdx, r8
je 0x180028978
mov r10, qword [rdx]
mov esi, 1
mov r11d, 0x28
cmp r9, qword [r10]
mov edi, 0x28
mov ebx, 1
jo 0x18002972d
mov rbx, qword [r10 + 0x30]
mov edi, 0x18
mov r14, qword [rdx + 8]
cmp r9, qword [r14]
jo 0x1800296e0
mov rsi, qword [r14 + 0x30]
mov r11d, 0x18
jmp 0x1800296e0
mov rdx, qword [rbp + 0x210]
test rdx, rdx
je 0x180029764
mov rcx, qword [rbp + 0x218]
shl rdx, 4
mov r8d, 8
call fcn.180004690
mov rdx, qword [rbp + 0x2b8]
test rdx, rdx
je 0x180029786
mov rcx, qword [rbp + 0x2c0]
shl rdx, 4
mov r8d, 8
call fcn.180004690
lea rax, [0x1802355d0]
mov qword [rsp + 0x20], rax
lea rcx, [0x180235548]
lea r9, [0x1802356c0]
lea r8, [rbp + 0x210]
mov edx, 0x37
call fcn.180226df0
jmp 0x1800298f8
lea rcx, [0x180235460]
lea r8, [0x180236758]
mov edx, 0x28
call fcn.180226b20
jmp 0x1800298f8
lea r9, [0x180235b08]
mov rcx, r8
mov rdx, rax
mov r8, r9
call fcn.180226f30
jmp 0x1800298f8
lea r8, [0x180235b20]
mov rdx, rax
call fcn.180226ec0
jmp 0x1800298f8
lea r8, [0x180235b20]
mov rdx, rax
call fcn.180226ec0
jmp 0x1800298f8
mov rcx, r14
mov rdx, rbx
call fcn.1802267c5
jmp 0x1800298f8
mov qword [rbp + 0x428], rdi
mov rcx, r14
mov rdx, rbx
call fcn.1802267c5
jmp 0x1800298f8
mov byte [rbp + 0x46c], 1
mov byte [rbp + 0x46b], 1
lea rcx, [0x180236678]
call fcn.180226a00
jmp 0x1800298f8
mov byte [rbp + 0x46f], 1
mov byte [rbp + 0x46e], 1
mov byte [rbp + 0x46d], 1
mov ecx, 1
mov edx, 0x800
call fcn.1802267df
jmp 0x1800298f8
mov ecx, 8
mov edx, 0x40
call fcn.1802267df
jmp 0x1800298f8
mov ecx, 8
mov edx, 0x40
call fcn.1802267df
jmp 0x1800298f8
mov ecx, 8
mov edx, 0x40
call fcn.1802267df
jmp 0x1800298f8
mov ecx, 8
mov edx, 0x10
call fcn.1802267c5
jmp 0x1800298f8
mov ecx, 8
mov edx, 0x40
call fcn.1802267df
jmp 0x1800298f8
lea r8, [0x1802357a0]
xor ecx, ecx
xor edx, edx
call fcn.180226ba4
jmp 0x1800298f8
lea r8, [0x1802357a0]
xor ecx, ecx
xor edx, edx
call fcn.180226ba4
ud2