Function at 0x6f523880
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
mov eax, dword [rsp + 0x200]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x24], r9d
mov rsi, rdx
mov rbp, r8
mov dword [rsp + 0x4c], eax
mov rax, qword [0x6f7534a0]
mov rbx, qword [rax]
mov qword [rsp + 0x188], rbx
xor ebx, ebx
movzx eax, byte [0x6f78b120]
test al, al
je 0x6f523e42
mov rax, qword [rbp + 0x10]
sub rax, qword [rbp + 8]
movabs rdx, 0x8e38e38e38e38e39
mov edi, dword [rsp + 0x24]
sar rax, 3
imul rax, rdx
cmp rdi, rax
jae 0x6f523b10
mov eax, dword [rsp + 0x4c]
and eax, 0x1f
cmp eax, 3
mov dword [rsp + 0x38], eax
jne 0x6f52392b
mov rax, qword [rbp + 0x28]
sub rax, qword [rbp + 0x20]
movabs rdx, 0xaaaaaaaaaaaaaaab
sar rax, 4
imul rax, rdx
cmp rdi, rax
jae 0x6f523b10
mov r14d, dword [rsp + 0x4c]
lea rbx, [rsp + 0xf0]
mov rcx, rbx
and r14d, 0x80
cmp dword [rsp + 0x38], 3
mov dword [rsp + 0x3c], r14d
sete byte [rsp + 0x6f]
call dbg.CSHA256::CSHA256()
movsx eax, word [rbp + 2]
movsx edx, word [rbp]
mov r8d, 4
mov rcx, rbx
mov qword [rsp + 0x158], 4
shl eax, 0x10
or eax, edx
lea rdx, [rsp + 0x80]
mov dword [rsp + 0x80], eax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
test r14d, r14d
je 0x6f523ef1
mov edx, 1
mov rcx, rbx
call dbg.void WriteCompactSize<CHashWriter>(CHashWriter&, unsigned long long)
mov dword [rsp + 0x48], 1
lea rax, [rdi + rdi*8]
xor edi, edi
shl rax, 3
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x8c]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x84]
mov qword [rsp + 0x58], rax
lea rax, [rsi + 4]
mov qword [rsp + 0x28], rax
nop dword [rax]
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rbp + 8]
test eax, eax
je 0x6f523b85
mov r15, qword [rsp + 0x60]
mov r8d, 0x20
mov rcx, rbx
lea r12, [rdx + r15]
mov rdx, r12
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
mov eax, dword [r12 + 0x20]
mov rdx, qword [rsp + 0x40]
mov r8d, 4
mov rcx, rbx
mov dword [rsp + 0x8c], eax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
mov ecx, dword [rsi]
mov r12, qword [rsp + 0x28]
cmp ecx, 0x1c
jbe 0x6f523a39
mov r12, qword [rsi + 8]
lea r13d, [rcx - 0x1d]
cmp ecx, 0x1c
mov r9d, ecx
mov rdx, r12
mov eax, r13d
movsxd r13, r13d
cmovbe eax, ecx
add r9, qword [rsp + 0x28]
xor r10d, r10d
mov dword [rsp + 0x68], eax
cmp ecx, 0x1c
mov rax, r9
jbe 0x6f523a6a
mov rax, qword [rsi + 8]
add rax, r13
cmp rax, rdx
jbe 0x6f523d20
mov r8, rax
sub r8, rdx
test r8d, r8d
jle 0x6f523d20
movzx r8d, byte [rdx]
lea r11, [rdx + 1]
cmp r8d, 0x4e
ja 0x6f523b71
mov r14, rax
sub r14, r11
cmp r8d, 0x4b
mov qword [rsp + 0x50], r14
jbe 0x6f523ae0
cmp r8d, 0x4c
je 0x6f5240e0
cmp r8d, 0x4d
je 0x6f524102
cmp r14d, 3
jle 0x6f523d20
lea r11, [rdx + 5]
mov r8d, dword [rdx + 1]
sub rax, r11
mov qword [rsp + 0x50], rax
mov r14d, eax
nop word cs:[rax + rax]
test r14d, r14d
js 0x6f523d20
cmp r8d, dword [rsp + 0x50]
ja 0x6f523d20
add r11, r8
nop word [rax + rax]
mov rdx, r11
jmp 0x6f523a5b
mov rdi, qword [rsp + 0x30]
mov rax, qword [0x6f78b140]
mov rdx, qword [0x6f78b148]
mov qword [rdi], rax
mov rax, qword [0x6f78b150]
mov qword [rdi + 8], rdx
mov rdx, qword [0x6f78b158]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rdx
mov rdi, qword [0x6f7534a0]
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x188]
xor rbx, qword [rdi]
jne 0x6f524174
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
cmp r8d, 0xab
sete al
add r10d, eax
jmp 0x6f523b00
lea rax, [rdi + rdi*8]
mov r8d, 0x20
mov rcx, rbx
lea r15, [rax*8]
lea r12, [rdx + r15]
mov rdx, r12
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
mov eax, dword [r12 + 0x20]
mov rdx, qword [rsp + 0x40]
mov r8d, 4
mov rcx, rbx
mov dword [rsp + 0x8c], eax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
cmp dword [rsp + 0x24], edi
je 0x6f523a29
lea rdx, [rsp + 0xc0]
mov rcx, rbx
mov dword [rsp + 0xc0], 0
call sym.void_Serialize_impl_CHashWriter__28u__unsigned_char__CHashWriter__prevector_28u__unsigned_char__unsigned_int__int__const__unsigned_char_const___clone_isra160_
cmp dword [rsp + 0xc0], 0x1c
ja 0x6f523e30
mov eax, dword [rsp + 0x38]
sub eax, 2
cmp eax, 1
jbe 0x6f523cf0
mov rax, qword [rbp + 8]
mov rdx, qword [rsp + 0x58]
mov r8d, 4
mov rcx, rbx
mov eax, dword [rax + r15 + 0x44]
mov dword [rsp + 0x84], eax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
add rdi, 1
cmp dword [rsp + 0x48], edi
ja 0x6f5239e0
cmp dword [rsp + 0x38], 2
jne 0x6f523f30
xor edx, edx
mov rcx, rbx
call dbg.void WriteCompactSize<CHashWriter>(CHashWriter&, unsigned long long)
mov eax, dword [rbp + 0x38]
lea rdx, [rsp + 0x7c]
mov r8d, 4
mov rcx, rbx
mov dword [rsp + 0x7c], eax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
cmp word [rbp], 3
je 0x6f52409c
mov eax, dword [rsp + 0x4c]
lea rdx, [rsp + 0x78]
mov r8d, 4
mov rcx, rbx
lea rsi, [rsp + 0x160]
mov dword [rsp + 0x78], eax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
mov rdi, qword [rsp + 0x30]
mov rdx, rsi
mov rcx, rbx
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
call dbg.CSHA256::Finalize(unsigned char*)
mov rcx, rbx
call dbg.CSHA256::Reset()
mov rdx, rsi
mov r8d, 0x20
mov rcx, rax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
mov rdx, rdi
mov rcx, rax
call dbg.CSHA256::Finalize(unsigned char*)
jmp 0x6f523b40
lea rdx, [rsp + 0x88]
mov r8d, 4
mov rcx, rbx
mov dword [rsp + 0x88], 0
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
jmp 0x6f523c2b
mov edx, dword [rsp + 0x68]
mov rcx, rbx
sub edx, r10d
call dbg.void WriteCompactSize<CHashWriter>(CHashWriter&, unsigned long long)
movsxd r9, dword [rsi]
mov r8, r12
mov r10, r9
lea edx, [r9 - 0x1d]
add r9, qword [rsp + 0x28]
cmp r10d, 0x1c
movsxd rdx, edx
mov rax, r9
jbe 0x6f523d54
mov rax, qword [rsi + 8]
add rax, rdx
cmp r8, rax
jae 0x6f523d90
mov rcx, rax
sub rcx, r8
test ecx, ecx
jle 0x6f523d90
movzx ecx, byte [r8]
lea r13, [r8 + 1]
cmp ecx, 0x4e
jbe 0x6f523db0
cmp ecx, 0xab
je 0x6f523e02
cmp r10d, 0x1c
mov r8, r13
mov rax, r9
ja 0x6f523d4d
cmp r8, rax
jb 0x6f523d59
nop dword [rax]
cmp r12, rax
je 0x6f523c08
sub r8, r12
mov rdx, r12
mov rcx, rbx
movsxd r8, r8d
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
jmp 0x6f523c08
mov r11, rax
sub r11, r13
cmp ecx, 0x4b
mov r14d, r11d
jbe 0x6f523df0
cmp ecx, 0x4c
je 0x6f523eb0
cmp ecx, 0x4d
je 0x6f523ed0
cmp r11d, 3
jle 0x6f523e22
lea r13, [r8 + 5]
mov ecx, dword [r8 + 1]
mov r11, rax
sub r11, r13
mov r14d, r11d
nop word [rax + rax]
test r14d, r14d
js 0x6f523e22
cmp ecx, r11d
ja 0x6f523e22
add r13, rcx
jmp 0x6f523d7c
mov r8, r13
mov rdx, r12
mov rcx, rbx
sub r8, r12
mov r12, r13
sub r8d, 1
movsxd r8, r8d
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
jmp 0x6f523d2f
mov r8, r13
jmp 0x6f523d90
mov rcx, qword [rsp + 0xc8]
call sym.free
jmp 0x6f523bf8
lea rcx, [0x6f78b120]
call sym.__cxa_guard_acquire
test eax, eax
je 0x6f5238d1
lea rdx, str.0000000000000000000000000000000000000000000000000000000000000001
lea rcx, [0x6f78b140]
mov qword [0x6f78b140], 0
mov qword [0x6f78b148], 0
mov qword [0x6f78b150], 0
mov qword [0x6f78b158], 0
call dbg.base_blob<256u>::SetHex(char const*)
lea rcx, [0x6f78b120]
call sym.__cxa_guard_release
jmp 0x6f5238d1
test r11d, r11d
jle 0x6f523e22
lea r13, [r8 + 2]
mov r11, rax
movzx ecx, byte [r8 + 1]
sub r11, r13
mov r14d, r11d
jmp 0x6f523df0
cmp r11d, 1
jle 0x6f523e22
lea r13, [r8 + 3]
mov r11, rax
movzx ecx, word [r8 + 1]
sub r11, r13
mov r14d, r11d
jmp 0x6f523df0
mov r12, qword [rbp + 0x10]
sub r12, qword [rbp + 8]
movabs rax, 0x8e38e38e38e38e39
mov rcx, rbx
sar r12, 3
imul r12, rax
mov edx, r12d
mov dword [rsp + 0x48], r12d
call dbg.void WriteCompactSize<CHashWriter>(CHashWriter&, unsigned long long)
test r12d, r12d
jne 0x6f5239aa
jmp 0x6f523c39
cmp dword [rsp + 0x38], 3
je 0x6f524090
mov rsi, qword [rbp + 0x28]
sub rsi, qword [rbp + 0x20]
sar rsi, 4
imul esi, esi, 0xaaaaaaab
mov edx, esi
mov rcx, rbx
call dbg.void WriteCompactSize<CHashWriter>(CHashWriter&, unsigned long long)
test esi, esi
je 0x6f523c4e
lea edi, [rsi - 1]
xor esi, esi
lea r12, [rsp + 0x98]
lea r13, [rsp + 0xc8]
add rdi, 1
cmp dword [rsp + 0x24], esi
je 0x6f524057
cmp byte [rsp + 0x6f], 0
je 0x6f524057
mov rdx, qword [rsp + 0xb0]
mov qword [rsp + 0xa4], 0
mov rax, 0xffffffffffffffff
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
mov r8d, 8
mov rcx, rbx
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xdc], rdx
mov edx, dword [rsp + 0xb8]
mov qword [rsp + 0xcc], r9
mov qword [rsp + 0xd4], r10
mov dword [rsp + 0xe8], 0xfffffff6
mov qword [rsp + 0x90], rax
mov dword [rsp + 0xe4], edx
lea rdx, [rsp + 0x90]
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
mov rdx, r13
mov rcx, rbx
call sym.void_Serialize_impl_CHashWriter__28u__unsigned_char__CHashWriter__prevector_28u__unsigned_char__unsigned_int__int__const__unsigned_char_const___clone_isra160_
cmp dword [rsp + 0xc8], 0x1c
jbe 0x6f524040
mov rcx, qword [rsp + 0xd0]
call sym.free
nop dword [rax]
add rsi, 1
cmp rsi, rdi
je 0x6f523c4e
cmp dword [rsp + 0x24], esi
jne 0x6f523f82
lea r14, [rsi + rsi*2]
mov rdx, r12
mov rcx, rbx
mov r8d, 8
shl r14, 4
add r14, qword [rbp + 0x20]
mov rax, qword [r14]
mov qword [rsp + 0x98], rax
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
lea rdx, [r14 + 8]
mov rcx, rbx
call sym.void_Serialize_impl_CHashWriter__28u__unsigned_char__CHashWriter__prevector_28u__unsigned_char__unsigned_int__int__const__unsigned_char_const___clone_isra160_
jmp 0x6f524040
mov eax, dword [rsp + 0x24]
lea esi, [rax + 1]
jmp 0x6f523f4d
cmp word [rbp + 2], 0
je 0x6f523c73
mov rdx, qword [rbp + 0x48]
sub rdx, qword [rbp + 0x40]
mov rcx, rbx
call dbg.void WriteCompactSize<CHashWriter>(CHashWriter&, unsigned long long)
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
cmp r8, rdx
je 0x6f523c73
sub r8, rdx
mov rcx, rbx
call dbg.CSHA256::Write(unsigned char const*, unsigned long long)
jmp 0x6f523c73
test r14d, r14d
jle 0x6f523d20
lea r11, [rdx + 2]
movzx r8d, byte [rdx + 1]
sub rax, r11
mov qword [rsp + 0x50], rax
mov r14d, eax
jmp 0x6f523ae0
cmp r14d, 1
jle 0x6f523d20
lea r11, [rdx + 3]
movzx r8d, word [rdx + 1]
sub rax, r11
mov qword [rsp + 0x50], rax
mov r14d, eax
jmp 0x6f523ae0
call sym.__stack_chk_fail
nop
nop word [rax + rax]