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

Disassembly:
push r15
mov eax, 0x3238
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.2bbfee6d0
sub rsp, rax
movups xmmword [rsp + 0x3210], xmm6
movups xmmword [rsp + 0x3220], xmm7
mov r13, qword [0x2bc041fd0]
lea rax, [sym.ElideBboxProc]
lea rsi, [sym.ElideMeasureProc]
movq xmm4, rax
movq xmm6, rsi
mov rax, qword [r13]
punpcklqdq xmm6, xmm4
mov rbx, rdx
mov r15, rcx
mov ecx, 0x78
call qword [rax + 0x28]
movdqu xmm5, xmmword [rbx]
pxor xmm0, xmm0
mov rdx, rbx
mov qword [rsp + 0x130], rax
lea rsi, [rsp + 0x2f0]
mov rcx, r15
movups xmmword [rax], xmm5
movdqu xmm4, xmmword [rbx + 0x10]
mov r8, rsi
movups xmmword [rax + 0x60], xmm0
pxor xmm0, xmm0
mov qword [rax + 0x30], 0
mov dword [rax + 0x70], 0x12
mov qword [rax + 0x40], 0
mov dword [rax + 0x48], 0
mov qword [rax + 0x50], 0
mov dword [rax + 0x58], 0
movups xmmword [rax + 0x10], xmm4
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x178], rax
call sym.TkTextIsElided
mov edx, eax
test eax, eax
je 0x2bbfab450
cmp qword [rbx + 0x10], 0
jne 0x2bbfab450
mov rax, qword [rsp + 0x308]
test rax, rax
je 0x2bbfacb8a
mov rdi, qword [rsp + 0x3200]
mov r14, qword [rsp + 0x31f8]
xor ecx, ecx
mov rbp, qword [0x2bc042210]
mov qword [rsp + 0x50], rdi
mov rdi, qword [0x2bc042200]
jmp 0x2bbfab35c
test edx, edx
je 0x2bbfab450
add ecx, r8d
mov rax, qword [rax + 8]
test rax, rax
je 0x2bbfab3db
mov r8, qword [rax + 0x10]
test r8, r8
jg 0x2bbfab348
mov r8, qword [rax]
cmp r8, rdi
je 0x2bbfab372
cmp r8, rbp
jne 0x2bbfab353
mov r10, qword [rax + 0x18]
mov r9d, dword [r10 + 0x12c]
test r9d, r9d
js 0x2bbfab353
mov r9, qword [r10 + 0x10]
lea r12, [r14 + r9*4]
mov r11d, dword [r12]
add r11d, 1
mov dword [r12], r11d
and r11d, 1
je 0x2bbfab3a5
mov r11, qword [rsp + 0x50]
mov qword [r11 + r9*8], r10
mov r11, qword [rsp + 0x300]
cmp r9, r11
jl 0x2bbfab353
cmp r8, rdi
je 0x2bbfacad5
mov r12d, dword [r10 + 0x12c]
mov rax, qword [rax + 8]
xor edx, edx
mov qword [rsp + 0x300], r9
test r12d, r12d
setg dl
test rax, rax
jne 0x2bbfab35c
test edx, edx
je 0x2bbfab450
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x10], 0
mov dword [rax + 0x20], ecx
mov dword [rax + 0x5c], 0
mov qword [rax + 0x38], 0
jne 0x2bbfab439
mov rdx, qword [rax + 8]
mov rax, qword [r15 + 0x100]
mov r8d, dword [rax + 0xe0]
mov eax, dword [r15 + 0x20]
mov rcx, qword [rdx + 0x18]
lea eax, [rax + rax + 1]
cdqe
mov dword [rcx + rax*4], r8d
mov eax, dword [r15 + 0x20]
add eax, eax
cdqe
mov r11d, dword [rcx + rax*4]
test r11d, r11d
jne 0x2bbfacac2
mov rcx, rsi
call sym.TkTextFreeElideInfo
jmp 0x2bbfac8e6
mov rcx, rsi
xor r14d, r14d
xor esi, esi
mov rbp, r15
call sym.TkTextFreeElideInfo
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
mov dword [rsp + 0x144], 0xffffffff
movdqu xmm5, xmmword [rbx]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x1b0], rdx
mov rax, rdx
movsd xmm7, qword [0x2bc02b580]
mov qword [rsp + 0x1b8], rcx
mov dword [rsp + 0x154], 0
mov dword [rsp + 0x15c], 0
mov qword [rsp + 0x168], 0
mov dword [rsp + 0x140], 0
mov dword [rsp + 0x108], 0
mov dword [rsp + 0x150], 0
mov dword [rsp + 0x174], 0
mov dword [rsp + 0x158], 0
mov dword [rsp + 0x10c], 1
mov dword [rsp + 0x170], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x118], r14
movups xmmword [rsp + 0x1a0], xmm5
mov r8, qword [rsp + 0x1a8]
mov qword [rsp + 0x190], rax
mov r8, qword [r8 + 0x10]
mov r15, qword [rsp + 0x118]
xor ecx, ecx
jmp 0x2bbfab57a
mov rdx, qword [r8 + 0x10]
cmp rdx, rax
jg 0x2bbfac98c
mov r8, qword [r8 + 8]
sub rax, rdx
mov ecx, 1
test r8, r8
je 0x2bbfac9aa
test rax, rax
jg 0x2bbfab558
test cl, cl
je 0x2bbfab58b
mov qword [rsp + 0x190], rax
test r8, r8
je 0x2bbfacb4d
mov r15, r8
mov rbx, r14
mov r12, rbp
nop dword [rax]
test esi, esi
je 0x2bbfab5bc
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x2bbfab5bc
cmp qword [rax + 0x18], 0
je 0x2bbfac7a8
mov rax, qword [r15]
cmp qword [rax + 0x30], 0
je 0x2bbfac860
test rbx, rbx
je 0x2bbfac750
lea rax, [rsp + 0x1a0]
lea r8, [rsp + 0x198]
mov rdx, r12
mov rcx, rax
mov qword [rsp + 0x138], rax
lea rdi, [rsp + 0x250]
call sym.TkBTreeGetTags
mov ecx, 0x12
mov qword [rsp + 0x110], rdi
movdqu xmm1, xmmword [r12 + 0x88]
mov rbp, rax
xor eax, eax
mov r8, qword [rsp + 0x198]
rep stosq qword [rdi], rax
mov rax, qword [r12 + 0x88]
mov dword [rdi], 0
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0x2a0], rax
mov rax, qword [r12 + 0xa0]
movups xmmword [rsp + 0x268], xmm1
mov qword [rsp + 0x2b8], rax
mov eax, dword [r12 + 0xa8]
mov dword [rsp + 0x2c0], eax
mov rax, qword [r12 + 0xb8]
mov qword [rsp + 0x2c8], rax
mov eax, dword [r12 + 0xc0]
mov dword [rsp + 0x2d0], eax
mov eax, dword [r12 + 0xc4]
mov dword [rsp + 0x2e4], eax
test r8, r8
jle 0x2bbfac73a
mov rax, qword [r12 + 0x108]
jmp 0x2bbfab6bd
add rcx, 1
cmp r8, rcx
je 0x2bbfac5c8
cmp rax, qword [rbp + rcx*8]
jne 0x2bbfab6b0
mov dword [rsp + 0xc4], 1
xor esi, esi
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x120], r15
mov rdi, 0xffffffffffffffff
mov qword [rsp + 0x128], rbx
mov r15, rcx
mov rbx, rsi
mov rsi, r12
mov qword [rsp + 0xb8], 0xffffffffffffffff
mov r12, rbp
mov qword [rsp + 0xc8], 0xffffffffffffffff
mov qword [rsp + 0xe8], 0xffffffffffffffff
mov qword [rsp + 0xf0], 0xffffffffffffffff
mov qword [rsp + 0x68], 0xffffffffffffffff
mov qword [rsp + 0xb0], 0xffffffffffffffff
mov qword [rsp + 0xa8], 0xffffffffffffffff
mov qword [rsp + 0xa0], 0xffffffffffffffff
mov qword [rsp + 0x60], 0xffffffffffffffff
mov qword [rsp + 0x98], 0xffffffffffffffff
mov qword [rsp + 0xe0], 0xffffffffffffffff
mov qword [rsp + 0x90], 0xffffffffffffffff
mov qword [rsp + 0x88], 0xffffffffffffffff
mov qword [rsp + 0x80], 0xffffffffffffffff
mov qword [rsp + 0x78], 0xffffffffffffffff
mov qword [rsp + 0xd8], 0xffffffffffffffff
mov qword [rsp + 0x58], 0xffffffffffffffff
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov qword [rsp + 0x70], 0xffffffffffffffff
mov qword [rsp + 0xf8], 0xffffffffffffffff
mov qword [rsp + 0x50], 0xffffffffffffffff
jmp 0x2bbfab8b8
mov eax, dword [r14 + 0x11c]
test eax, eax
js 0x2bbfab840
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xe8]
cmp rdx, rcx
jle 0x2bbfab840
test eax, eax
setg al
movzx eax, al
mov dword [rsp + 0x2d4], eax
mov rax, qword [r14 + 0x120]
test rax, rax
je 0x2bbfac570
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0xe8], rdx
nop dword [rax + rax]
mov eax, dword [r14 + 0x12c]
test eax, eax
js 0x2bbfab873
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xc8]
cmp rdx, rcx
jle 0x2bbfab873
test eax, eax
mov qword [rsp + 0xc8], rdx
setg al
movzx eax, al
mov dword [rsp + 0x2e0], eax
mov eax, dword [r14 + 0x128]
cmp eax, 0xffffffff
je 0x2bbfab89f
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xb8]
cmp rdx, rcx
jle 0x2bbfab89f
mov dword [rsp + 0x2e4], eax
mov qword [rsp + 0xb8], rdx
add rbx, 1
cmp rbx, qword [rsp + 0x198]
jge 0x2bbfabcf0
mov rax, qword [rsi + 0x108]
mov r14, qword [r12 + rbx*8]
mov rcx, qword [r14 + 0x28]
mov rbp, qword [r14 + 0x50]
cmp r14, rax
je 0x2bbfabca8
mov rdx, qword [r14 + 0xc8]
test rdx, rdx
je 0x2bbfabc78
mov r8d, dword [rsp + 0xc4]
test r8d, r8d
je 0x2bbfabc91
mov rax, qword [r14 + 0xd0]
test rax, rax
cmovne rbp, rax
mov rax, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jle 0x2bbfab917
mov qword [rsp + 0x250], rdx
mov qword [rsp + 0x50], rax
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x2bbfab958
mov rax, qword [r13]
xor edx, edx
call qword [rax + 0x1468]
cmp byte [rax], 0
je 0x2bbfab958
mov rax, qword [r14 + 0x10]
mov rdx, qword [rsp + 0xf8]
cmp rax, rdx
jle 0x2bbfab958
mov edx, dword [r14 + 0x30]
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0x258], edx
nop dword [rax]
mov eax, dword [r14 + 0x40]
cmp eax, 0xffffffff
je 0x2bbfab98a
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x70]
cmp rdx, rcx
jle 0x2bbfab98a
cmp qword [rsp + 0x250], 0
je 0x2bbfac508
mov dword [rsp + 0x25c], eax
mov qword [rsp + 0x70], rdx
mov rax, qword [r14 + 0x48]
test rax, rax
je 0x2bbfab9b4
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xd0]
cmp rdx, rcx
jle 0x2bbfab9b4
mov qword [rsp + 0x260], rax
mov qword [rsp + 0xd0], rdx
test rbp, rbp
je 0x2bbfab9cd
mov rax, qword [r14 + 0x10]
cmp rax, rdi
jle 0x2bbfab9cd
mov qword [rsp + 0x268], rbp
mov rdi, rax
mov rax, qword [r14 + 0x58]
test rax, rax
je 0x2bbfab9f1
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x58]
cmp rdx, rcx
jle 0x2bbfab9f1
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x58], rdx
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x2bbfaba1b
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xd8]
cmp rdx, rcx
jle 0x2bbfaba1b
mov qword [rsp + 0x278], rax
mov qword [rsp + 0xd8], rdx
mov eax, dword [r14 + 0x68]
cmp eax, 0xffffffff
je 0x2bbfaba3e
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x78]
cmp rdx, rcx
jle 0x2bbfaba3e
mov dword [rsp + 0x280], eax
mov qword [rsp + 0x78], rdx
mov eax, dword [r14 + 0x78]
cmp eax, 0x80000000
je 0x2bbfaba69
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x80]
cmp rdx, rcx
jle 0x2bbfaba69
mov dword [rsp + 0x284], eax
mov qword [rsp + 0x80], rdx
mov eax, dword [r14 + 0x88]
cmp eax, 0x80000000
je 0x2bbfaba97
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x88]
cmp rdx, rcx
jle 0x2bbfaba97
mov dword [rsp + 0x288], eax
mov qword [rsp + 0x88], rdx
mov rax, qword [r14 + 0x90]
test rax, rax
je 0x2bbfabab7
mov rdx, qword [r14 + 0x10]
cmp rdx, r15
jle 0x2bbfabab7
mov qword [rsp + 0x290], rax
mov r15, rdx
mov eax, dword [r14 + 0xa0]
cmp eax, 0x80000000
je 0x2bbfabae5
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x90]
cmp rdx, rcx
jle 0x2bbfabae5
mov dword [rsp + 0x298], eax
mov qword [rsp + 0x90], rdx
mov eax, dword [r14 + 0xa4]
test eax, eax
js 0x2bbfabb30
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xe0]
cmp rdx, rcx
jle 0x2bbfabb30
test eax, eax
setg al
movzx eax, al
mov dword [rsp + 0x29c], eax
mov rax, qword [r14 + 0xa8]
test rax, rax
je 0x2bbfac550
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0xe0], rdx
mov eax, dword [r14 + 0xb8]
cmp eax, 0x80000000
je 0x2bbfabb5e
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x98]
cmp rdx, rcx
jle 0x2bbfabb5e
mov dword [rsp + 0x2a8], eax
mov qword [rsp + 0x98], rdx
mov rax, qword [r14 + 0xc0]
test rax, rax
je 0x2bbfabb85
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x60]
cmp rdx, rcx
jle 0x2bbfabb85
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x60], rdx
mov eax, dword [r14 + 0xe0]
cmp eax, 0x80000000
je 0x2bbfabbb3
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xa0]
cmp rdx, rcx
jle 0x2bbfabbb3
mov dword [rsp + 0x2b8], eax
mov qword [rsp + 0xa0], rdx
mov eax, dword [r14 + 0xf0]
cmp eax, 0x80000000
je 0x2bbfabbe1
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xa8]
cmp rdx, rcx
jle 0x2bbfabbe1
mov dword [rsp + 0x2bc], eax
mov qword [rsp + 0xa8], rdx
mov eax, dword [r14 + 0x100]
cmp eax, 0x80000000
je 0x2bbfabc0f
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xb0]
cmp rdx, rcx
jle 0x2bbfabc0f
mov dword [rsp + 0x2c0], eax
mov qword [rsp + 0xb0], rdx
cmp qword [r14 + 0x108], 0
je 0x2bbfabc3b
mov rax, qword [r14 + 0x10]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jle 0x2bbfabc3b
mov rdx, qword [r14 + 0x110]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x2c8], rdx
mov eax, dword [r14 + 0x118]
cmp eax, 1
ja 0x2bbfab7f0
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rsp + 0xf0]
cmp rdx, rcx
jle 0x2bbfab7f0
mov dword [rsp + 0x2d0], eax
mov qword [rsp + 0xf0], rdx
jmp 0x2bbfab7f0
mov rax, qword [r14 + 0xd0]
test rax, rax
je 0x2bbfabc91
mov edx, dword [rsp + 0xc4]
test edx, edx
cmovne rbp, rax
test rcx, rcx
je 0x2bbfab917
mov rdx, rcx
jmp 0x2bbfab8fc
test byte [rsi + 0x280], 4
jne 0x2bbfab8cd
mov rdx, qword [rsi + 0x118]
test rdx, rdx
je 0x2bbfab89f
mov rcx, qword [rax + 0xc8]
test rcx, rcx
je 0x2bbfac6e0
mov r9d, dword [rsp + 0xc4]
test r9d, r9d
je 0x2bbfab8fc
mov rdx, rcx
jmp 0x2bbfab8ee
mov r15, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
mov rbp, r12
mov r12, rsi
mov rax, qword [r13]
mov rcx, rbp
call qword [rax + 0x30]
mov rax, qword [r12 + 0x100]
mov rdx, qword [rsp + 0x110]
lea r8, [rsp + 0x18c]
mov rcx, rax
call qword [rax + 0x58]
mov rsi, rax
mov eax, dword [rsp + 0x18c]
test eax, eax
je 0x2bbfac6c8
mov rax, qword [r13]
mov ecx, 0x38
lea rdi, [rsp + 0x1e0]
call qword [rax + 0x28]
mov rcx, qword [rsp + 0x250]
mov qword [rax], 1
mov rbp, rax
test rcx, rcx
je 0x2bbfabdbb
call sym.tcl9tk90.dll_Tk_3DBorderColor
mov edx, 4
mov eax, dword [rax]
mov dword [rsp + 0x1e8], eax
mov rax, qword [rsp + 0x260]
test rax, rax
je 0x2bbfabda3
mov qword [rsp + 0x218], rax
mov edx, 0x904
mov dword [rsp + 0x200], 2
mov rcx, qword [r12 + 0x28]
lea rdi, [rsp + 0x1e0]
mov r8, rdi
call sym.tcl9tk90.dll_Tk_GetGC
mov rcx, rax
mov qword [rbp + 8], rcx
mov rcx, qword [rsp + 0x270]
call sym.tcl9tk90.dll_Tk_FontId
mov edx, 0x4004
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x268]
mov eax, dword [rax]
mov dword [rsp + 0x1e8], eax
mov rax, qword [rsp + 0x278]
test rax, rax
je 0x2bbfabe0f
mov qword [rsp + 0x218], rax
mov edx, 0x4904
mov dword [rsp + 0x200], 2
mov rcx, qword [r12 + 0x28]
mov r8, rdi
call sym.tcl9tk90.dll_Tk_GetGC
mov rcx, qword [r12 + 0x28]
mov r8, rdi
mov edx, 4
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x2d8]
mov eax, dword [rax]
mov dword [rsp + 0x1e8], eax
call sym.tcl9tk90.dll_Tk_GetGC
mov rcx, qword [r12 + 0x28]
mov edx, 4
mov r8, rdi
mov qword [rbp + 0x18], rax
mov rax, qword [rsp + 0x2a0]
mov eax, dword [rax]
mov dword [rsp + 0x1e8], eax
call sym.tcl9tk90.dll_Tk_GetGC
mov qword [rbp + 0x20], rax
mov rax, qword [r12 + 0x100]
mov edx, dword [rax + 0x4c]
lea rax, [rsi + 0x20]
add edx, 1
and edx, 0xfffffffd
jne 0x2bbfabe89
mov rax, qword [rsi + 0x20]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rsi
mov qword [rsi + 0x18], rbp
mov esi, dword [rax + 0x90]
mov qword [rbx + 0x10], rbp
test esi, esi
jne 0x2bbfabf46
test byte [rsp + 0x10c], 1
je 0x2bbfabf46
mov rdi, qword [rax + 0x78]
mov r11d, dword [rax + 0x58]
mov dword [rsp + 0x140], 0xffffffff
cmp qword [rsp + 0x178], 0
mov ecx, dword [rax + 0x94]
mov qword [rsp + 0x118], rdi
mov edi, dword [rax + 0x80]
mov dword [rsp + 0x174], r11d
mov dword [rsp + 0x15c], edi
mov edi, dword [rax + 0x30]
mov dword [rsp + 0x150], ecx
mov dword [rsp + 0x158], edi
mov edi, dword [rax + 0x38]
cmove edi, dword [rax + 0x34]
mov rax, qword [rsp + 0x130]
mov dword [rsp + 0x108], edi
mov dword [rax + 0x48], edi
cmp ecx, 1
je 0x2bbfabf46
mov rdx, qword [r12 + 0x100]
mov eax, dword [rdx + 0x90]
sub eax, dword [rdx + 0x88]
sub eax, r11d
cmp eax, edi
cmovl eax, edi
mov dword [rsp + 0x140], eax
mov r9, qword [rsp + 0x190]
mov edx, dword [r15 + 0x10]
mov rax, qword [r15]
sub edx, r9d
cmp rax, qword [0x2bc042190]
je 0x2bbfac5e0
mov edi, dword [rsp + 0x108]
mov dword [rbx], edi
test esi, esi
je 0x2bbfac610
pxor xmm0, xmm0
movsxd rdx, edx
xor edi, edi
movups xmmword [rbx + 0x28], xmm6
movups xmmword [rbx + 0x40], xmm0
pxor xmm0, xmm0
mov rbp, rdx
mov rax, rdx
cmp qword [rsp + 0x100], 0
mov qword [rbx + 0x38], rdx
mov qword [rbx + 0x50], rdx
movups xmmword [rbx + 0x18], xmm0
je 0x2bbfac6b1
mov rcx, qword [rsp + 0x100]
mov qword [rcx + 8], rbx
test rdx, rdx
jle 0x2bbfabfee
movdqu xmm2, xmmword [rsp + 0x1a0]
mov dword [rsp + 0x170], edx
movdqu xmm3, xmmword [rsp + 0x1b0]
mov qword [rsp + 0x148], rbx
movups xmmword [rsp + 0x1c0], xmm2
movups xmmword [rsp + 0x1d0], xmm3
cmp rax, rbp
jne 0x2bbfaca91
test edi, edi
je 0x2bbfac17a
mov eax, dword [rsp + 0x144]
test eax, eax
js 0x2bbfac031
mov r9, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x118]
mov r8d, eax
mov rcx, r12
call sym.AdjustForTab
mov eax, dword [rbx + 0x4c]
add eax, dword [rbx]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x2bbfac778
mov eax, dword [rax]
test eax, eax
je 0x2bbfac778
xor edi, edi
mov edx, dword [rsp + 0x144]
cmp dword [rsp + 0x15c], 1
sete r11b
mov r10, qword [rsp + 0x118]
mov ebp, dword [rsp + 0x108]
lea eax, [rdx + 1]
add edx, 2
imul edx, edi
cdqe
jmp 0x2bbfac0a5
cmp r8d, eax
jle 0x2bbfac590
mov ecx, dword [r10 + rax*8 + 0x18]
mov r9d, dword [r10 + rax*8 + 0x1c]
lea r8, [rax + 1]
add edx, edi
cmp ebp, ecx
jl 0x2bbfac0c1
test r11b, r11b
je 0x2bbfac0c1
mov rax, r8
test r10, r10
je 0x2bbfac0b2
mov r8d, dword [r10]
test r8d, r8d
jne 0x2bbfac080
mov ecx, edx
xor r9d, r9d
lea r8, [rax + 1]
add edx, edi
cmp ebp, ecx
jge 0x2bbfac09d
cmp r9d, 2
je 0x2bbfac959
mov edx, dword [rsp + 0x108]
cmp edx, ecx
jge 0x2bbfac878
cmp r9d, 1
je 0x2bbfac878
mov edi, ecx
sub edi, edx
mov dword [rsp + 0x144], eax
xor r8d, r8d
mov rax, qword [rsp + 0x110]
mov r9d, 1
mov rcx, qword [r12 + 0x90]
mov dword [rsp + 0x30], 0
lea rdx, [0x2bc02b237]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0
call sym.MeasureChars.isra.0
mov eax, dword [rsp + 0x250]
cmp edi, eax
cmovge eax, edi
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x140]
test eax, eax
js 0x2bbfac16e
mov edi, dword [rsp + 0x108]
mov eax, dword [rsp + 0x140]
sub eax, edi
mov edi, dword [rsp + 0x154]
cmp eax, edi
jle 0x2bbfacb06
mov qword [rsp + 0x168], rbx
mov rax, qword [rbx + 0x38]
add qword [rsp + 0x1b0], rax
add rax, qword [rsp + 0x190]
mov qword [rsp + 0x190], rax
cmp rax, qword [r15 + 0x10]
jl 0x2bbfac520
mov qword [rsp + 0x190], 0
mov r15, qword [r15 + 8]
test esi, esi
je 0x2bbfac520
test r15, r15
jne 0x2bbfac520
mov rdx, qword [rsp + 0x1a8]
xor ecx, ecx
mov rbp, r12
call sym.TkBTreeNextLine
mov r8, rax
test rax, rax
jne 0x2bbfacb60
mov qword [rsp + 0x100], rbx
mov r14, qword [rsp + 0x118]
mov r15, r12
mov eax, dword [rsp + 0x10c]
test eax, eax
jne 0x2bbfac8cf
cmp qword [rsp + 0x148], 0
je 0x2bbfaca23
movsxd rbx, dword [rsp + 0x170]
mov rsi, qword [rsp + 0x148]
cmp qword [rsp + 0x100], rsi
je 0x2bbfaca42
mov rax, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x148]
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x2bbfac290
nop dword [rax + rax]
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
lea rcx, [rax - 1]
mov qword [rdx], rcx
cmp rax, 1
jg 0x2bbfac264
mov rcx, r15
call sym.FreeStyle.part.0
mov rax, qword [rsi + 8]
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x2bbfac27d
mov rdx, rsi
mov rcx, r15
call rax
mov rax, qword [r13]
mov rcx, rsi
call qword [rax + 0x30]
mov rsi, qword [rdi + 8]
test rsi, rsi
jne 0x2bbfac248
mov rax, qword [rsp + 0x148]
cmp qword [rax + 0x38], rbx
je 0x2bbfac314
mov rdx, qword [rsp + 0x148]
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x2bbfac2b4
mov rcx, r15
call rax
lea rsi, [rsp + 0x1c0]
lea rdx, [rsp + 0x190]
mov rcx, rsi
call sym.TkTextIndexToSeg
mov r9, qword [rsp + 0x190]
mov rdx, rsi
mov rcx, r15
mov r10, qword [rax]
mov r8, rax
mov rax, qword [rsp + 0x148]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x150]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x20], eax
call qword [r10 + 0x30]
xor ebx, ebx
mov r8d, dword [rsp + 0x144]
test r8d, r8d
js 0x2bbfac33e
mov rax, qword [rsp + 0x168]
test rax, rax
je 0x2bbfac33e
mov r9, rax
mov rdx, r14
mov rcx, r15
call sym.AdjustForTab
cmp dword [rsp + 0x150], 1
jne 0x2bbfac36b
mov rdx, qword [r15 + 0x100]
mov esi, dword [rsp + 0x174]
mov eax, dword [rdx + 0x90]
sub eax, dword [rdx + 0x88]
sub eax, esi
mov dword [rsp + 0x140], eax
mov rax, qword [rsp + 0x148]
mov esi, dword [rsp + 0x158]
mov r9d, dword [rax + 0x4c]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x130]
add ecx, r9d
mov dword [rax + 0x5c], ecx
test esi, esi
je 0x2bbfac3b4
mov eax, dword [rsp + 0x140]
sub eax, ecx
cmp esi, 1
je 0x2bbfacaac
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov dword [rsp + 0x158], eax
mov rdi, qword [rsp + 0x130]
mov r11, qword [rdi + 0x60]
mov r10d, dword [rdi + 0x30]
test r11, r11
je 0x2bbfacab8
mov ecx, dword [rdi + 0x20]
mov r8d, dword [rsp + 0x10c]
xor edx, edx
mov rax, r11
mov ebp, dword [rsp + 0x158]
nop dword [rax]
mov esi, dword [rax + 0x40]
add dword [rax], ebp
add ecx, dword [rax + 0x38]
cmp r8d, esi
mov dword [rdi + 0x20], ecx
cmovl r8d, esi
mov esi, dword [rax + 0x44]
cmp edx, esi
cmovl edx, esi
mov esi, dword [rax + 0x48]
cmp esi, r10d
jle 0x2bbfac410
mov dword [rdi + 0x30], esi
mov r10d, esi
mov rsi, qword [rax + 0x10]
mov rsi, qword [rsi + 0x28]
mov r12d, dword [rsi + 8]
test r12d, r12d
jle 0x2bbfac42c
mov esi, dword [rsi + 0xc]
test esi, esi
je 0x2bbfac42c
or dword [rdi + 0x70], 1
mov rax, qword [rax + 8]
test rax, rax
jne 0x2bbfac3e8
mov rax, qword [rsp + 0x148]
mov dword [rsp + 0x10c], r8d
add r8d, edx
mov ecx, dword [rax]
add ecx, r9d
cmp r10d, r8d
jl 0x2bbfac479
mov esi, dword [rsp + 0x10c]
mov r8d, r10d
sub r8d, esi
sub r8d, edx
mov eax, r8d
shr eax, 0x1f
add eax, r8d
mov r8d, r10d
sar eax, 1
add esi, eax
mov dword [rsp + 0x10c], esi
mov rax, qword [r11 + 0x10]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x130]
cmp qword [rax + 0x10], 0
jne 0x2bbfaca6d
mov edx, dword [r9 + 0x68]
mov rax, qword [rsp + 0x130]
mov dword [rax + 0x38], edx
test ebx, ebx
je 0x2bbfaca59
mov eax, dword [r9 + 0x70]
mov rsi, qword [rsp + 0x130]
mov dword [rsi + 0x3c], eax
add eax, edx
add eax, r8d
mov dword [rsi + 0x30], eax
mov eax, dword [rsp + 0x10c]
add eax, edx
cmp dword [rsp + 0x150], 1
mov dword [rsi + 0x34], eax
mov rax, qword [r9 + 0x40]
mov qword [rsi + 0x40], rax
mov rax, qword [r9 + 0x60]
mov qword [rsi + 0x50], rax
je 0x2bbfac4f2
mov eax, dword [rsp + 0x174]
mov dword [rsi + 0x58], eax
mov rax, qword [rsp + 0x130]
mov dword [rax + 0x5c], ecx
jmp 0x2bbfac8e6
mov rcx, qword [rsi + 0x50]
mov qword [rsp + 0x250], rcx
jmp 0x2bbfab97e
mov qword [rsp + 0x100], rbx
xor ebx, ebx
test r15, r15
jne 0x2bbfab5a0
mov r8, r15
mov r14, qword [rsp + 0x118]
mov r15, r12
jmp 0x2bbfac1ee
test rbp, rbp
je 0x2bbfabb28
mov qword [rsp + 0x2a0], rbp
jmp 0x2bbfabb28
test rbp, rbp
je 0x2bbfab833
mov qword [rsp + 0x2d8], rbp
jmp 0x2bbfab833
lea ecx, [rax + 1]
pxor xmm0, xmm0
sub ecx, r8d
sub r8d, 1
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [r10 + 0x10]
movsxd r8, r8d
addsd xmm0, qword [r10 + 8]
mov r9d, dword [r10 + r8*8 + 0x1c]
addsd xmm0, xmm7
cvttsd2si ecx, xmm0
jmp 0x2bbfac093
mov dword [rsp + 0xc4], 0
jmp 0x2bbfab6cf
mov edi, dword [rsp + 0x158]
or edi, esi
jne 0x2bbfabf65
lea r8, [r15 + 0x18]
lea rcx, [r8 + r9]
movzx r11d, byte [rcx]
test r11b, r11b
jne 0x2bbfac715
mov edi, dword [rsp + 0x108]
mov dword [rbx], edi
nop dword [rax]
xor edi, edi
mov ecx, dword [rsp + 0x10c]
movsxd rbp, edx
mov edx, dword [rsp + 0x150]
mov r8, r15
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0x140]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x154]
mov qword [rsp + 0x28], rbp
sub edx, ecx
mov rcx, r12
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x138]
call qword [rax + 0x30]
mov r14d, eax
test eax, eax
jle 0x2bbfac880
mov rax, qword [rbx + 0x38]
mov rcx, qword [rsp + 0x160]
mov edx, dword [rbx + 0x4c]
add dword [rsp + 0x108], edx
test rax, rax
mov rdx, qword [rbx + 0x50]
cmovg rcx, rbx
mov qword [rsp + 0x160], rcx
mov ecx, 0
cmovle ecx, dword [rsp + 0x10c]
cmp qword [rsp + 0x100], 0
mov dword [rsp + 0x10c], ecx
jne 0x2bbfabfac
mov rcx, qword [rsp + 0x130]
mov qword [rcx + 0x60], rbx
jmp 0x2bbfabfb8
mov rbp, qword [rsi + 0x18]
add qword [rbp], 1
mov rax, qword [rbp + 0x28]
jmp 0x2bbfabe95
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x2bbfab8fc
mov ecx, dword [rsp + 0xc4]
test ecx, ecx
cmovne rbp, rax
jmp 0x2bbfab8fc
movzx r11d, byte [rcx]
test r11b, r11b
je 0x2bbfac604
add rcx, 1
cmp r11b, 9
jne 0x2bbfac708
mov edi, dword [rsp + 0x108]
sub rcx, r8
mov edx, ecx
mov dword [rbx], edi
sub edx, r9d
mov edi, 1
jmp 0x2bbfac612
test rbp, rbp
je 0x2bbfabd10
jmp 0x2bbfabd06
mov rax, qword [r13]
mov ecx, 0x60
call qword [rax + 0x28]
mov qword [rax + 8], 0
mov rbx, rax
mov qword [rax + 0x58], 0
jmp 0x2bbfab5d3
mov rcx, qword [r12 + 0x90]
lea rdx, [0x2bc02b235]
mov r8d, 1
call sym.tcl9tk90.dll_Tk_TextWidth
lea edx, [rax*8]
test eax, eax
cmovne edi, edx
jmp 0x2bbfac04e
mov rax, qword [r15 + 0x10]
mov rdx, qword [rsp + 0x190]
cmp rax, rdx
jle 0x2bbfac918
mov rdi, qword [rsp + 0x100]
sub eax, edx
cdqe
add qword [rsp + 0x1b0], rax
add rax, qword [rdi + 0x38]
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x50], rax
mov dword [rsp + 0x170], eax
mov qword [rsp + 0x190], 0
mov r15, qword [r15 + 8]
test r15, r15
jne 0x2bbfab5a0
mov rdx, qword [rsp + 0x1a8]
xor ecx, ecx
mov r14, rbx
mov rbp, r12
call sym.TkBTreeNextLine
mov r8, rax
test rax, rax
je 0x2bbfaca81
mov rax, qword [rsp + 0x130]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x50], eax
add eax, 1
mov rbx, qword [rsp + 0x130]
mov qword [rsp + 0x1a8], r8
mov qword [rsp + 0x1b0], 0
mov dword [rbx + 0x24], eax
xor eax, eax
jmp 0x2bbfab53d
mov qword [rsp + 0x190], 0
mov r15, qword [r15 + 8]
jmp 0x2bbfac52a
xor edi, edi
jmp 0x2bbfac0e8
mov rdx, qword [rbx + 0x10]
mov rax, qword [rdx]
lea rcx, [rax - 1]
mov qword [rdx], rcx
cmp rax, 1
jle 0x2bbfac9fb
test r14d, r14d
jne 0x2bbfaca0c
mov rax, qword [r13]
mov qword [rsp + 0x50], r15
mov rcx, rbx
mov r15, r12
mov r14, qword [rsp + 0x118]
call qword [rax + 0x30]
mov eax, dword [rsp + 0x10c]
mov r8, qword [rsp + 0x50]
test eax, eax
je 0x2bbfac1fd
mov rax, qword [rsp + 0x130]
mov qword [rax + 0x38], 0
mov dword [rax + 0x5c], 0
mov rax, qword [rsp + 0x130]
movups xmm6, xmmword [rsp + 0x3210]
movups xmm7, xmmword [rsp + 0x3220]
add rsp, 0x3238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r15]
cmp rax, qword [0x2bc042200]
sete dl
cmp rax, qword [0x2bc042210]
je 0x2bbfac936
test dl, dl
je 0x2bbfac7e4
mov rax, qword [r15 + 0x18]
mov r10d, dword [rax + 0x12c]
test r10d, r10d
js 0x2bbfac7e4
setg sil
xor esi, edx
movzx esi, sil
jmp 0x2bbfac7e4
mov r11d, dword [rsp + 0x140]
mov r9d, dword [rsp + 0x108]
xor edi, edi
mov edx, r11d
sub edx, ecx
sub ecx, r9d
cmp edx, ecx
jge 0x2bbfac0e8
mov ecx, r11d
add edx, edx
sub ecx, r9d
mov edi, ecx
sub edi, edx
jmp 0x2bbfac0e8
test cl, cl
je 0x2bbfab594
mov qword [rsp + 0x190], rax
mov r15, r8
mov rbx, r14
mov r12, rbp
jmp 0x2bbfab5a0
mov rdx, qword [rsp + 0x1a8]
xor ecx, ecx
mov qword [rsp + 0x190], rax
call sym.TkBTreeNextLine
test rax, rax
je 0x2bbfacb82
mov rbx, qword [rsp + 0x130]
mov r8, qword [rax + 0x10]
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], 0
mov rax, qword [rsp + 0x190]
add dword [rbx + 0x24], 1
jmp 0x2bbfab551
mov rcx, r12
call sym.FreeStyle.part.0
test r14d, r14d
je 0x2bbfac8a1
mov qword [rsp + 0x190], 0
mov r15, qword [r15 + 8]
xor esi, esi
jmp 0x2bbfac52a
mov rax, qword [rsp + 0x160]
mov esi, dword [rax + 0x38]
mov qword [rsp + 0x148], rax
mov dword [rsp + 0x170], esi
jmp 0x2bbfac20c
cmp qword [rsi + 0x38], rbx
jne 0x2bbfac22a
xor ebx, ebx
test r8, r8
sete bl
jmp 0x2bbfac316
mov r10d, dword [r9 + 0x6c]
mov eax, r10d
shr eax, 0x1f
add eax, r10d
sar eax, 1
jmp 0x2bbfac4af
mov edx, dword [r9 + 0x6c]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
sub edx, eax
jmp 0x2bbfac498
mov r14, qword [rsp + 0x118]
mov r15, r12
jmp 0x2bbfac1ee
mov r8, r15
mov qword [rsp + 0x100], rbx
mov r15, r12
mov r14, qword [rsp + 0x118]
jmp 0x2bbfac1ee
mov dword [rsp + 0x158], eax
jmp 0x2bbfac3b4
xor r8d, r8d
xor edx, edx
jmp 0x2bbfac44d
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call sym.TkBTreeAdjustPixelHeight
jmp 0x2bbfab439
cmp r9, r11
jne 0x2bbfacb91
sub r9, 1
jmp 0x2bbfacaf2
lea rdx, [r9 - 1]
test byte [r14 + r9*4], 1
jne 0x2bbfacb29
mov r9, rdx
test r9, r9
jg 0x2bbfacae4
mov qword [rsp + 0x300], r9
xor edx, edx
jmp 0x2bbfab353
mov r8, r15
mov qword [rsp + 0x168], rbx
mov r15, r12
mov r14, qword [rsp + 0x118]
mov qword [rsp + 0x100], rbx
jmp 0x2bbfac1ee
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x300], r9
mov rdx, qword [rdx + r9*8]
mov edx, dword [rdx + 0x12c]
test edx, edx
setg dl
movzx edx, dl
jmp 0x2bbfab353
mov r14, qword [rsp + 0x118]
mov r15, rbp
xor r8d, r8d
jmp 0x2bbfac1ee
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x100], rbx
xor r14d, r14d
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x50], eax
add eax, 1
jmp 0x2bbfac830
mov r14, r15
mov r15, rbp
jmp 0x2bbfacb58
xor ecx, ecx
jmp 0x2bbfab3df
mov rax, qword [r13]
lea rcx, [0x2bc02b250]
call qword [rax + 0x20]
nop