Function at 0x140013620
Capabilities:
Hash data with crc32

Disassembly:
push rsi
push r13
sub rsp, 0x38
mov r13, qword [0x14026ec80]
mov qword [rsp + 0x50], rbx
mov rbx, rdx
mov qword [rsp + 0x68], rdi
mov rdi, rcx
mov qword [rsp + 0x30], r12
cmp byte [r13], 0
jne 0x140013665
mov r8d, 0x23b5
lea rdx, str.C:UsersikusimpriDesktopmenu_sourseimgui.cpp
lea rcx, str.g.Initialized
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp byte [r13 + 0x2eac], 0
jne 0x140013679
cmp dword [r13 + 0x1998], 0
je 0x140013693
mov r8d, 0x23b6
lea rdx, str.C:UsersikusimpriDesktopmenu_sourseimgui.cpp
lea rcx, str.g.SettingsLoaded__false__g.FrameCount__0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rbx, rbx
jne 0x1400136a9
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400136a0
mov rax, qword [0x14026ec80]
test rax, rax
je 0x1400136bb
inc dword [rax + 0x3b0]
lea rcx, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, rbx
mov rdx, rdi
mov rcx, rax
mov qword [rsp + 0x58], rax
mov rsi, rax
lea r12, [rax + rbx]
call sub.VCRUNTIME140.dll_memcpy
xor edi, edi
mov byte [r12], 0
xor ebx, ebx
mov rcx, rsi
cmp rsi, r12
jae 0x1400138eb
mov qword [rsp + 0x60], rbp
mov ebp, 0xffffffff
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp al, 0xa
je 0x14001392a
cmp al, 0xd
je 0x14001392a
mov rsi, rcx
cmp rcx, r12
jae 0x140013743
nop dword [rax + rax]
movzx eax, byte [rsi]
cmp al, 0xa
je 0x140013743
cmp al, 0xd
je 0x140013743
inc rsi
cmp rsi, r12
jb 0x140013730
mov byte [rsi], 0
movzx eax, byte [rcx]
cmp al, 0x3b
je 0x1400138ca
cmp al, 0x5b
jne 0x1400138b1
cmp rsi, rcx
jbe 0x1400138b1
cmp byte [rsi - 1], 0x5d
lea r14, [rsi - 1]
jne 0x1400138b1
lea rdi, [rcx + 1]
mov byte [r14], 0
mov r8, r14
mov rcx, rdi
sub r8, rdi
mov edx, 0x5d
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400137b7
lea rcx, [rax + 1]
mov edx, 0x5b
sub r14, rcx
mov r8, r14
call sub.VCRUNTIME140.dll_memchr
mov r15, rax
test rax, rax
je 0x1400137b7
mov byte [rbx], 0
inc r15
jmp 0x1400137c1
mov r15, rdi
lea rdi, str.Window
movzx r8d, byte [rdi]
lea rdx, [rdi + 1]
mov r14, qword [0x14026ec80]
mov ebx, ebp
test r8b, r8b
je 0x14001380c
cmp r8b, 0x23
jne 0x1400137e9
cmp byte [rdx], r8b
jne 0x1400137e9
cmp byte [rdx + 1], r8b
cmove ebx, ebp
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
lea rax, [0x140037f80]
inc rdx
xor ebx, dword [rax + rcx*4]
test r8b, r8b
jne 0x1400137d7
mov eax, dword [r14 + 0x2ec8]
xor edi, edi
not ebx
test eax, eax
jle 0x140013859
xor ebp, ebp
cmp edi, eax
jl 0x14001383b
mov r8d, 0x4e6
lea rdx, str.C:UsersikusimpriDesktopmenu_sourseimgui.h
lea rcx, str.i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [r14 + 0x2ed0]
cmp dword [rax + rbp + 8], ebx
je 0x140013864
mov eax, dword [r14 + 0x2ec8]
inc edi
add rbp, 0x30
cmp edi, eax
jl 0x14001383b
xor ebx, ebx
xor edi, edi
mov ebp, 0xffffffff
jmp 0x1400138ca
cmp edi, dword [r14 + 0x2ec8]
jl 0x140013887
mov r8d, 0x4e6
lea rdx, str.C:UsersikusimpriDesktopmenu_sourseimgui.h
lea rcx, str.i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movsxd rax, edi
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [r14 + 0x2ed0]
je 0x14001385b
mov r8, r15
mov rdx, rbx
mov rcx, r13
call qword [rbx + 0x10]
mov rdi, rax
mov ebp, 0xffffffff
jmp 0x1400138ca
test rbx, rbx
je 0x1400138ca
test rdi, rdi
je 0x1400138ca
mov r9, rcx
mov r8, rdi
mov rcx, r13
mov rdx, rbx
call qword [rbx + 0x18]
lea rcx, [rsi + 1]
cmp rcx, r12
jb 0x140013710
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
test rsi, rsi
je 0x140013911
mov rax, qword [0x14026ec80]
test rax, rax
je 0x140013911
dec dword [rax + 0x3b0]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov byte [r13 + 0x2eac], 1
add rsp, 0x38
pop r13
pop rsi
ret
inc rcx
jmp 0x140013710