Function at 0x180027f70
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 0x180027fab
cmp byte [r8], 0x40
sete al
jmp 0x180027fad
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.18007b2c0
mov byte [rbp + 0x469], 1
lea rcx, [rbp + 0x210]
mov rdx, rbx
mov r8, r14
call fcn.18007b160
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.18007b420
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 0x18002809e
cmp byte [rcx + rax - 1], 0xa
sete sil
jmp 0x1800280a0
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.180021140
movabs rbx, 0x8000000000000001
cmp qword [rbp + 0x60], rbx
mov qword [rbp + 0x3f0], rdi
jne 0x1800281c1
movzx eax, byte [0x1803165a1]
mov ecx, 0x800
mov edx, 1
call fcn.180004660
test rax, rax
je 0x1800295bb
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 [0x1803165a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004660
test rax, rax
je 0x1800295f2
movdqu xmm0, xmmword [rbp + 0x210]
movdqu xmm1, xmmword [rbp + 0x220]
movdqu xmm2, xmmword [rbp + 0x230]
movdqu xmm3, xmmword [rbp + 0x240]
jmp 0x180028778
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 [0x1803165a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004660
test rax, rax
je 0x1800295e1
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.180021140
cmp qword [rbp + 0x60], rbx
jne 0x180028286
mov rax, qword [rbp + 0x458]
jmp 0x18002878b
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 [0x1803165a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004660
test rax, rax
mov rbx, qword [rbp + 0x458]
je 0x180029603
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 [0x1803165a1]
mov ecx, 0x10
mov edx, 8
call fcn.180004660
test rax, rax
mov qword [rbp + 0x3c0], r14
mov qword [rbp + 0x38], rax
je 0x180029614
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.1800519d0
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 0x180028461
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.18004cbb0
mov r8, qword [rbp + 0x70]
test r8, r8
je 0x180029636
mov r9, qword [rbp + 0x68]
mov rcx, qword [r9]
xor eax, eax
cmp rax, qword [rcx]
jno 0x180028596
mov eax, 1
mov edx, 0x28
mov r10d, 1
movdqu xmm1, xmmword [rcx + rdx]
lea r11, [r8*8]
cmp r11, 8
je 0x1800285bd
lea rdx, [r9 + 8]
test r8b, 1
jne 0x1800285f5
mov rdx, qword [rdx]
xor ecx, ecx
cmp rcx, qword [rdx]
jno 0x1800285fc
mov ecx, 1
mov esi, 0x28
jmp 0x180028605
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.180055b80
mov rax, qword [rbp + 0x410]
cmp rax, 0x11
jb 0x1800284ea
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.180055b80
mov rax, qword [rbp + 0x410]
cmp rax, 0x10
ja 0x1800284b0
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.18004cbb0
mov r8, qword [rbp + 0x440]
test r8, r8
je 0x180029648
mov r9, qword [rbp + 0x438]
mov rcx, qword [r9]
xor eax, eax
cmp rax, qword [rcx]
jno 0x1800285c6
mov eax, 1
mov edx, 0x28
mov r10d, 1
movdqu xmm1, xmmword [rcx + rdx]
lea r11, [r8*8]
cmp r11, 8
je 0x1800285e9
lea rdx, [r9 + 8]
test r8b, 1
jne 0x1800285f7
mov rdx, qword [rdx]
xor ecx, ecx
cmp rcx, qword [rdx]
jno 0x1800286ae
mov ecx, 1
mov esi, 0x28
jmp 0x1800286b7
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 0x180028436
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x180028622
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 0x18002856f
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x1800286d8
jmp 0x18002861c
jmp 0x1800286ce
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 0x180028636
mov rdx, qword [rbp + 0x70]
mov qword [rbp + 0x3a0], rdx
movups xmm1, xmmword [rbp + 0x60]
jmp 0x1800286ed
lea r8, [r9 + r8*8]
xor r9d, r9d
mov rcx, r10
movdqa xmm0, xmm1
jmp 0x180028673
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 0x180028622
mov r10, qword [rdx]
mov esi, 1
mov r11d, 0x28
cmp r9, qword [r10]
mov edi, 0x28
mov ebx, 1
jo 0x180028699
mov rbx, qword [r10 + 0x30]
mov edi, 0x18
mov r14, qword [rdx + 8]
cmp r9, qword [r14]
jo 0x180028650
mov rsi, qword [r14 + 0x30]
mov r11d, 0x18
jmp 0x180028650
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 0x180029430
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 [0x1803165a1]
mov ecx, 0x40
mov edx, 8
call fcn.180004660
test rax, rax
mov esi, dword [rbp + 0x3f8]
je 0x180029625
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 0x18002959c
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 0x180028833
mov rbx, qword [rbp + 0x4f0]
lea rdi, [rbp + 0x40]
jmp 0x180028809
add r14, 0x10
cmp r14, rsi
je 0x180028833
mov rcx, qword [r14]
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov qword [rsp + 0x20], rdi
mov r9, rbx
call fcn.18006fa70
test al, al
je 0x180028800
inc dword [rbp + 0x454]
jmp 0x180028800
mov rdx, qword [rbp + 0x458]
test rdx, rdx
je 0x180028855
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x3f8]
call fcn.180004670
mov rsi, qword [rbp + 0x3f0]
cmp r13, rsi
je 0x18002889f
lea rbx, [rbp + 0x3c8]
jmp 0x180028879
add r13, 0x10
cmp r13, rsi
je 0x18002889f
mov rcx, qword [r13]
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov r9, rbx
call fcn.18008ed50
test al, al
je 0x180028870
inc dword [rbp + 0x454]
jmp 0x180028870
mov rdx, qword [rbp + 0x3e0]
test rdx, rdx
je 0x1800288c1
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x3b0]
call fcn.180004670
mov esi, 1
lea rbx, [rbp + 0x3c8]
nop dword [rax]
cmp r15, r12
je 0x180028946
mov rcx, qword [r15]
add r15, 0x10
mov rax, qword [rcx]
add rax, 0xfffffffffffffffe
cmp rax, 4
cmovae rax, rsi
test rax, rax
je 0x180028920
cmp rax, 1
jne 0x180029516
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov r9, rbx
call fcn.1800a4c60
test al, al
je 0x1800288d0
inc dword [rbp + 0x454]
jmp 0x1800288d0
add rcx, 8
mov rdx, qword [rbp + 0x418]
mov r8, qword [rbp + 0x420]
mov r9, rbx
call fcn.1800bbdf0
test al, al
je 0x1800288d0
inc dword [rbp + 0x454]
jmp 0x1800288d0
mov rdx, qword [rbp + 0x3e8]
test rdx, rdx
je 0x180028968
shl rdx, 4
mov r8d, 8
mov rcx, qword [rbp + 0x3b8]
call fcn.180004670
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, [0x180236518]
mov qword [rbp + 0x1f8], rax
mov rcx, qword [r15]
mov rax, rcx
neg rax
jno 0x1800289e3
xor edi, edi
jmp 0x1800289e7
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 0x180029575
movabs rsi, 0x7ffffffffffffff8
cmp rbx, rsi
ja 0x180029575
test rbx, rbx
je 0x180028a75
movzx eax, byte [0x1803165a1]
mov r14d, 8
mov edx, 8
mov rcx, rbx
call fcn.180004660
test rax, rax
je 0x180029575
mov qword [rbp + 0x458], rax
mov rcx, qword [r15]
mov rax, rcx
neg rax
jno 0x180028a8b
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x210], xmm0
mov qword [rbp + 0x220], 0
mov r12d, 1
xor r13d, r13d
jmp 0x180028aaa
mov eax, 8
mov qword [rbp + 0x458], rax
xor edi, edi
mov rax, rcx
neg rax
jo 0x180028a53
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 0x180029585
cmp rbx, rsi
ja 0x180029585
test rbx, rbx
je 0x180028b0e
movzx eax, byte [0x1803165a1]
mov r14d, 8
mov edx, 8
mov rcx, rbx
call fcn.180004660
test rax, rax
je 0x180029585
mov rcx, qword [r15]
neg rcx
jno 0x180028b1b
mov ecx, 1
mov edx, 0x28
jmp 0x180028b24
mov eax, 8
xor r13d, r13d
neg rcx
jo 0x180028b02
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 0x180028c48
test rcx, rcx
je 0x180028c48
mov qword [rbp + 0x1b0], 1
lea rcx, [rbp + 0x210]
lea rdx, [rbp + 0x60]
call fcn.180022720
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 0x180028d51
mov rax, qword [rbp + 0x360]
cmp rax, qword [rbp + 0x368]
je 0x180028d30
inc rax
mov qword [rbp + 0x360], rax
mov rcx, r12
mov rdx, r14
call fcn.180022720
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x180028d30
mov rax, qword [rbp + 0x68]
mov r8, qword [rbp + 0x70]
cmp r8, rax
ja 0x180029533
movzx r10d, word [rbp + 0x80]
movzx r9d, r10w
mov rcx, rax
sub rcx, r9
test r8, r8
je 0x180028d66
cmp rax, r9
jb 0x18002954d
test r10w, r10w
je 0x180028d51
add rcx, rdx
mov qword [rbp + 0x370], rcx
mov qword [rbp + 0x378], r9
jmp 0x180028d51
mov rdx, qword [rbp + 0x380]
mov r9, qword [rbp + 0x388]
mov qword [rbp + 0x380], 0
mov r8, r9
test rdx, rdx
je 0x180028d7a
mov rcx, rbx
call fcn.180217710
test al, al
je 0x180028c90
jmp 0x1800294a2
cmp rax, r9
jb 0x180029561
add rdx, rcx
mov r8, r9
test rdx, rdx
jne 0x180028d51
mov rdx, qword [rbp + 0x210]
test rdx, rdx
je 0x180028d9c
mov rcx, qword [rbp + 0x218]
shl rdx, 4
mov r8d, 8
call fcn.180004670
mov rdx, qword [rbp + 0x2b8]
test rdx, rdx
je 0x180028dbe
mov rcx, qword [rbp + 0x2c0]
shl rdx, 4
mov r8d, 8
call fcn.180004670
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.180052f50
mov rdx, qword [rbp + 0x458]
test rdx, rdx
je 0x180028e47
mov r8d, 1
mov rcx, qword [rbp + 0x3f0]
call fcn.180004670
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 0x180028e86
lea rdi, [rcx + 0x18]
mov rdx, r13
call fcn.1800ccf30
mov rcx, rdi
jmp 0x180028e70
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0x210]
mov r9d, 1
mov rdx, r14
mov r8, r15
call fcn.180040710
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 [0x180316430]
mov rax, qword [rax]
jne 0x180028f5e
cmp rax, 3
jb 0x180028ff1
lea rax, [rbp + 0x418]
mov qword [rbp + 0x60], rax
lea rax, [0x1800383e0]
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, 0x1e2
call fcn.1801f0600
jmp 0x180028ff1
cmp rax, 3
jb 0x180028ff1
lea rax, [rbp + 0x454]
mov qword [rbp + 0x60], rax
lea rax, [0x18021d190]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x418]
mov qword [rbp + 0x70], rax
lea rax, [0x1800383e0]
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, 0x1e4
call fcn.1801f0600
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 [0x180236a78]
movaps xmmword [rbp + 0x60], xmm0
movdqu xmm0, xmmword [0x180236a88]
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], 0
mov r13, qword [rbp + 0x408]
mov rdi, qword [rbp + 0x410]
cmp rdi, 0x40
jb 0x180029081
mov r8, rdi
shr r8, 6
mov qword [rbp + 0x80], r8
lea rcx, [rbp + 0x60]
mov rdx, r13
call fcn.1801f2db0
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 0x18002918b
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 0x1800291e9
lea rcx, [rbp + 0x210]
mov r8d, 1
mov rdx, rdi
call fcn.1801f2db0
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.1801f2db0
jmp 0x180029205
mov qword [rbp + 0x270], rsi
lea rcx, [rbp + 0x210]
mov r8d, 1
mov rdx, rdi
call fcn.1801f2db0
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, [0x180078550]
mov qword [rbp + 0x438], rax
lea rax, [0x180237700]
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.18020fb50
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, [0x180003c70]
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.18020fb50
mov rdx, qword [rbp + 0x430]
test rdx, rdx
je 0x180029383
mov rcx, qword [rbp + 0x438]
mov r8d, 1
call fcn.180004670
mov rdx, qword [rbp + 0x400]
test rdx, rdx
je 0x1800293a1
mov rcx, qword [rbp + 0x408]
mov r8d, 1
call fcn.180004670
test r15, r15
je 0x1800293d2
lea rsi, [r14 + 8]
jmp 0x1800293b9
add rsi, 0x18
dec r15
je 0x1800293d2
mov rdx, qword [rsi - 8]
test rdx, rdx
je 0x1800293b0
mov rcx, qword [rsi]
mov r8d, 1
call fcn.180004670
jmp 0x1800293b0
mov rax, qword [rbp + 0x390]
test rax, rax
je 0x1800293f4
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, r14
call fcn.180004670
mov rcx, qword [rbp + 0x3c8]
mov byte [rbp + 0x46f], 0
mov byte [rbp + 0x46e], 0
mov byte [rbp + 0x46d], 0
call fcn.180021ca0
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 0x180029467
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 0x1800286d8
mov r10, qword [rdx]
mov esi, 1
mov r11d, 0x28
cmp r9, qword [r10]
mov edi, 0x28
mov ebx, 1
jo 0x18002948d
mov rbx, qword [r10 + 0x30]
mov edi, 0x18
mov r14, qword [rdx + 8]
cmp r9, qword [r14]
jo 0x180029440
mov rsi, qword [r14 + 0x30]
mov r11d, 0x18
jmp 0x180029440
mov rdx, qword [rbp + 0x210]
test rdx, rdx
je 0x1800294c4
mov rcx, qword [rbp + 0x218]
shl rdx, 4
mov r8d, 8
call fcn.180004670
mov rdx, qword [rbp + 0x2b8]
test rdx, rdx
je 0x1800294e6
mov rcx, qword [rbp + 0x2c0]
shl rdx, 4
mov r8d, 8
call fcn.180004670
lea rax, [0x1802365d0]
mov qword [rsp + 0x20], rax
lea rcx, [0x180236548]
lea r9, [0x180236680]
lea r8, [rbp + 0x210]
mov edx, 0x37
call fcn.1802282a0
jmp 0x180029658
lea rcx, [0x180236460]
lea r8, [0x180237748]
mov edx, 0x28
call fcn.180227f70
jmp 0x180029658
lea r9, [0x180236b08]
mov rcx, r8
mov rdx, rax
mov r8, r9
call fcn.1802283a0
jmp 0x180029658
lea r8, [0x180236b20]
mov rdx, rax
call fcn.180228330
jmp 0x180029658
lea r8, [0x180236b20]
mov rdx, rax
call fcn.180228330
jmp 0x180029658
mov rcx, r14
mov rdx, rbx
call fcn.180227bf0
jmp 0x180029658
mov qword [rbp + 0x428], rdi
mov rcx, r14
mov rdx, rbx
call fcn.180227bf0
jmp 0x180029658
mov byte [rbp + 0x46c], 1
mov byte [rbp + 0x46b], 1
lea rcx, [0x180237668]
call fcn.180227e50
jmp 0x180029658
mov byte [rbp + 0x46f], 1
mov byte [rbp + 0x46e], 1
mov byte [rbp + 0x46d], 1
mov ecx, 1
mov edx, 0x800
call fcn.180227c10
jmp 0x180029658
mov ecx, 8
mov edx, 0x40
call fcn.180227c10
jmp 0x180029658
mov ecx, 8
mov edx, 0x40
call fcn.180227c10
jmp 0x180029658
mov ecx, 8
mov edx, 0x40
call fcn.180227c10
jmp 0x180029658
mov ecx, 8
mov edx, 0x10
call fcn.180227bf0
jmp 0x180029658
mov ecx, 8
mov edx, 0x40
call fcn.180227c10
jmp 0x180029658
lea r8, [0x1802367a0]
xor ecx, ecx
xor edx, edx
call fcn.180228000
jmp 0x180029658
lea r8, [0x1802367a0]
xor ecx, ecx
xor edx, edx
call fcn.180228000
ud2