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

Disassembly:
mov qword [rsp + 0x20], r9
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push r13
push r14
push r15
sub rsp, 0x90
xor r15d, r15d
mov rbp, r9
mov dword [rsp + 0x64], r15d
movzx esi, r8b
mov dword [rsp + 0x5c], r15d
mov r14, rdx
mov dword [rsp + 0x54], r15d
mov r13, rcx
test rdx, rdx
jne 0x14003800e
lea r8d, [rdx + 5]
mov r9d, 0xf2a
lea rdx, str.write_syllable
lea rcx, str.syllable_may_not_be_null
add rsp, 0x90
pop r15
pop r14
pop r13
pop rsi
pop rbp
jmp fcn.14000196f
mov ecx, dword [rdx + 0x38]
mov eax, ecx
and eax, 0x1c0
mov qword [rsp + 0x88], rdi
cmp eax, 0xc0
je 0x14003803c
cmp eax, 0x100
je 0x14003803c
cmp qword [rdx], r15
je 0x14003803c
mov edi, r15d
cmp qword [rdx + 0x18], r15
jne 0x140038041
mov edi, 1
and cl, 0xc
cmp cl, 4
jne 0x140038058
lea rdx, str.GreBeginNLBArea10___n
mov rcx, r13
call fcn.1400017bc
mov eax, dword [r14 + 0x38]
and al, 0x30
cmp al, 0x10
jne 0x140038076
movzx r8d, word [r14 + 0x30]
lea rdx, str.GreBeginEUOUAE_hu___n
mov rcx, r13
call fcn.1400017bc
mov rcx, qword [r14 + 0x28]
mov qword [rsp + 0xc0], rbx
test rcx, rcx
je 0x1400382c4
mov rcx, qword [rcx]
test rcx, rcx
je 0x1400382c4
cmp byte [rcx + 0x3c], 5
jne 0x140038107
mov rax, qword [rsp + 0xe0]
cmp r14, qword [rax + 0x18]
jne 0x1400380cf
mov r9d, 0xf40
lea rdx, str.write_syllable
mov r8d, 5
lea rcx, str.line_break_is_not_supported_on_the_first_syllable
call fcn.14000196f
jmp 0x140038edb
test dword [rcx + 0x28], 0x800
lea rdx, str.___n___nGreNewParLine____n___n___n
lea rcx, str.___n___nGreNewLine____n___n___n
cmove rdx, rcx
mov rcx, r13
call fcn.1400017bc
mov r9d, edi
mov r8, r14
xor edx, edx
mov rcx, r13
call qword [rsp + 0xf0]
jmp 0x140038edb
test sil, sil
jne 0x1400381f1
mov rcx, r14
call fcn.140001942
test rax, rax
je 0x1400381f1
mov rsi, qword [rsp + 0xe0]
cmp r14, qword [rsi + 0x18]
jne 0x140038153
mov r9d, 0xf55
lea rdx, str.write_syllable
mov r8d, 5
lea rcx, str.clef_change_is_not_supported_on_the_first_syllable
call fcn.14000196f
jmp 0x140038edb
mov rdx, rax
mov rcx, r13
call fcn.140033290
lea rdx, str.GreDiscretionary0___n
mov rcx, r13
call fcn.1400017bc
mov rbx, qword [rsp + 0xe8]
lea r15, [0x140039390]
mov qword [rsp + 0x30], r15
mov r9, rbp
mov qword [rsp + 0x28], rbx
mov r8b, 1
mov rdx, r14
mov qword [rsp + 0x20], rsi
mov rcx, r13
call fcn.140037fa0
lea rdx, str.___n
mov rcx, r13
call fcn.1400017bc
mov qword [rsp + 0x30], r15
mov r9, rbp
mov qword [rsp + 0x28], rbx
mov r8b, 2
mov rdx, r14
mov qword [rsp + 0x20], rsi
mov rcx, r13
call fcn.140037fa0
lea rdx, [0x1400cbffc]
mov rcx, r13
call fcn.1400017bc
mov r9d, edi
mov r8, r14
xor edx, edx
mov rcx, r13
call qword [rsp + 0xf0]
jmp 0x140038edb
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x1400381ff
mov r8, qword [rax]
jmp 0x140038202
mov r8, r15
mov rdx, qword [r14]
mov rcx, r13
call fcn.1400362c0
mov rax, qword [r14 + 0x28]
mov rcx, qword [rax]
cmp byte [rcx + 0x3c], 7
jne 0x1400382ad
mov rax, qword [rsp + 0xe0]
cmp r14, qword [rax + 0x18]
je 0x1400382a4
cmp qword [r14 + 0x18], r15
jne 0x1400382a4
mov rdx, qword [r14]
test rdx, rdx
jne 0x1400382a4
mov eax, dword [rcx + 0x28]
and eax, 0x1f
cmp al, 5
jne 0x14003826d
mov r8, r14
lea rdx, str.DivisioFinalis
mov rcx, r13
call fcn.140034010
mov r9d, edi
mov r8, r14
xor edx, edx
mov rcx, r13
call qword [rsp + 0xf0]
jmp 0x140038edb
test rdx, rdx
jne 0x1400382a4
mov eax, dword [rcx + 0x28]
and al, 0x1f
cmp al, 4
jne 0x1400382a4
mov r8, r14
lea rdx, str.DivisioMaior
mov rcx, r13
call fcn.140034010
mov r9d, edi
mov r8, r14
xor edx, edx
mov rcx, r13
call qword [rsp + 0xf0]
jmp 0x140038edb
lea rdx, str.GreBarSyllable
jmp 0x1400382e7
test sil, sil
lea rdx, str.GreBarSyllable
lea rax, str.GreSyllable
cmove rdx, rax
jmp 0x1400382e7
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x1400382d2
mov r8, qword [rax]
jmp 0x1400382d5
mov r8, r15
mov rdx, qword [r14]
mov rcx, r13
call fcn.1400362c0
lea rdx, str.GreNoNoteSyllable
mov r9d, edi
mov qword [rsp + 0x80], r12
mov r8, r14
mov rcx, r13
call qword [rsp + 0xf0]
test dword [r14 + 0x38], 0x200
lea rax, str.FirstWord
lea r8, str.Unstyled
mov rcx, r13
cmovne r8, rax
lea rdx, str.Gre_s
call fcn.1400017bc
lea rax, [0x1400cc6fc]
test edi, edi
lea rdx, [0x1400cc6f8]
mov rcx, r13
cmove rdx, rax
call fcn.1400017bc
mov rcx, r14
call fcn.140034440
mov rdx, qword [r14 + 0x18]
xor r9d, r9d
xor r12b, r12b
mov byte [rsp + 0x50], r15b
mov word [rsp + 0x58], r9w
mov ebx, eax
mov dword [rsp + 0x60], r9d
mov r8d, r15d
movzx edi, r9w
test rdx, rdx
je 0x140038462
nop dword [rax + rax]
mov rax, qword [rdx + 0x28]
test rax, rax
je 0x1400383cf
mov rax, qword [rax]
test rax, rax
je 0x1400383cf
cmp byte [rax + 0x3c], 5
jne 0x1400383cf
mov r8d, 1
nop dword [rax]
cmp byte [rax + 0x3c], 5
jne 0x1400383bd
mov ecx, dword [rax + 0x28]
bt ecx, 0xc
jae 0x1400383bd
mov r12d, ecx
shr r12d, 0xd
and r12b, r8b
or r12b, 0x30
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400383a0
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x140038380
mov dword [rsp + 0x60], r9d
test rdx, rdx
je 0x140038462
mov rcx, qword [rdx + 0x28]
test rcx, rcx
je 0x140038413
mov rcx, qword [rcx]
test rcx, rcx
je 0x140038413
nop
cmp byte [rcx + 0x3c], 5
jne 0x14003840a
mov eax, dword [rcx + 0x28]
bt eax, 0xc
jae 0x14003840a
shr eax, 0xd
and al, 1
or al, 0x30
movzx r12d, al
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x1400383f0
mov eax, dword [rdx + 0x38]
and al, 0x30
mov dword [rsp + 0x60], r9d
cmp al, 0x10
jne 0x140038462
movzx eax, word [0x1400d3768]
mov ecx, r9d
inc ax
test r8d, r8d
mov word [0x1400d3768], ax
mov word [rdx + 0x30], ax
movzx edi, word [0x1400d3768]
setne r15b
add r15b, 0x30
mov word [rsp + 0x58], di
test r8d, r8d
mov byte [rsp + 0x50], r15b
setne cl
add ecx, 0x30
mov dword [rsp + 0x60], ecx
mov rax, qword [r14 + 0x18]
mov rcx, r13
test rax, rax
je 0x14003854c
test dword [rax + 0x38], 0x400
lea r8, [0x14004b09a]
lea rax, str.GreGABCNextForceCenters
cmovne r8, rax
lea rdx, str._sGreSetNextSyllable
call fcn.1400017bc
mov rdx, qword [r14 + 0x18]
mov rcx, r13
mov rdx, qword [rdx]
call fcn.140039440
test ebx, ebx
jne 0x1400384ce
cmp sil, 1
je 0x1400384ce
test r15b, r15b
je 0x1400384dd
movzx r9d, r15b
lea rdx, str.GreLastSyllableBeforeEUOUAE_hu_c
movzx r8d, di
mov rcx, r13
call fcn.1400017bc
jmp 0x1400384dd
lea rdx, str.GreLastOfLine
mov rcx, r13
call fcn.1400017bc
lea rdx, [0x1400cb3bc]
mov rcx, r13
call fcn.1400017bc
cmp dword [rbp], 0
je 0x14003851e
movzx ecx, word [r14 + 0x32]
test cx, cx
je 0x14003851e
movzx eax, word [r14 + 0x34]
lea rdx, str._u:_u:_u
movzx r9d, word [r14 + 0x36]
inc eax
mov r8d, ecx
mov dword [rsp + 0x20], eax
mov rcx, r13
call fcn.1400017bc
mov rcx, qword [r14 + 0x18]
lea r8, [rsp + 0x54]
lea rdx, [rsp + 0x5c]
call fcn.140034910
mov r9d, dword [rsp + 0x54]
lea rdx, str._d_d
mov r8d, dword [rsp + 0x5c]
mov rcx, r13
call fcn.1400017bc
jmp 0x1400385c8
lea rdx, str.GreSetNextSyllable
call fcn.1400017bc
test ebx, ebx
jne 0x140038562
cmp sil, 1
jne 0x140038571
lea rdx, str.GreLastOfLine
mov rcx, r13
call fcn.1400017bc
lea rdx, [0x1400cb3bc]
mov rcx, r13
call fcn.1400017bc
cmp dword [rbp], 0
je 0x1400385b2
movzx ecx, word [r14 + 0x32]
test cx, cx
je 0x1400385b2
movzx eax, word [r14 + 0x34]
lea rdx, str._u:_u:_u
movzx r9d, word [r14 + 0x36]
inc eax
mov r8d, ecx
mov dword [rsp + 0x20], eax
mov rcx, r13
call fcn.1400017bc
xor r9d, r9d
lea rdx, str._d_d
mov rcx, r13
lea r8d, [r9 + 0x12]
call fcn.1400017bc
cmp qword [r14 + 8], 0
je 0x14003866d
mov eax, dword [r14 + 0x38]
lea rcx, str.___nGreWriteTranslation
and al, 3
lea rdx, str.___nGreWriteTranslationWithCenterBeginning
cmp al, 1
cmovne rdx, rcx
mov rcx, r13
call fcn.1400017bc
mov rdx, qword [r14 + 8]
test rdx, rdx
jne 0x14003861d
lea r8d, [rdx + 5]
mov r9d, 0x613
lea rdx, str.write_translation
lea rcx, str.translation_may_not_be_null
call fcn.14000196f
jmp 0x14003865e
lea rax, [0x140033ec0]
mov r8, r13
mov qword [rsp + 0x38], rax
lea r9, [0x140034000]
lea rax, [0x140033e80]
xor ecx, ecx
mov qword [rsp + 0x30], rax
lea rax, [0x140033d20]
mov qword [rsp + 0x28], rax
lea rax, [0x140033bf0]
mov qword [rsp + 0x20], rax
call fcn.140001483
lea rdx, [0x1400cbffc]
mov rcx, r13
call fcn.1400017bc
mov eax, dword [r14 + 0x38]
and al, 3
cmp al, 2
jne 0x140038686
lea rdx, str.___nGreTranslationCenterEnd____n
mov rcx, r13
call fcn.1400017bc
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x14003869e
lea rdx, str.___nGreSetTextAboveLines_s___n
mov rcx, r13
call fcn.1400017bc
lea rdx, str.___n
mov rcx, r13
call fcn.1400017bc
mov r9, qword [r14 + 0x28]
test r9, r9
je 0x140038714
mov r9, qword [r9]
xor eax, eax
mov r8d, eax
test r9, r9
je 0x140038717
cmp byte [r9 + 0x3c], 3
jne 0x140038709
mov rdx, qword [r9 + 0x20]
test rdx, rdx
je 0x140038709
cmp byte [rdx + 0x2c], 2
jne 0x140038700
cmp byte [rdx + 0x1c], 0x10
mov ecx, eax
je 0x1400386fd
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x1400386fb
nop word [rax + rax]
mov rax, qword [rax + 8]
inc ecx
test rax, rax
jne 0x1400386f0
xor eax, eax
add r8d, ecx
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x1400386d3
mov r9, qword [r9 + 8]
test r9, r9
jne 0x1400386c3
jmp 0x140038717
xor r8d, r8d
lea rdx, str.GreSyllableNoteCount_u___n
mov rcx, r13
call fcn.1400017bc
mov rsi, qword [r14 + 0x28]
xor ebp, ebp
mov dword [rsp + 0x54], ebp
test rsi, rsi
je 0x140038e54
mov rsi, qword [rsi]
mov qword [rsp + 0x70], rsi
test rsi, rsi
je 0x140038e54
lea rdi, str.___n___nGreNewLine____n___n___n
lea rbx, str.___n___nGreNewParLine____n___n___n
lea rdx, [0x140000000]
nop
cmp qword [rsi + 0x18], 0
je 0x140038827
cmp qword [rsi + 0x10], 0
je 0x140038827
lea r8, [rsp + 0x52]
mov byte [rsp + 0x51], 0x81
lea rdx, [rsp + 0x51]
mov byte [rsp + 0x52], 0x81
mov rcx, rsi
call fcn.1400302a0
movzx eax, byte [rsp + 0x51]
mov ecx, 9
cmp al, 0x81
mov edi, eax
movzx eax, byte [rsp + 0x52]
cmove edi, ecx
mov ebp, eax
cmp al, 0x81
cmove ebp, ecx
xor ebx, ebx
cmp qword [rsi + 0x18], rbx
jbe 0x14003880e
nop word [rax + rax]
mov rax, qword [rsi + 0x10]
cmp qword [rax + rbx*8], 0
je 0x140038805
lea r8d, [rbx + 1]
mov rcx, r13
lea rdx, str.GreNABCNeumes_d
call fcn.1400017bc
mov rdx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, qword [rdx + rbx*8]
call fcn.140034d00
movsx r9d, bpl
lea rdx, str._d_d___n
movsx r8d, dil
mov rcx, r13
call fcn.1400017bc
inc rbx
cmp rbx, qword [rsi + 0x18]
jb 0x1400387c0
mov ebp, dword [rsp + 0x54]
lea rdx, [0x140000000]
lea rdi, str.___n___nGreNewLine____n___n___n
lea rbx, str.___n___nGreNewParLine____n___n___n
movzx eax, byte [rsi + 0x3c]
add eax, 0xfffffffc
cmp eax, 0xa
ja case.0x140038841.9
mov ecx, dword [rdx + rax*4 + 0x38efc]
add rcx, rdx
jmp rcx
mov eax, dword [rsi + 0x28]
shr eax, 5
and eax, 0xf
add eax, 0xfffffffa
cmp eax, 7
ja case.default.0x14003885e
mov ecx, dword [rdx + rax*4 + 0x38f28]
add rcx, rdx
jmp rcx
lea rdx, str.GreEndOfElement10_u___n
jmp 0x140038e11
lea rdx, str.GreEndOfElement20_u___n
jmp 0x140038e11
mov r8, qword [rsi + 0x20]
lea rdx, str.GreAdHocSpaceEndOfElement_s0_u___n
mov r9d, ebp
mov rcx, r13
call fcn.1400017bc
jmp 0x140038e1c
lea rdx, str.GreEndOfElement21_u___n
jmp 0x140038e11
lea rdx, str.GreEndOfElement11_u___n
jmp 0x140038e11
lea rdx, str.GreEndOfElement01_u___n
jmp 0x140038e11
mov r8, qword [rsi + 0x20]
lea rdx, str.GreAdHocSpaceEndOfElement_s1_u___n
mov r9d, ebp
mov rcx, r13
call fcn.1400017bc
jmp 0x140038e1c
mov r9d, 0xffb
lea rdx, str.write_syllable
mov r8d, 5
lea rcx, str.encountered_an_unexpected_element_level_space
call fcn.14000196f
jmp 0x140038e1c
movzx ecx, word [rsi + 0x38]
test cx, cx
je 0x140038e23
call fcn.140001339
mov r8, rax
lea rdx, str.___verbatim_text_at_element_level:_n_s___n___end_of_verbatim_text_n
mov rcx, r13
call fcn.1400017bc
jmp 0x140038e1c
mov eax, dword [rsi + 0x28]
and eax, 0x600
cmp eax, 0x200
jne 0x140038942
lea rdx, str.GreBeginNLBArea00___n
mov rcx, r13
call fcn.1400017bc
jmp 0x140038e1c
mov rax, qword [rsi + 8]
mov rdx, r14
xor r8d, r8d
nop dword [rax]
test rax, rax
je 0x14003897d
mov ecx, dword [rax + 0x3c]
movzx ecx, cl
cmp ecx, 7
je 0x14003898f
test r8d, r8d
jne 0x140038996
cmp ecx, 8
jne 0x140038996
test byte [rax + 0x24], 1
je 0x140038996
mov rax, qword [rax + 8]
lea r8d, [rcx - 7]
test rax, rax
jne 0x140038955
mov rdx, qword [rdx + 0x18]
test rdx, rdx
je 0x140038996
mov rax, qword [rdx + 0x28]
mov rax, qword [rax]
jmp 0x140038950
mov eax, 1
jmp 0x140038998
xor eax, eax
neg eax
lea rdx, str.GreEndNLBArea_d0___n
sbb r8d, r8d
and r8d, 3
jmp 0x140038e14
movzx ecx, word [rsi + 0x38]
test cx, cx
je 0x140038e23
call fcn.140001339
mov r8, rax
lea rdx, str.GreSetTextAboveLines_s___n
mov rcx, r13
call fcn.1400017bc
jmp 0x140038e1c
cmp byte [rsp + 0xd0], 1
je 0x140038e23
mov rdx, rsi
mov rcx, r14
call fcn.1400343a0
test eax, eax
je 0x140038ab6
lea r9, [rsp + 0x68]
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call fcn.140001564
movzx r9d, al
sub r9b, byte [rsi + 0x22]
cmp r9b, 3
jge 0x140038a3f
mov eax, 2
sub al, r9b
movzx ecx, al
mov eax, 0x24924925
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
movsx eax, cl
imul ecx, eax, 7
add cl, 7
add r9b, cl
mov rax, qword [rsp + 0xe0]
movzx ecx, byte [rax + 0xa1]
cmp r9b, cl
jle 0x140038a85
movzx eax, r9b
sub al, cl
dec al
movzx r8d, al
mov eax, 0x24924925
mul r8d
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 2
movsx eax, r8b
imul edx, eax, 7
mov eax, 0xfffffff9
sub al, dl
add r9b, al
mov r8, qword [rsp + 0xd8]
movzx ecx, r9b
mov edx, dword [rsp + 0x68]
call fcn.140034520
mov rcx, rax
mov rdx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputs]
mov rdx, rsi
mov rcx, r13
call fcn.140033290
jmp 0x140038e1c
mov rax, qword [rsi]
test rax, rax
je 0x140038acc
cmp byte [rax + 0x3c], 7
mov dword [rsp + 0x5c], 0x31
jne 0x140038ad4
mov dword [rsp + 0x5c], 0x30
mov r15d, dword [rsi + 0x24]
mov ebx, r15d
movzx edx, byte [rsi + 0x21]
mov r8d, r15d
shr r8d, 3
mov r14d, r15d
shr ebx, 2
and r8d, 1
and ebx, 1
mov ecx, ebx
call fcn.140030010
movsx esi, byte [rsi + 0x21]
test ebx, ebx
mov rbx, qword [rsp + 0x70]
mov r8d, r15d
movsx edi, al
mov ebp, 0x66
mov eax, 0x63
cmove ebp, eax
shr r8d, 1
movzx edx, byte [rbx + 0x20]
and r14d, 1
and r8d, 1
mov ecx, r14d
call fcn.140030010
movsx r9d, byte [rbx + 0x20]
lea rdx, str.GreChangeClef_c_d_c_d_c_d_d___n
movsx ecx, al
test r15b, 1
mov dword [rsp + 0x40], edi
mov eax, 0x63
mov dword [rsp + 0x38], esi
mov r8d, 0x66
mov dword [rsp + 0x30], ebp
cmove r8d, eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x28], ecx
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1400017bc
mov r14, qword [rsp + 0xc8]
mov rsi, rbx
jmp 0x140038e1c
cmp byte [rsp + 0xd0], 1
je 0x140038e23
mov rax, qword [rsp + 0xe8]
lea rdi, [0x14004b09a]
cmp rsi, qword [rax]
jne 0x140038bd9
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x140038bca
nop dword [rax]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140038bbf
cmp qword [rcx], 0
jne 0x140038bca
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140038bb0
jmp 0x140038bd9
lea rdx, str.GreLastOfScore
mov rcx, r13
call fcn.1400017bc
lea r9, [rsp + 0x6c]
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call fcn.140001564
test byte [rsi + 0x24], 1
movzx r10d, al
mov r9d, dword [rsp + 0x6c]
jne 0x140038c06
mov ecx, r9d
call fcn.14002fdc0
mov rdi, rax
mov r8, qword [rsp + 0xd8]
mov edx, r9d
movsx ebx, byte [rsi + 0x20]
movzx ecx, r10b
call fcn.140034520
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov r9, rdi
lea rdx, str.GreCustos_d_s_s___n
mov rcx, r13
call fcn.1400017bc
inc ebp
mov dword [rsp + 0x54], ebp
jmp 0x140038e1c
mov rax, qword [rsp + 0xe8]
cmp rsi, qword [rax]
jne 0x140038c89
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x140038c7a
nop dword [rax]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140038c6f
cmp qword [rcx], 0
jne 0x140038c7a
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140038c60
jmp 0x140038c89
lea rdx, str.GreLastOfScore
mov rcx, r13
call fcn.1400017bc
lea rdx, str.GreSuppressEolCustos____n
mov rcx, r13
call fcn.1400017bc
mov rax, qword [rsp + 0xd8]
mov dword [rax + 0x14], 1
jmp 0x140038e1c
mov rax, qword [rsp + 0xe8]
cmp rsi, qword [rax]
jne 0x140038ceb
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x140038cdc
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140038cd1
cmp qword [rcx], 0
jne 0x140038cdc
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140038cc2
jmp 0x140038ceb
lea rdx, str.GreLastOfScore
mov rcx, r13
call fcn.1400017bc
movzx eax, byte [rsp + 0xd0]
mov r9, rsi
mov rdx, qword [rsp + 0xe0]
mov r8, r14
mov rcx, r13
mov byte [rsp + 0x20], al
call fcn.140035260
jmp 0x140038e1c
cmp qword [rsi + 8], 0
jne 0x140038d57
test r15b, r15b
je 0x140038d37
movsx r8d, word [rsp + 0x58]
lea rdx, str.___nGreNextSyllableBeginsEUOUAE_hu_c___n
movzx r9d, r15b
mov rcx, r13
call fcn.1400017bc
test r12b, r12b
je 0x140038d4f
movsx r8d, r12b
lea rdx, str.___nGreUpcomingNewLineForcesCustos_c___n
mov rcx, r13
call fcn.1400017bc
mov dword [rsp + 0x64], 1
test dword [rsi + 0x28], 0x800
mov rdx, rbx
mov rcx, r13
cmove rdx, rdi
call fcn.1400017bc
jmp 0x140038e1c
mov rax, qword [rsp + 0xe8]
cmp rsi, qword [rax]
jne 0x140038db9
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x140038daa
nop dword [rax + rax]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x140038d9f
cmp qword [rcx], 0
jne 0x140038daa
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x140038d90
jmp 0x140038db9
lea rdx, str.GreLastOfScore
mov rcx, r13
call fcn.1400017bc
mov rax, qword [rsp + 0xe0]
mov r8, rsi
mov r9, qword [rsp + 0xd8]
mov rdx, r14
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140035c40
mov rcx, qword [rsi + 8]
add ebp, eax
mov dword [rsp + 0x54], ebp
test rcx, rcx
je 0x140038e1c
mov eax, dword [rcx + 0x3c]
movzx eax, al
cmp eax, 3
je case.0x14003885e.6
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x140038e1c
cmp eax, 0xd
jne 0x140038e1c
cmp byte [rdx + 0x3c], 3
jne 0x140038e1c
lea rdx, str.GreEndOfElement00_u___n
mov r8d, ebp
mov rcx, r13
call fcn.1400017bc
lea rdx, [0x140000000]
mov rsi, qword [rsi + 8]
lea rbx, str.___n___nGreNewParLine____n___n___n
mov ebp, dword [rsp + 0x54]
lea rdi, str.___n___nGreNewLine____n___n___n
movzx r15d, byte [rsp + 0x50]
mov qword [rsp + 0x70], rsi
test rsi, rsi
jne 0x140038760
cmp dword [rsp + 0x64], 0
jne 0x140038e8d
cmp byte [rsp + 0x50], 0
je 0x140038e75
movsx r8d, word [rsp + 0x58]
lea rdx, str.___nGreNextSyllableBeginsEUOUAE_hu_c___n
mov r9d, dword [rsp + 0x60]
mov rcx, r13
call fcn.1400017bc
test r12b, r12b
je 0x140038e8d
movsx r8d, r12b
lea rdx, str.___nGreUpcomingNewLineForcesCustos_c___n
mov rcx, r13
call fcn.1400017bc
lea rdx, [0x1400cbffc]
mov rcx, r13
call fcn.1400017bc
mov eax, dword [r14 + 0x38]
mov r12, qword [rsp + 0x80]
and eax, 0x1c0
cmp eax, 0xc0
je 0x140038ec1
cmp eax, 0x100
je 0x140038ec1
cmp qword [r14], 0
jne 0x140038ed0
lea rdx, [0x1400cb90c]
mov rcx, r13
call fcn.1400017bc
mov rdx, r14
mov rcx, r13
call fcn.140031920
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x88]
add rsp, 0x90
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret