Function at 0x180026750
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2d8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x250], 0xfffffffffffffffe
mov rdi, rdx
mov r12, rcx
test r9, r9
je 0x18002678a
cmp byte [r8], 0x40
sete al
jmp 0x18002678c
xor eax, eax
movzx eax, al
add r8, rax
sub r9, rax
mov qword [rbp + 0x210], r8
mov qword [rbp + 0x218], r9
mov rbx, qword [rdi + 0x28]
mov r14, qword [rdi + 0x30]
shl r14, 7
add r14, rbx
lea rcx, [rbp + 0x78]
mov rdx, rbx
mov r8, r14
call fcn.1800305e0
mov byte [rbp + 0x247], 1
lea rcx, [rbp + 0x60]
mov rdx, rbx
mov r8, r14
call fcn.180032520
mov byte [rbp + 0x246], 1
mov byte [rbp + 0x245], 1
lea rcx, [rbp + 0x48]
mov rdx, rbx
mov r8, r14
call fcn.18002fff0
mov byte [rbp + 0x244], 1
mov byte [rbp + 0x243], 1
mov byte [rbp + 0x242], 1
lea rcx, [rbp + 0x30]
mov rdx, rbx
mov r8, r14
call fcn.180032050
mov dword [rbp + 0x22c], 0
mov byte [rbp + 0x24b], 1
mov byte [rbp + 0x24a], 1
mov byte [rbp + 0x249], 1
mov byte [rbp + 0x248], 1
lea rcx, [rbp + 0x1a0]
call fcn.1801adad0
mov r8, qword [rbp + 0x2c8]
mov rdx, qword [rbp + 0x2c0]
mov byte [rbp + 0x24b], 1
mov byte [rbp + 0x24a], 1
mov byte [rbp + 0x249], 1
mov byte [rbp + 0x248], 1
lea rcx, [rbp + 0x1a0]
call fcn.1801adc80
mov qword [rbp + 0x220], rax
cmp qword [rdi + 0xc8], 0
je 0x1800273b1
lea rax, [rdi + 0xc8]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x238], rax
mov rsi, qword [rbp + 0x88]
test rsi, rsi
je 0x18002691b
mov rbx, qword [rbp + 0x2d0]
shl rsi, 3
xor r14d, r14d
lea r15, [rbp + 0x28]
jmp 0x1800268e9
add r14, 8
cmp rsi, r14
je 0x18002691b
mov rax, qword [rbp + 0x238]
mov rcx, qword [rax + r14]
mov rdx, qword [rbp + 0x210]
mov r8, qword [rbp + 0x218]
mov qword [rsp + 0x20], r15
mov r9, rbx
call fcn.1800a2890
test al, al
je 0x1800268e0
inc dword [rbp + 0x22c]
jmp 0x1800268e0
mov rdx, qword [rbp + 0x230]
test rdx, rdx
je 0x18002693d
shl rdx, 3
mov r8d, 8
mov rcx, qword [rbp + 0x238]
call fcn.1800046a0
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x238], rax
mov rsi, qword [rbp + 0x70]
test rsi, rsi
je 0x1800269a6
shl rsi, 3
xor r14d, r14d
lea rbx, [rbp + 0x220]
jmp 0x180026979
add r14, 8
cmp rsi, r14
je 0x1800269a6
mov rax, qword [rbp + 0x238]
mov rcx, qword [rax + r14]
mov rdx, qword [rbp + 0x210]
mov r8, qword [rbp + 0x218]
mov r9, rbx
call fcn.1800a6ba0
test al, al
je 0x180026970
inc dword [rbp + 0x22c]
jmp 0x180026970
mov rdx, qword [rbp + 0x230]
test rdx, rdx
je 0x1800269c8
shl rdx, 3
mov r8d, 8
mov rcx, qword [rbp + 0x238]
call fcn.1800046a0
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x238], rax
mov rsi, qword [rbp + 0x58]
test rsi, rsi
je 0x180026a36
shl rsi, 3
xor r14d, r14d
lea rbx, [rbp + 0x220]
jmp 0x180026a09
add r14, 8
cmp rsi, r14
je 0x180026a36
mov rax, qword [rbp + 0x238]
mov rcx, qword [rax + r14]
mov rdx, qword [rbp + 0x210]
mov r8, qword [rbp + 0x218]
mov r9, rbx
call fcn.1800297a0
test al, al
je 0x180026a00
inc dword [rbp + 0x22c]
jmp 0x180026a00
mov rdx, qword [rbp + 0x230]
test rdx, rdx
je 0x180026a58
shl rdx, 3
mov r8d, 8
mov rcx, qword [rbp + 0x238]
call fcn.1800046a0
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x238], rax
mov rsi, qword [rbp + 0x40]
test rsi, rsi
je 0x180026ac6
shl rsi, 3
xor r14d, r14d
lea rbx, [rbp + 0x220]
jmp 0x180026a99
add r14, 8
cmp rsi, r14
je 0x180026ac6
mov rax, qword [rbp + 0x238]
mov rcx, qword [rax + r14]
mov rdx, qword [rbp + 0x210]
mov r8, qword [rbp + 0x218]
mov r9, rbx
call fcn.1800a31e0
test al, al
je 0x180026a90
inc dword [rbp + 0x22c]
jmp 0x180026a90
mov rdx, qword [rbp + 0x230]
test rdx, rdx
je 0x180026ae8
shl rdx, 3
mov r8d, 8
mov rcx, qword [rbp + 0x238]
call fcn.1800046a0
mov qword [rbp + 0x230], r12
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x170], 1
mov qword [rbp + 0x178], 0
mov rdx, qword [rbp + 0x220]
add rdx, 0x10
lea rcx, [rbp + 0x90]
call fcn.1801b59a0
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xa8]
inc rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
lea rcx, [rbp + 0x1a0]
lea rdx, [rbp + 0x220]
xor r8d, r8d
xor r9d, r9d
call fcn.1801bfb60
movdqu xmm0, xmmword [rbp + 0x1a0]
movdqu xmm1, xmmword [rbp + 0x1b0]
movdqu xmm2, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
lea r12, [rbp + 0xd0]
lea rsi, [0x180042b50]
lea rbx, [0x18020f648]
lea r14, [0x18020f3f8]
lea r15, [rbp + 0x168]
lea r13, [rbp + 0x1a0]
nop word cs:[rax + rax]
cmp byte [rbp + 0xf8], 0
je 0x180026c00
mov rcx, r12
call fcn.1801c03f0
jmp 0x180026c08
mov rcx, r12
call fcn.1801c06f0
test rax, rax
je 0x180026ce1
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], rdx
lea rax, [rbp + 0x180]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x1a8], 1
mov qword [rbp + 0x1c0], 0
lea rax, [rbp + 0x90]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1b8], 1
mov rcx, r15
mov rdx, r14
mov r8, r13
call fcn.1801ef0a0
test al, al
je 0x180026be0
mov rdx, qword [rbp + 0xd0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180026cb1
test rdx, rdx
je 0x180026cb1
mov rcx, qword [rbp + 0xd8]
shl rdx, 4
mov r8d, 8
call fcn.1800046a0
lea rax, [0x18020f4b0]
mov qword [rsp + 0x20], rax
lea rcx, [0x18020f428]
lea r9, [0x18020f560]
lea r8, [rbp + 0x1a0]
mov edx, 0x37
call fcn.180201c00
jmp 0x1800273d9
mov rdx, qword [rbp + 0xd0]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180026d12
test rdx, rdx
je 0x180026d12
mov rcx, qword [rbp + 0xd8]
shl rdx, 4
mov r8d, 8
call fcn.1800046a0
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x238], rax
mov rcx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x178]
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x148], rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], rax
movabs rax, 0xa0000000a
mov qword [rbp - 8], rax
mov byte [rbp], 1
mov word [rbp + 8], 1
lea rcx, [rbp + 0x10]
lea rdx, [rbp - 0x38]
call fcn.180030ad0
mov rdx, qword [rbp + 0x238]
test rdx, rdx
je 0x180026d98
mov r8d, 1
mov rcx, qword [rbp + 0x148]
call fcn.1800046a0
mov rcx, qword [rbp + 0x18]
mov r15, qword [rbp + 0x20]
lea rax, [r15 + r15*2]
lea r13, [rcx + rax*8]
add rdi, 0x68
mov qword [rbp + 0x238], rcx
nop word cs:[rax + rax]
cmp rcx, r13
je 0x180026dd6
lea r14, [rcx + 0x18]
mov rdx, rdi
call fcn.18003d0d0
mov rcx, r14
jmp 0x180026dc0
mov qword [rsp + 0x20], 1
lea r9, str._nApplied_1_patch_to_
lea rcx, [rbp + 0x1a0]
mov rdx, qword [rbp + 0x238]
mov r8, r15
call fcn.180063bd0
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x160], rax
movdqu xmm0, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0x150], xmm0
cmp dword [rbp + 0x22c], 1
mov rax, qword [0x1802ea4b8]
mov rax, qword [rax]
jne 0x180026eb2
cmp rax, 3
jb 0x180026f4a
lea rax, [rbp + 0x210]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rsi
lea rax, [0x180210158]
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 2
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], 1
mov qword [rsp + 0x20], 0
lea r8, str.lovely_core
lea rcx, [rbp + 0x1a0]
mov edx, 3
mov r9d, 0x1a0
call fcn.1801a9f10
jmp 0x180026f4a
cmp rax, 3
jb 0x180026f4a
lea rax, [rbp + 0x22c]
mov qword [rbp + 0xd0], rax
lea rax, [0x1801f5990]
mov qword [rbp + 0xd8], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rsi
lea rax, str.Applied__patches_to_
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 3
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], 2
mov qword [rsp + 0x20], 0
lea r8, str.lovely_core
lea rcx, [rbp + 0x1a0]
mov edx, 3
mov r9d, 0x1a2
call fcn.1801a9f10
lea r12, [rbp + 0xf8]
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x128], xmm0
movdqu xmmword [rbp + 0x118], xmm0
movdqu xmmword [rbp + 0x108], xmm0
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0x138], 0
movups xmm0, xmmword [0x18020f740]
movaps xmmword [rbp + 0xd0], xmm0
movdqu xmm0, xmmword [0x18020f750]
movdqa xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], 0
mov r13, qword [rbp + 0x158]
mov rdi, qword [rbp + 0x160]
cmp rdi, 0x40
jb 0x180026fe3
mov r8, rdi
shr r8, 6
mov qword [rbp + 0xf0], r8
lea rcx, [rbp + 0xd0]
mov rdx, r13
call fcn.1801aa150
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 + 0x138], dil
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x200], rax
movzx eax, byte [rbp + 0x138]
mov byte [rbp + 0x208], al
mov eax, dword [rbp + 0x139]
mov dword [rbp + 0x209], eax
movzx eax, word [rbp + 0x13d]
mov word [rbp + 0x20d], ax
movzx eax, byte [rbp + 0x13f]
mov byte [rbp + 0x20f], al
movdqa xmm0, xmmword [rbp + 0xd0]
movdqa xmm1, xmmword [rbp + 0xe0]
movaps xmm2, xmmword [rbp + 0xf0]
movdqa xmm3, xmmword [rbp + 0x100]
movaps xmmword [rbp + 0x1c0], xmm2
movaps xmm2, xmmword [rbp + 0x120]
movaps xmmword [rbp + 0x1f0], xmm2
movdqa xmm2, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x1e0], xmm2
movdqa xmmword [rbp + 0x1d0], xmm3
movdqa xmmword [rbp + 0x1b0], xmm1
movdqa xmmword [rbp + 0x1a0], xmm0
movzx edi, byte [rbp + 0x208]
mov rax, qword [rbp + 0x1c0]
shl rax, 9
mov esi, edi
shl esi, 3
or rsi, rax
mov byte [rbp + rdi + 0x1c8], 0x80
mov r8, rdi
xor r8, 0x3f
je 0x1800270d8
lea rcx, [rdi + rbp]
add rcx, 0x1c9
test rcx, rcx
je 0x1800270d8
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0x1c8]
bswap rsi
xor edi, 0x38
cmp edi, 8
jae 0x180027145
lea rcx, [rbp + 0x1a0]
mov r8d, 1
call fcn.1801aa150
pxor xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xc8], rsi
lea rcx, [rbp + 0x1a0]
lea rdx, [rbp + 0x90]
mov r8d, 1
call fcn.1801aa150
jmp 0x18002715e
mov qword [rbp + 0x200], rsi
lea rcx, [rbp + 0x1a0]
mov r8d, 1
call fcn.1801aa150
pxor xmm0, xmm0
movdqa xmm1, xmmword [rbp + 0x1a0]
movdqa xmm2, xmmword [rbp + 0x1b0]
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 + 0x90], xmm1
movdqa xmmword [rbp + 0xa0], xmm0
lea rax, [rbp + 0x90]
mov qword [rbp + 0x180], rax
lea rax, [0x180063af0]
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x1a0], rbx
mov qword [rbp + 0x1a8], 1
mov qword [rbp + 0x1c0], 0
lea rax, [rbp + 0x180]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1b8], 1
lea rcx, [rbp + 0x168]
lea rdx, [rbp + 0x1a0]
call fcn.1801e8470
movdqu xmm0, xmmword [rbp + 0x168]
movdqa xmmword [rbp + 0x180], xmm0
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0x190], rax
lea rax, [rbp + 0x180]
mov qword [rbp + 0x90], rax
lea rax, [0x180001980]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x150]
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0xa8], rax
lea rax, str.LOVELY_INTEGRITY___n_n
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1a8], 2
mov qword [rbp + 0x1c0], 0
lea rax, [rbp + 0x90]
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1b8], 2
lea rdx, [rbp + 0x1a0]
mov rdi, qword [rbp + 0x230]
mov rcx, rdi
call fcn.1801e8470
mov rdx, qword [rbp + 0x180]
test rdx, rdx
je 0x1800272ef
mov rcx, qword [rbp + 0x188]
mov r8d, 1
call fcn.1800046a0
mov rdx, qword [rbp + 0x150]
test rdx, rdx
je 0x18002730d
mov rcx, qword [rbp + 0x158]
mov r8d, 1
call fcn.1800046a0
test r15, r15
je 0x180027342
mov rax, qword [rbp + 0x238]
lea rsi, [rax + 8]
jmp 0x180027329
add rsi, 0x18
dec r15
je 0x180027342
mov rdx, qword [rsi - 8]
test rdx, rdx
je 0x180027320
mov rcx, qword [rsi]
mov r8d, 1
call fcn.1800046a0
jmp 0x180027320
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x180027365
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, qword [rbp + 0x238]
call fcn.1800046a0
mov rax, qword [rbp + 0x220]
lock dec qword [rax]
jne 0x18002739a
mov byte [rbp + 0x24b], 0
mov byte [rbp + 0x24a], 0
mov byte [rbp + 0x249], 0
mov byte [rbp + 0x248], 0
lea rcx, [rbp + 0x220]
call fcn.1800368a0
mov rax, rdi
add rsp, 0x2d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x24f], 1
mov byte [rbp + 0x24e], 1
mov byte [rbp + 0x24d], 1
mov byte [rbp + 0x24c], 1
lea rcx, [0x180210128]
call fcn.1802017d0
ud2