Function at 0x68615f50
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor ebx, ebx
lea rax, [rcx + rdx]
mov r12, rdx
mov rbp, r8
mov r13d, r9d
mov r15, rcx
mov qword [rsp + 0x38], rax
nop word [rax + rax]
test r12, r12
js 0x68615f90
cmp r15, qword [rsp + 0x38]
jae 0x68616060
cmp byte [r15], 0
je 0x68616060
mov rcx, r15
call sym.libglib_2.0_0.dll_g_utf8_get_char
cmp eax, 0x2faff
mov edi, eax
ja 0x68616074
mov ecx, eax
lea rax, [0x68675a80]
shr ecx, 8
movsx r8d, word [rax + rcx*2]
cmp r8w, 0x270f
jg 0x686161a2
movsx r8, r8w
movzx eax, dil
lea rdx, [0x68676080]
shl r8, 8
add r8, rax
movsx r8d, byte [rdx + r8]
movzx eax, byte [r15]
mov rdx, qword [sym.libglib_2.0_0.dll_g_utf8_skip]
cmp edi, 0x49
movsx r14, byte [rdx + rax]
lea rsi, [r15 + r14]
jne 0x686160d0
cmp r13d, 1
jne 0x686160d0
mov rcx, rsi
call sym.libglib_2.0_0.dll_g_utf8_get_char
cmp eax, 0x307
mov edx, 0
lea rax, [rbp + rbx]
je 0x68616311
test rbp, rbp
mov ecx, 0x131
mov r15, rsi
cmovne rdx, rax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
test r12, r12
js 0x68615f90
cmp r15, qword [rsp + 0x38]
jb 0x68615f90
nop dword [rax + rax]
mov rax, rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea eax, [rax - 0xe0000]
mov r8d, 2
cmp eax, 0x2ffff
ja 0x68615fe7
lea rcx, [0x6867cb80]
shr eax, 8
movsx r8d, word [rcx + rax*2]
cmp r8w, 0x270f
jg 0x686161a2
movsx r8, r8w
movzx eax, dil
lea rcx, [0x68676080]
shl r8, 8
add r8, rax
movsx r8d, byte [rcx + r8]
jmp 0x68615fe7
cmp r13d, 2
je 0x686161d0
cmp edi, 0x3a3
je 0x68616340
mov eax, 0x300
bt eax, r8d
jae 0x686161b0
mov eax, edi
shr eax, 8
cmp eax, 0x2fa
ja 0x68616143
lea rdx, [0x6867d9c0]
movsx eax, word [rdx + rax*2]
cmp ax, 0x2710
jne 0x6861615a
xor ecx, ecx
cmp r8d, 8
je 0x68616405
lea rax, [rbp + rbx]
xor edx, edx
test rbp, rbp
mov r15, rsi
cmovne rdx, rax
test ecx, ecx
cmove ecx, edi
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
jmp 0x68615f80
lea edx, [rax - 0xe00]
lea rax, [0x6867dfc0]
movsx eax, word [rax + rdx*2]
cmp ax, 0x2710
je 0x68616112
cdqe
movzx edx, dil
shl rax, 8
add rax, rdx
lea rdx, [0x6867e5c0]
mov ecx, dword [rdx + rax*4]
cmp ecx, 0xffffff
jbe 0x68616114
lea rax, [rbp + rbx]
lea edx, [rcx - 0x1000000]
xor ecx, ecx
test rbp, rbp
mov r15, rsi
cmovne rcx, rax
xor r9d, r9d
call fcn.68615030
cdqe
add rbx, rax
jmp 0x68615f80
sub r8d, 0x2710
jmp 0x68615fe7
test rbp, rbp
je 0x686161c5
lea rcx, [rbp + rbx]
mov r8, r14
mov rdx, r15
call sub.msvcrt.dll_memcpy
add rbx, r14
mov r15, rsi
jmp 0x68615f80
lea eax, [rdi - 0xcc]
cmp eax, 1
jbe 0x686161e3
cmp edi, 0x128
jne 0x68616260
test rbp, rbp
je 0x686164a5
lea rdx, [rbp + rbx]
mov ecx, 0x69
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
lea rdx, [rbp + rbx]
mov ecx, 0x307
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
cmp edi, 0xcd
je 0x68616480
cmp edi, 0x128
je 0x686163e0
cmp edi, 0xcc
mov r15, rsi
jne 0x68615f80
lea rax, [rbp + rbx]
xor edx, edx
test rbp, rbp
mov ecx, 0x300
mov r15, rsi
cmovne rdx, rax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
jmp 0x68615f80
lea eax, [rdi - 0x49]
cmp eax, 1
jbe 0x68616274
cmp edi, 0x12e
jne 0x686160da
cmp byte [rsi], 0
je 0x686160da
mov r11, rsi
jmp 0x686162a7
test eax, eax
je 0x686160da
movzx eax, byte [r11]
mov rdx, qword [sym.libglib_2.0_0.dll_g_utf8_skip]
movsx rax, byte [rdx + rax]
add r11, rax
cmp byte [r11], 0
je 0x686160da
mov rcx, r11
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0x28], r11
call sym.libglib_2.0_0.dll_g_utf8_get_char
mov ecx, eax
call sym.libglib_2.0_0.dll_g_unichar_combining_class
cmp eax, 0xe6
mov r8d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x28]
jne 0x68616282
test rbp, rbp
je 0x686164bd
lea r14, [rbp + rbx]
mov ecx, edi
call sym.libglib_2.0_0.dll_g_unichar_tolower
mov rdx, r14
mov ecx, eax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
lea rdx, [rbp + rbx]
mov ecx, 0x307
mov r15, rsi
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
jmp 0x68615f80
test rbp, rbp
mov ecx, 0x69
cmovne rdx, rax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
mov rcx, qword [sym.libglib_2.0_0.dll_g_utf8_skip]
add rbx, rax
movzx eax, byte [rsi]
movsx rdx, byte [rcx + rax]
lea r15, [rsi + rdx]
jmp 0x68615f80
test r12, r12
js 0x6861634f
cmp rsi, qword [rsp + 0x38]
mov dil, 0xc2
jae 0x686163b5
cmp byte [rsi], 0
mov edi, 0x3c2
je 0x686163b5
mov rcx, rsi
call sym.libglib_2.0_0.dll_g_utf8_get_char
cmp eax, 0x2faff
ja 0x68616440
mov ecx, eax
lea rdx, [0x68675a80]
shr ecx, 8
movsx edx, word [rdx + rcx*2]
cmp dx, 0x270f
jg 0x6861646d
movsx rdx, dx
movzx eax, al
shl rdx, 8
add rdx, rax
lea rax, [0x68676080]
movsx ecx, byte [rax + rdx]
mov eax, 0x3e0
shr eax, cl
and eax, 1
cmp eax, 1
sbb edi, edi
add edi, 0x3c3
lea rax, [rbp + rbx]
xor edx, edx
test rbp, rbp
mov ecx, edi
mov r15, rsi
cmovne rdx, rax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
jmp 0x68615f80
lea rax, [rbp + rbx]
xor edx, edx
test rbp, rbp
mov ecx, 0x303
mov r15, rsi
cmovne rdx, rax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
jmp 0x68615f80
lea r8, [0x6867d180]
xor eax, eax
jmp 0x68616420
add eax, 1
add r8, 0xc
cmp eax, 0x1f
je 0x6861611e
cmp edi, dword [r8]
jne 0x68616410
lea rax, [rax + rax*2]
lea rdx, [0x6867d188]
mov ecx, dword [rdx + rax*4]
jmp 0x6861611e
lea edx, [rax - 0xe0000]
cmp edx, 0x2ffff
ja 0x686163b5
shr edx, 8
mov ecx, edx
lea rdx, [0x6867cb80]
movsx edx, word [rdx + rcx*2]
cmp dx, 0x270f
jle 0x68616387
lea ecx, [rdx - 0x2710]
jmp 0x686163a0
lea rax, [rbp + rbx]
xor edx, edx
test rbp, rbp
mov ecx, 0x301
mov r15, rsi
cmovne rdx, rax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
add rbx, rax
jmp 0x68615f80
xor edx, edx
mov ecx, 0x69
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
xor edx, edx
add rbx, rax
jmp 0x68616205
mov ecx, edi
call sym.libglib_2.0_0.dll_g_unichar_tolower
xor edx, edx
mov ecx, eax
call sym.libglib_2.0_0.dll_g_unichar_to_utf8
cdqe
xor edx, edx
add rbx, rax
jmp 0x686162fa