Function at 0x140025d30
Capabilities:
Hash data using sha1

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x20
mov edi, edx
mov r15d, edx
shr edi, 4
mov rbx, rcx
and edi, 1
test dl, 0x20
jne 0x140025d57
cmp byte [rcx + 0x188], 0
je 0x140025d5a
or edi, 2
lea rsi, [rcx + 0x1b0]
mov qword [rsp + 0x60], r14
xor ebp, ebp
cmp word [rsi], bp
je 0x140025d8e
cmp qword [rcx + 0x1a0], rbp
je 0x140025ef3
test byte [rcx + 0x2b4], 2
jne 0x140025d8e
mov eax, edi
and eax, 2
jne 0x140025ef8
mov rcx, qword [rbx + 0x2b8]
test rcx, rcx
je 0x140025e03
mov rax, qword [rbx + 0x48]
test rax, rax
jne 0x140025da7
mov rax, qword [rbx + 0x28]
lea rsi, [rcx + rax]
cmp byte [rbx + 0x188], bpl
je 0x140025dcb
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0xa8]
call qword [case.0x140017e6f.8]
test al, al
je 0x140025dd5
mov rax, qword [rsi]
mov qword [rbx + 0x168], rax
cmp byte [rbx + 0x188], bpl
je 0x140025df5
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0xa8]
call qword [case.0x140017e6f.8]
test al, al
jne 0x140025e03
and edi, 2
cmovne rbp, rsi
mov qword [rbx + 0x170], rbp
cmp byte [rbx + 0x188], 0
je 0x140025e93
cmp qword [rbx + 0x180], 0
je 0x140025ede
cmp qword [rbx + 0x1a0], 0
jne 0x140025e38
mov rcx, rbx
call fcn.140026130
test al, al
je 0x140025ede
cmp qword [rbx + 0x2c0], 0xffffffffffffffff
je 0x140025ede
mov rax, qword [rbx + 0x1a8]
test rax, rax
jne 0x140025e78
lea r8, [rbx + 0x230]
cmp word [r8], ax
je 0x140025ede
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventW]
mov qword [rbx + 0x1a8], rax
test rax, rax
je 0x140025ede
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x140025e85
mov rcx, qword [rbx + 0x28]
add rcx, qword [rbx + 0x2c0]
mov qword [rbx + 0x178], rcx
cmp qword [rbx + 8], 0
je 0x140025ffc
cmp byte [rbx + 0x188], 0
jne 0x140025ffc
cmp qword [rbx + 0x50], 0
jne 0x140025ffc
cmp qword [rbx + 0x78], 0
jne 0x140025fb7
mov rax, qword [rbx + 0x58]
lea rcx, [rbx + 0x58]
mov edx, r15d
mov rax, qword [rax + 0x18]
call qword [case.0x140017e6f.8]
test eax, eax
je 0x140025fb7
mov eax, 0x1b5b
mov r14, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, edi
and eax, 2
test rsi, rsi
je 0x140025fa8
test edi, edi
je 0x140025fa8
mov ecx, 2
test eax, eax
mov r14d, 4
mov r8, rsi
cmovne r14d, ecx
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
test rax, rax
jne 0x140025f51
lea edx, [rax + 0x5c]
mov rcx, rsi
call fcn.140049608
test rax, rax
je 0x140025ede
lea r8, [rax + 2]
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
test rax, rax
je 0x140025ede
lea r9, [rsp + 0x50]
mov r8d, r14d
xor edx, edx
mov rcx, rax
call fcn.14003cce0
mov rsi, rax
test rax, rax
je 0x140025ede
mov rcx, qword [rbx + 0x1a0]
test rcx, rcx
je 0x140025f80
call fcn.14003cfe0
mov rax, qword [rsp + 0x50]
lea rcx, [rbx + 0x20]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x1a0], rsi
mov dword [rbx + 0x2b4], edi
mov qword [rbx + 0x40], rbp
call fcn.1400343a0
jmp 0x140025d8e
mov ecx, 0xa
call int.14003a5d0
jmp 0x140025ede
mov rax, qword [rbx + 0x58]
lea rcx, [rbx + 0x58]
mov rax, qword [rax + 0x48]
call qword [case.0x140017e6f.8]
cmp rax, 0xffffffffffffffff
jne 0x140025fe4
mov eax, 0x1388
mov r14, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp qword [rbx + 0x48], 0
mov qword [rbx + 0xd0], rax
jne 0x140025ffc
cmp rax, qword [rbx + 0x40]
jge 0x140025ffc
mov qword [rbx + 0x40], rax
mov edx, r15d
mov rcx, rbx
mov r14, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
jmp method.CSynchronizedTempStream.virtual_24
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov edi, edx
mov rbx, rcx
bt edx, 0x13
jae 0x14002698c
mov byte [rcx + 0x188], 1
cmp dword [rcx + 0xd8], 0
je 0x1400269a5
mov eax, 0x232d
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 0x40], rsi
xor esi, esi
mov dword [rcx + 0xc0], edi
mov qword [rcx + 0xc8], rsi
test dil, 0x20
je 0x140026a79
mov qword [rcx + 0x148], 0xffffffffffffffff
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140026a2c
mov r8d, dword [rcx]
test r8d, r8d
je 0x140026a2c
nop
mov eax, dword [rcx + 4]
lea rdx, [rcx + 8]
add rdx, rax
cmp r8d, 0xf
je 0x1400269fd
mov r8d, dword [rdx]
mov rcx, rdx
test r8d, r8d
jne 0x1400269e0
jmp 0x140026a2c
mov r8, rdx
test rdx, rdx
jne 0x140026a0a
mov r8, rsi
jmp 0x140026a27
cmp dword [rdx], esi
je 0x140026a20
nop
mov eax, dword [r8 + 4]
add r8, 8
add r8, rax
cmp dword [r8], esi
jne 0x140026a10
sub r8, rdx
add r8, 8
call fcn.14004d720
bt edi, 0x12
jae 0x140026a79
mov dword [rbx + 0xe0], 0x67452301
mov dword [rbx + 0xe4], 0xefcdab89
mov dword [rbx + 0xe8], 0x98badcfe
mov dword [rbx + 0xec], 0x10325476
mov dword [rbx + 0xf0], 0xc3d2e1f0
mov qword [rbx + 0xf8], rsi
mov qword [rbx + 0x100], rsi
mov qword [rbx + 0x148], rsi
mov rax, qword [rbx + 0x168]
mov dword [rbx + 0xd8], 1
cmp rax, 0xffffffffffffffff
je 0x140026ab2
mov qword [rbx + 0xd0], rax
cmp qword [rbx + 0x48], rsi
jne 0x140026aa7
cmp rax, qword [rbx + 0x40]
jge 0x140026aa7
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x168], 0xffffffffffffffff
test dil, dil
jns 0x140026aef
mov rax, qword [rbx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov rax, qword [rax + 0x38]
call qword [case.0x140017e6f.8]
test rax, rax
je 0x140026aef
mov dword [rbx + 0xd8], esi
mov eax, 0x232a
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x48]
mov eax, esi
mov rsi, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret