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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rsi, r8
mov r14, qword [r8 + 0x18]
mov r9d, edx
shr r9d, 0x10
mov eax, r14d
shr eax, 0x10
cmp dx, r14w
mov ebx, r14d
cmova ebx, edx
cmp r9w, ax
mov r12d, eax
cmova r12d, r9d
mov r11, rdx
shr r11, 0x20
add r11w, dx
mov r10d, 0xffff
cmovb r11d, r10d
mov r8, r14
shr r8, 0x20
add r8w, r14w
cmovb r8d, r10d
cmp r11w, r8w
cmovb r8d, r11d
shr rdx, 0x30
add dx, r9w
cmovb edx, r10d
shr r14, 0x30
add r14w, ax
cmovb r14d, r10d
cmp dx, r14w
cmovb r14d, edx
xor eax, eax
mov r9d, r8d
sub r9w, bx
cmovb r9d, eax
sub r14w, r12w
cmovb r14d, eax
cmp r8w, bx
jbe 0x1401830e0
mov rdi, rcx
mov rax, r14
shl rax, 0x30
movzx ecx, r9w
shl rcx, 0x20
or rcx, rax
mov eax, r12d
shl eax, 0x10
movzx edx, bx
or edx, eax
or rdx, rcx
mov rax, rdx
shr rax, 0x30
je 0x1401830e0
mov dword [rsp + 0x38], r9d
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0x28], ebx
lea rax, [rsi + 0x18]
mov qword [rsp + 0x70], rax
lea r8, [rdi + 0x38]
mov rcx, rsi
mov qword [rsp + 0xd0], rdx
call fcn.140181280
mov qword [rsp + 0xc0], rdi
movzx eax, byte [rdi + 0xd2]
mov byte [rsp + 0x25], al
test al, 8
mov dword [rsp + 0x3c], r12d
je 0x1401830f4
mov ebx, r12d
add bx, word [rsp + 0xc8]
mov eax, 0xffff
cmovb ebx, eax
cmp bx, r12w
jbe 0x1401830f4
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x88]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rax + 0x90]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rax + 0x28]
mov edx, dword [rax + 0x2c]
mov r8d, dword [rax + 0x30]
movzx r9d, word [rax + 0x34]
mov word [rsp + 0x26], r9w
movzx edi, word [rax + 0x36]
mov dword [rsp + 0x34], ecx
movzx ebp, cl
mov dword [rsp + 0x30], edx
movzx r14d, dl
mov dword [rsp + 0x2c], r8d
movzx r15d, r8b
not edi
mov r13d, r12d
jmp 0x140182fe5
inc r13d
movzx eax, word [r12 + 0x24]
or ax, word [rsp + 0x26]
and eax, edi
mov word [r12 + 0x24], ax
cmp bx, r13w
mov r12d, dword [rsp + 0x3c]
je 0x1401830f4
mov eax, dword [rsp + 0x28]
mov word [rsp + 0x20], ax
mov word [rsp + 0x22], r13w
movzx ecx, word [rsi + 0x18]
cmp ax, cx
jb 0x140183a75
movzx edx, word [rsi + 0x1a]
movzx eax, word [rsi + 0x1c]
mov r8d, ecx
add r8w, ax
mov r10d, 0xffff
cmovb r8d, r10d
movzx r9d, word [rsi + 0x1e]
add r9w, dx
cmovb r9d, r10d
cmp dx, r13w
ja 0x140183a75
cmp r8w, word [rsp + 0x28]
jbe 0x140183a75
cmp r9w, r13w
jbe 0x140183a75
mov r8d, r13d
sub r8d, edx
mov edx, dword [rsp + 0x28]
sub edx, ecx
imul eax, r8d
add eax, edx
movzx ecx, ax
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b04
lea r12, [rcx + rcx*4]
shl r12d, 3
add r12, qword [rsi + 8]
mov rcx, r12
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
call fcn.14018c970
cmp ebp, 0x13
jne 0x1401830b0
cmp r14d, 0x13
jne 0x1401830bf
cmp r15d, 0x13
je 0x140182fc0
jmp 0x1401830d2
mov eax, dword [rsp + 0x34]
mov dword [r12 + 0x18], eax
cmp r14d, 0x13
je 0x140183095
mov eax, dword [rsp + 0x30]
mov dword [r12 + 0x1c], eax
cmp r15d, 0x13
je 0x140182fc0
mov eax, dword [rsp + 0x2c]
mov dword [r12 + 0x20], eax
jmp 0x140182fc0
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test byte [rsp + 0x25], 1
je 0x140183290
mov eax, dword [rsp + 0x28]
mov ebx, eax
add bx, word [rsp + 0x38]
mov ecx, 0xffff
cmovb ebx, ecx
cmp bx, ax
jbe 0x140183290
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0xa8]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rax + 0xb0]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rax + 0x28]
mov edx, dword [rax + 0x2c]
mov r8d, dword [rax + 0x30]
movzx r9d, word [rax + 0x34]
mov word [rsp + 0x26], r9w
movzx edi, word [rax + 0x36]
mov dword [rsp + 0x34], ecx
movzx ebp, cl
mov dword [rsp + 0x30], edx
movzx r14d, dl
mov dword [rsp + 0x2c], r8d
movzx r15d, r8b
not edi
mov r13d, dword [rsp + 0x28]
jmp 0x1401831a5
inc r13d
movzx eax, word [r12 + 0x24]
or ax, word [rsp + 0x26]
and eax, edi
mov word [r12 + 0x24], ax
cmp bx, r13w
mov r12d, dword [rsp + 0x3c]
je 0x140183290
mov word [rsp + 0x20], r13w
mov word [rsp + 0x22], r12w
movzx eax, word [rsi + 0x18]
cmp ax, r13w
ja 0x140183a75
movzx edx, word [rsi + 0x1a]
movzx ecx, word [rsi + 0x1c]
mov r8d, eax
add r8w, cx
mov r10d, 0xffff
cmovb r8d, r10d
movzx r9d, word [rsi + 0x1e]
add r9w, dx
cmovb r9d, r10d
cmp r12w, dx
jb 0x140183a75
cmp r8w, r13w
jbe 0x140183a75
cmp r9w, r12w
jbe 0x140183a75
mov r8d, r12d
sub r8d, edx
imul ecx, r8d
sub ecx, eax
add ecx, r13d
movzx ecx, cx
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b10
lea r12, [rcx + rcx*4]
shl r12d, 3
add r12, qword [rsi + 8]
mov rcx, r12
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
call fcn.14018c970
cmp ebp, 0x13
jne 0x140183260
cmp r14d, 0x13
jne 0x14018326f
cmp r15d, 0x13
je 0x140183180
jmp 0x140183282
mov eax, dword [rsp + 0x34]
mov dword [r12 + 0x18], eax
cmp r14d, 0x13
je 0x14018324e
mov eax, dword [rsp + 0x30]
mov dword [r12 + 0x1c], eax
cmp r15d, 0x13
je 0x140183180
mov eax, dword [rsp + 0x2c]
mov dword [r12 + 0x20], eax
jmp 0x140183180
test byte [rsp + 0x25], 2
je 0x140183442
mov ebp, dword [rsp + 0x28]
add bp, word [rsp + 0x38]
mov eax, 0xffff
cmovb ebp, eax
mov ebx, r12d
add bx, word [rsp + 0xc8]
cmovb ebx, eax
cmp bx, r12w
jbe 0x140183442
dec ebp
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x98]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rax + 0x28]
mov edx, dword [rax + 0x2c]
mov r8d, dword [rax + 0x30]
movzx r9d, word [rax + 0x34]
mov word [rsp + 0x26], r9w
movzx r13d, word [rax + 0x36]
mov dword [rsp + 0x30], ecx
movzx eax, cl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x2c], edx
movzx r15d, dl
mov dword [rsp + 0xbc], r8d
movzx edi, r8b
not r13d
mov r14d, r12d
jmp 0x140183356
inc r14d
movzx eax, word [r12 + 0x24]
or ax, word [rsp + 0x26]
and eax, r13d
mov word [r12 + 0x24], ax
cmp bx, r14w
mov r12d, dword [rsp + 0x3c]
je 0x140183442
mov word [rsp + 0x20], bp
mov word [rsp + 0x22], r14w
movzx ecx, word [rsi + 0x18]
cmp bp, cx
jb 0x140183a75
movzx edx, word [rsi + 0x1a]
movzx eax, word [rsi + 0x1c]
mov r8d, ecx
add r8w, ax
mov r10d, 0xffff
cmovb r8d, r10d
movzx r9d, word [rsi + 0x1e]
add r9w, dx
cmovb r9d, r10d
cmp dx, r14w
ja 0x140183a75
cmp r8w, bp
jbe 0x140183a75
cmp r9w, r14w
jbe 0x140183a75
mov r8d, r14d
sub r8d, edx
mov edx, ebp
sub edx, ecx
imul eax, r8d
add eax, edx
movzx ecx, ax
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b1c
lea r12, [rcx + rcx*4]
shl r12d, 3
add r12, qword [rsi + 8]
mov rcx, r12
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
call fcn.14018c970
cmp dword [rsp + 0x34], 0x13
jne 0x140183410
cmp r15d, 0x13
jne 0x14018341f
cmp edi, 0x13
je 0x140183330
jmp 0x140183431
mov eax, dword [rsp + 0x30]
mov dword [r12 + 0x18], eax
cmp r15d, 0x13
je 0x140183400
mov eax, dword [rsp + 0x2c]
mov dword [r12 + 0x1c], eax
cmp edi, 0x13
je 0x140183330
mov eax, dword [rsp + 0xbc]
mov dword [r12 + 0x20], eax
jmp 0x140183330
test byte [rsp + 0x25], 4
je 0x1401835f2
mov ebp, r12d
add bp, word [rsp + 0xc8]
mov ecx, 0xffff
cmovb ebp, ecx
mov eax, dword [rsp + 0x28]
mov ebx, eax
add bx, word [rsp + 0x38]
cmovb ebx, ecx
cmp bx, ax
jbe 0x1401835f2
dec ebp
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0xb8]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rax + 0xc0]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rax + 0x28]
mov edx, dword [rax + 0x2c]
mov r8d, dword [rax + 0x30]
movzx r9d, word [rax + 0x34]
mov word [rsp + 0x26], r9w
movzx r13d, word [rax + 0x36]
mov dword [rsp + 0x30], ecx
movzx eax, cl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x2c], edx
movzx r15d, dl
mov dword [rsp + 0xbc], r8d
movzx edi, r8b
not r13d
mov r14d, dword [rsp + 0x28]
jmp 0x140183506
inc r14d
movzx eax, word [r12 + 0x24]
or ax, word [rsp + 0x26]
and eax, r13d
mov word [r12 + 0x24], ax
cmp bx, r14w
mov r12d, dword [rsp + 0x3c]
je 0x1401835f2
mov word [rsp + 0x20], r14w
mov word [rsp + 0x22], bp
movzx eax, word [rsi + 0x18]
cmp ax, r14w
ja 0x140183a75
movzx edx, word [rsi + 0x1a]
movzx ecx, word [rsi + 0x1c]
mov r8d, eax
add r8w, cx
mov r10d, 0xffff
cmovb r8d, r10d
movzx r9d, word [rsi + 0x1e]
add r9w, dx
cmovb r9d, r10d
cmp bp, dx
jb 0x140183a75
cmp r8w, r14w
jbe 0x140183a75
cmp r9w, bp
jbe 0x140183a75
mov r8d, ebp
sub r8d, edx
imul ecx, r8d
sub ecx, eax
add ecx, r14d
movzx ecx, cx
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b28
lea r12, [rcx + rcx*4]
shl r12d, 3
add r12, qword [rsi + 8]
mov rcx, r12
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
call fcn.14018c970
cmp dword [rsp + 0x34], 0x13
jne 0x1401835c0
cmp r15d, 0x13
jne 0x1401835cf
cmp edi, 0x13
je 0x1401834e0
jmp 0x1401835e1
mov eax, dword [rsp + 0x30]
mov dword [r12 + 0x18], eax
cmp r15d, 0x13
je 0x1401835af
mov eax, dword [rsp + 0x2c]
mov dword [r12 + 0x1c], eax
cmp edi, 0x13
je 0x1401834e0
mov eax, dword [rsp + 0xbc]
mov dword [r12 + 0x20], eax
jmp 0x1401834e0
movzx r13d, byte [rsp + 0x25]
not r13b
test r13b, 6
mov rbx, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0x28]
mov r15, qword [rsp + 0xc8]
jne 0x140183707
mov eax, ebp
add ax, word [rsp + 0x38]
mov r9d, 0xffff
cmovb eax, r9d
dec eax
mov ecx, r12d
add cx, r15w
cmovb ecx, r9d
dec ecx
mov word [rsp + 0x20], ax
mov word [rsp + 0x22], cx
movzx r8d, word [rsi + 0x18]
cmp ax, r8w
jb 0x140183a75
movzx r10d, word [rsi + 0x1a]
movzx edx, word [rsi + 0x1c]
mov r11d, r8d
add r11w, dx
cmovb r11d, r9d
movzx edi, word [rsi + 0x1e]
add di, r10w
cmovb edi, r9d
cmp cx, r10w
jb 0x140183a75
cmp r11w, ax
jbe 0x140183a75
cmp di, cx
jbe 0x140183a75
sub ecx, r10d
sub eax, r8d
imul edx, ecx
add edx, eax
movzx ecx, dx
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b34
lea r14, [rcx + rcx*4]
shl r14d, 3
add r14, qword [rsi + 8]
mov rdx, qword [rbx + 0x78]
mov r8, qword [rbx + 0x80]
mov rcx, r14
call fcn.14018c970
mov r9d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x2c]
mov edx, dword [rbx + 0x30]
movzx ecx, word [rbx + 0x34]
movzx eax, word [rbx + 0x36]
cmp r9b, 0x13
jne 0x1401839f5
cmp r8b, 0x13
jne 0x140183a03
cmp dl, 0x13
je 0x1401836f9
mov dword [r14 + 0x20], edx
or cx, word [r14 + 0x24]
not eax
and eax, ecx
mov word [r14 + 0x24], ax
test r13b, 3
jne 0x1401837f7
mov eax, dword [rsp + 0x38]
add ax, bp
mov r8d, 0xffff
cmovb eax, r8d
dec eax
mov word [rsp + 0x20], ax
mov word [rsp + 0x22], r12w
movzx ecx, word [rsi + 0x18]
cmp ax, cx
jb 0x140183a75
mov r11d, eax
movzx edx, word [rsi + 0x1a]
movzx eax, word [rsi + 0x1c]
mov r9d, ecx
add r9w, ax
cmovb r9d, r8d
movzx r10d, word [rsi + 0x1e]
add r10w, dx
cmovb r10d, r8d
cmp r12w, dx
jb 0x140183a75
cmp r9w, r11w
jbe 0x140183a75
cmp r10w, r12w
jbe 0x140183a75
mov r8d, r12d
sub r8d, edx
sub r11d, ecx
imul eax, r8d
add eax, r11d
movzx ecx, ax
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b40
lea r14, [rcx + rcx*4]
shl r14d, 3
add r14, qword [rsi + 8]
mov rdx, qword [rbx + 0x58]
mov r8, qword [rbx + 0x60]
mov rcx, r14
call fcn.14018c970
mov r9d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x2c]
mov edx, dword [rbx + 0x30]
movzx ecx, word [rbx + 0x34]
movzx eax, word [rbx + 0x36]
cmp r9b, 0x13
jne 0x140183a15
cmp r8b, 0x13
jne 0x140183a23
cmp dl, 0x13
je 0x1401837e9
mov dword [r14 + 0x20], edx
or cx, word [r14 + 0x24]
not eax
and eax, ecx
mov word [r14 + 0x24], ax
test r13b, 0xc
jne 0x1401838df
add r15w, r12w
mov r8d, 0xffff
cmovb r15d, r8d
dec r15d
mov word [rsp + 0x20], bp
mov word [rsp + 0x22], r15w
movzx ecx, word [rsi + 0x18]
cmp bp, cx
jb 0x140183a75
movzx edx, word [rsi + 0x1a]
movzx eax, word [rsi + 0x1c]
mov r9d, ecx
add r9w, ax
cmovb r9d, r8d
movzx r10d, word [rsi + 0x1e]
add r10w, dx
cmovb r10d, r8d
cmp r15w, dx
jb 0x140183a75
cmp r9w, bp
jbe 0x140183a75
cmp r10w, r15w
jbe 0x140183a75
sub r15d, edx
mov edx, ebp
sub edx, ecx
imul eax, r15d
add eax, edx
movzx ecx, ax
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b4c
lea r14, [rcx + rcx*4]
shl r14d, 3
add r14, qword [rsi + 8]
mov rdx, qword [rbx + 0x68]
mov r8, qword [rbx + 0x70]
mov rcx, r14
call fcn.14018c970
mov r9d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x2c]
mov edx, dword [rbx + 0x30]
movzx ecx, word [rbx + 0x34]
movzx eax, word [rbx + 0x36]
cmp r9b, 0x13
jne 0x140183a35
cmp r8b, 0x13
jne 0x140183a43
cmp dl, 0x13
je 0x1401838d1
mov dword [r14 + 0x20], edx
or cx, word [r14 + 0x24]
not eax
and eax, ecx
mov word [r14 + 0x24], ax
test r13b, 9
jne 0x1401839ba
mov word [rsp + 0x20], bp
mov word [rsp + 0x22], r12w
movzx ecx, word [rsi + 0x18]
cmp bp, cx
jb 0x140183a75
movzx edx, word [rsi + 0x1a]
movzx eax, word [rsi + 0x1c]
mov r8d, ecx
add r8w, ax
mov r10d, 0xffff
cmovb r8d, r10d
movzx r9d, word [rsi + 0x1e]
add r9w, dx
cmovb r9d, r10d
cmp r12w, dx
jb 0x140183a75
cmp r8w, bp
jbe 0x140183a75
cmp r9w, r12w
jbe 0x140183a75
sub r12d, edx
sub ebp, ecx
imul eax, r12d
add eax, ebp
movzx ecx, ax
mov rdx, qword [rsi + 0x10]
cmp rdx, rcx
jbe 0x140183b58
lea r14, [rcx + rcx*4]
shl r14d, 3
add r14, qword [rsi + 8]
mov rdx, qword [rbx + 0x48]
mov r8, qword [rbx + 0x50]
mov rcx, r14
call fcn.14018c970
mov r9d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x2c]
mov edx, dword [rbx + 0x30]
movzx ecx, word [rbx + 0x34]
movzx eax, word [rbx + 0x36]
cmp r9b, 0x13
jne 0x140183a55
cmp r8b, 0x13
jne 0x140183a63
cmp dl, 0x13
je 0x1401839ac
mov dword [r14 + 0x20], edx
or cx, word [r14 + 0x24]
not eax
and eax, ecx
mov word [r14 + 0x24], ax
mov rcx, rbx
xor edx, edx
mov rdi, qword [rsp + 0xd0]
mov r8, rdi
mov r9, rsi
call fcn.140183b70
mov rcx, rbx
mov dl, 1
mov r8, rdi
mov r9, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140183b70
mov dword [r14 + 0x18], r9d
cmp r8b, 0x13
je 0x1401836f0
mov dword [r14 + 0x1c], r8d
cmp dl, 0x13
jne 0x1401836f5
jmp 0x1401836f9
mov dword [r14 + 0x18], r9d
cmp r8b, 0x13
je 0x1401837e0
mov dword [r14 + 0x1c], r8d
cmp dl, 0x13
jne 0x1401837e5
jmp 0x1401837e9
mov dword [r14 + 0x18], r9d
cmp r8b, 0x13
je 0x1401838c8
mov dword [r14 + 0x1c], r8d
cmp dl, 0x13
jne 0x1401838cd
jmp 0x1401838d1
mov dword [r14 + 0x18], r9d
cmp r8b, 0x13
je 0x1401839a3
mov dword [r14 + 0x1c], r8d
cmp dl, 0x13
jne 0x1401839a8
jmp 0x1401839ac
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
lea rax, [0x140181e80]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x50], rax
lea rax, [0x1402279f0]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x22]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
lea rax, str.index_outside_of_buffer:_the_area_is__but_index_is_____
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 4
mov qword [rsp + 0xa8], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], 3
lea rdx, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ratatui_0.28.1_src_buffer_buffer.rs
lea rcx, [rsp + 0x88]
call fcn.14023de30
lea r8, [0x1402b3c78]
call fcn.14023dfc0
lea r8, [0x1402b3c90]
call fcn.14023dfc0
lea r8, [0x1402b3ca8]
call fcn.14023dfc0
lea r8, [0x1402b3cc0]
call fcn.14023dfc0
lea r8, [0x1402b3cd8]
call fcn.14023dfc0
lea r8, [0x1402b3cf0]
call fcn.14023dfc0
lea r8, [0x1402b3d08]
call fcn.14023dfc0
lea r8, [0x1402b3d20]
call fcn.14023dfc0
int3