Function at 0x14003f970
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
lea rbp, [rax - 0xe8]
sub rsp, 0x1d0
mov rsi, qword [rbp + 0x118]
mov r11, rdx
mov rdi, rcx
mov eax, dword [rsi]
mov edx, dword [rsi + 0x5c]
mov dword [rbp + 0x118], edx
cmp eax, dword [rsi + 4]
jae 0x140045995
xor ebx, ebx
mov dword [rbp - 0x80], 0xfffffc1b
mov ecx, dword [rbp + 0x138]
inc eax
mov edx, 2
mov dword [rsi], eax
cmp ecx, dword [rsi + 8]
jae 0x140047e92
mov r8d, dword [rbp + 0x120]
mov dword [rbp - 0x7c], r8d
test byte [rbp + 0x130], dl
je 0x14003fa03
mov rax, qword [rbp + 0x128]
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x128], rax
mov r10d, dword [rbp + 0x110]
jmp 0x14003fa36
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov ecx, dword [rbp + 0x138]
jmp 0x14003fa3b
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov ecx, dword [rbp + 0x138]
mov eax, 2
mov rdx, qword [rbp + 0x100]
movzx r9d, byte [r11]
mov dword [rsp + 0x70], ebx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x5c], r9d
cmp r9d, 0x38
jg 0x140042012
je 0x1400418ba
cmp r9d, 0x18
jg 0x140040a78
je 0x140040d2a
cmp r9d, 0xb
jg 0x14004031c
je 0x140040232
cmp r9d, 6
jg 0x14003fe5f
je 0x14003fd70
test r9d, r9d
je 0x14004563d
cmp r9d, 1
je 0x140040e2e
cmp r9d, eax
je 0x14003fd4a
cmp r9d, 3
je 0x14003fd3b
jle 0x140040370
cmp r9d, 5
jg 0x140040370
cmp dword [rbp + 0x118], ebx
je 0x14003fc90
cmp rdi, qword [rsi + 0x88]
je 0x14003fbdd
lea r8, [rdi - 1]
jmp 0x14003fb18
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x14003fa3b
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044ef4
dec r8
mov al, byte [r8]
and al, 0xc0
cmp al, 0x80
je 0x14003fb15
cmp r8, qword [rsi + 0xa8]
jae 0x14003fb31
mov qword [rsi + 0xa8], r8
movzx edx, byte [r8]
cmp edx, 0xc0
jb 0x14003fbc5
movzx ecx, byte [r8 + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003fb58
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003fbc1
movzx eax, byte [r8 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003fb74
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003fbc1
movzx eax, byte [r8 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fb90
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003fbc1
movzx eax, byte [r8 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fbac
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003fbc1
movzx eax, byte [r8 + 5]
shl ecx, 6
and edx, 1
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x14003fbdd
mov rax, qword [rsi + 0x48]
mov r8d, 1
test byte [rdx + rax], 0x10
jne 0x14003fbe0
mov r8d, ebx
cmp rdi, qword [rsi + 0x90]
jae 0x14003fcd0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x14003fc77
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003fc0e
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003fc73
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003fc29
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003fc73
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fc44
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003fc73
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fc5f
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003fc73
movzx eax, byte [rdi + 5]
shl ecx, 6
and edx, 1
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x14003fcf5
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x14003fcf5
mov ecx, 1
jmp 0x14003fd0a
cmp rdi, qword [rsi + 0x88]
jne 0x14003fc9e
mov r8d, ebx
jmp 0x14003fcc7
cmp rdi, qword [rsi + 0xa8]
ja 0x14003fcb2
lea rax, [rdi - 1]
mov qword [rsi + 0xa8], rax
mov rcx, qword [rsi + 0x48]
movzx eax, byte [rdi - 1]
movzx r8d, byte [rax + rcx]
shr r8d, 4
and r8d, 1
cmp rdi, qword [rsi + 0x90]
jb 0x14003fcf9
cmp dword [rsi + 0xb0], ebx
je 0x14003fcf5
cmp rdi, qword [rsi + 0xa8]
jbe 0x14003fcf5
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
mov ecx, ebx
jmp 0x14003fd0a
mov rcx, qword [rsi + 0x48]
movzx eax, byte [rdi]
movzx ecx, byte [rax + rcx]
shr ecx, 4
and ecx, 1
mov al, byte [r11]
inc r11
mov qword [rbp + 0xf8], r11
cmp al, 5
jne 0x14003fd30
cmp ecx, r8d
je 0x140047b8a
mov rdx, qword [rbp + 0x100]
jmp 0x140044ee7
cmp ecx, r8d
jne 0x140047b8a
jmp 0x14003fd24
mov rdx, rdi
mov qword [rbp + 0x100], rdx
jmp 0x140040e3b
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdi, rax
jne 0x140047aa7
inc r11
mov qword [rbp + 0xf8], r11
jmp 0x140044ef4
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fe41
cmp edx, 0xc0
jb 0x14003fe41
test dl, 0x20
jne 0x14003fdb6
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fe41
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x14003fddf
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003fe41
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fe02
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fe41
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fe25
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fe41
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x14003fe57
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140047b8a
inc r11
jmp 0x14004569d
sub r9d, 7
je 0x140040142
dec r9d
je 0x140040058
dec r9d
je 0x14003ff6e
dec r9d
jne 0x140040370
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003ff55
cmp edx, 0xc0
jb 0x14003ff55
test dl, 0x20
jne 0x14003feca
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003ff55
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x14003fef3
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003ff55
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003ff16
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003ff55
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003ff39
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003ff55
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x14003fe57
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x14003fe51
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004003f
cmp edx, 0xc0
jb 0x14004003f
test dl, 0x20
jne 0x14003ffb4
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004003f
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x14003ffdd
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004003f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040000
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004003f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040023
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004003f
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x140047b8a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x140040227
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040129
cmp edx, 0xc0
jb 0x140040129
test dl, 0x20
jne 0x14004009e
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040129
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x1400400c7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140040129
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400400ea
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040129
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004010d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040129
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x14003fe57
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x14003fe51
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040213
cmp edx, 0xc0
jb 0x140040213
test dl, 0x20
jne 0x140040188
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040213
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x1400401b1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140040213
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400401d4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040213
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400401f7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040213
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x140047b8a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x140047b8a
jmp 0x14003fe57
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040303
cmp edx, 0xc0
jb 0x140040303
test dl, 0x20
jne 0x140040278
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040303
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x1400402a1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140040303
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400402c4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040303
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400402e7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040303
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x140047b8a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x140040227
sub r9d, 0xc
je 0x1400409c4
dec r9d
je 0x140040a32
dec r9d
je 0x14004097a
sub r9d, 3
je 0x140040844
dec r9d
je 0x1400406f4
dec r9d
je 0x1400405a4
dec r9d
je 0x14004048f
dec r9d
je 0x14004037a
mov eax, 2
cmp r9d, eax
je 0x140040c71
mov eax, 0xfffffffb
jmp 0x14004599c
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004044f
cmp edx, 0xc0
jb 0x14004044f
test dl, 0x20
jne 0x1400403c0
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004044f
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x1400403ed
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040454
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040410
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004044f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040433
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004044f
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, 2
cmp edx, 0xa
jb 0x140047b8a
cmp edx, 0xd
jbe 0x140040bea
cmp edx, 0x85
je 0x140040bea
cmp edx, 0x2027
jbe 0x140047b8a
cmp edx, 0x2029
ja 0x140047b8a
jmp 0x140040bea
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040564
cmp edx, 0xc0
jb 0x140040564
test dl, 0x20
jne 0x1400404d5
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040564
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140040502
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040569
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040525
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040564
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040548
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040564
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, 2
cmp edx, 0xa
jb 0x140040bea
cmp edx, 0xd
jbe 0x140047b8a
cmp edx, 0x85
je 0x140047b8a
cmp edx, 0x2027
jbe 0x140040bea
cmp edx, 0x2029
jbe 0x140047b8a
jmp 0x140040bea
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040679
cmp edx, 0xc0
jb 0x140040679
test dl, 0x20
jne 0x1400405ea
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040679
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140040617
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14004067e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004063a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040679
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004065d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040679
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, 2
mov ecx, 0x180e
cmp edx, ecx
ja 0x1400406b3
je 0x140040bea
cmp edx, 9
je 0x140040bea
cmp edx, 0x20
je 0x140040bea
cmp edx, 0xa0
je 0x140040bea
cmp edx, 0x1680
jmp 0x1400406e9
cmp edx, 0x2000
jb 0x140047b8a
cmp edx, 0x200a
jbe 0x140040bea
cmp edx, 0x202f
je 0x140040bea
cmp edx, 0x205f
je 0x140040bea
cmp edx, 0x3000
jne 0x140047b8a
jmp 0x140040bea
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400407c9
cmp edx, 0xc0
jb 0x1400407c9
test dl, 0x20
jne 0x14004073a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400407c9
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140040767
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x1400407ce
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004078a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400407c9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400407ad
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400407c9
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, 2
mov ecx, 0x180e
cmp edx, ecx
ja 0x140040803
je 0x140047b8a
cmp edx, 9
je 0x140047b8a
cmp edx, 0x20
je 0x140047b8a
cmp edx, 0xa0
je 0x140047b8a
cmp edx, 0x1680
jmp 0x140040839
cmp edx, 0x2000
jb 0x140040bea
cmp edx, 0x200a
jbe 0x140047b8a
cmp edx, 0x202f
je 0x140047b8a
cmp edx, 0x205f
je 0x140047b8a
cmp edx, 0x3000
je 0x140047b8a
jmp 0x140040bea
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004091c
cmp edx, 0xc0
jb 0x14004091c
test dl, 0x20
jne 0x14004088d
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004091c
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x1400408ba
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040921
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400408dd
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004091c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040900
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004091c
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, 2
cmp edx, 0xa
je 0x14004095f
jbe 0x140047b8a
cmp edx, 0xc
jbe 0x140040956
cmp edx, 0xd
je 0x14004096b
cmp edx, 0x85
je 0x140040956
cmp edx, 0x2027
jbe 0x140047b8a
cmp edx, 0x2029
ja 0x140047b8a
cmp dword [rsi + 0x78], ebx
jne 0x140047b8a
mov r8d, dword [rbp + 0x120]
jmp 0x140040bea
cmp rdi, r8
jae 0x14004095f
cmp byte [rdi], 0xa
jne 0x14004095f
inc rdi
jmp 0x14004095f
mov rax, rdi
inc rdi
cmp rax, qword [rsi + 0x90]
jb 0x14003fd61
cmp dword [rsi + 0xb0], ebx
je 0x140047b8a
cmp rdi, qword [rsi + 0xa8]
jbe 0x140047b8a
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jle 0x140047b8a
mov ebx, 0xfffffff4
jmp 0x140047b8a
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040a02
cmp rdi, qword [rsi + 0x90]
jae 0x140040a32
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035be0
test eax, eax
jne 0x140047b8a
mov r11, qword [rbp + 0xf8]
jmp 0x140040a32
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140040a32
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140040a32
cmp dword [rsi + 0x24], 1
je 0x140047b8a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047b8a
mov rcx, qword [rsi + 0x90]
mov rax, rdi
inc rdi
cmp rax, rcx
jae 0x14004098d
cmp dword [rbp + 0x118], ebx
je 0x140040a62
jmp 0x140040a5d
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140040a62
inc rdi
cmp rdi, rcx
jb 0x140040a52
inc r11
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x140044ee0
cmp r9d, 0x28
jg 0x1400412c8
je 0x1400412a6
cmp r9d, 0x1d
jg 0x1400410c6
je 0x140040e60
sub r9d, 0x19
je 0x140040e40
dec r9d
je 0x140040d69
dec r9d
je 0x140040b89
dec r9d
jne 0x140040370
cmp dword [rbp + 0x118], ebx
je 0x140040b61
mov r9d, 1
add r11, r9
mov edx, r9d
movzx eax, byte [r11]
mov qword [rbp + 0xf8], r11
cmp eax, 0xc0
jb 0x140040b12
test al, 0x20
jne 0x140040af1
lea edx, [r9 + 1]
jmp 0x140040b12
test al, 0x10
jne 0x140040afc
mov edx, 3
jmp 0x140040b12
test al, 8
jne 0x140040b07
mov edx, 4
jmp 0x140040b12
and al, 4
neg al
sbb edx, edx
neg edx
add edx, 5
mov rcx, qword [rsi + 0x90]
movsxd rax, edx
sub rcx, rdi
cmp rax, rcx
jg 0x1400459af
mov ecx, dword [rbp + 0x138]
mov eax, 2
test edx, edx
jle 0x14003fa3b
mov cl, byte [r11]
mov al, byte [rdi]
add r11, r9
sub edx, r9d
add rdi, r9
mov qword [rbp + 0xf8], r11
cmp cl, al
jne 0x140047b8a
test edx, edx
jg 0x140040b3b
jmp 0x1400456a4
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x14004098d
mov al, byte [rdi]
inc rdi
cmp byte [r11 + 1], al
jne 0x140047b8a
jmp 0x140040e4c
mov eax, 2
test al, r8b
je 0x140040c5f
cmp rdi, qword [rsi + 0x90]
jae 0x140040c2f
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040bf9
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035be0
test eax, eax
je 0x140047aa7
mov r11, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
mov eax, 2
mov r10d, dword [rbp + 0x110]
inc r11
mov qword [rbp + 0xf8], r11
jmp 0x14003fa1a
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140047aa7
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140047aa7
cmp dword [rsi + 0x24], 1
je 0x140040bde
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140047aa7
jmp 0x140040bde
cmp dword [rsi + 0x58], ebx
jne 0x140047b8a
cmp dword [rsi + 0xb0], ebx
je 0x140040be3
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040be3
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
jmp 0x140040be3
cmp dword [rsi + 0x58], ebx
jne 0x140047b8a
cmp dword [rsi + 0x68], ebx
jne 0x140040d2a
cmp rdi, qword [rsi + 0x90]
jae 0x140040cf8
mov edx, dword [rsi + 0x20]
lea r9, [rsi + 0x24]
test edx, edx
je 0x140040caf
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035be0
test eax, eax
je 0x140047b8a
mov r11, qword [rbp + 0xf8]
jmp 0x140040ce2
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140047b8a
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140047b8a
cmp dword [r9], 1
je 0x140040ce2
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140047b8a
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
jne 0x140047b8a
cmp dword [rsi + 0xb0], ebx
je 0x140040a62
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040a62
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
jmp 0x140040a62
cmp rdi, qword [rsi + 0x90]
jb 0x140047b8a
cmp dword [rsi + 0xb0], ebx
je 0x140040e3b
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040e3b
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
jmp 0x140040e3b
cmp dword [rsi + 0x54], ebx
je 0x140040d7b
cmp rdi, qword [rsi + 0x88]
je 0x140047aa7
mov eax, 2
test al, r8b
je 0x140040e2e
mov rax, qword [rsi + 0x88]
cmp rdi, rax
je 0x140040e26
cmp rdi, qword [rsi + 0x90]
je 0x140047aa7
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040deb
cmp rdi, rax
jbe 0x140047aa7
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x88]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035a50
test eax, eax
je 0x140047aa7
mov r11, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
jmp 0x140040e26
movsxd rdx, dword [rsi + 0x24]
mov rax, qword [rsi + 0x88]
lea rcx, [rdx + rax]
cmp rdi, rcx
jb 0x140047aa7
mov al, byte [rsi + 0x38]
mov rcx, rdi
sub rcx, rdx
cmp byte [rcx], al
jne 0x140047aa7
cmp dword [rsi + 0x24], 1
je 0x140040e26
mov al, byte [rsi + 0x39]
cmp byte [rcx + 1], al
jne 0x140047aa7
inc r11
jmp 0x1400449e4
cmp rdi, qword [rsi + 0x88]
jne 0x140047aa7
inc r11
jmp 0x140040e54
movzx r8d, byte [r11 + 1]
mov dword [rbp + 0x120], r8d
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
jmp 0x14003fa42
cmp dword [rbp + 0x118], ebx
je 0x14004107a
inc r11
mov eax, 1
movzx r9d, byte [r11]
mov r8d, r9d
cmp r9d, 0xc0
jb 0x140040f50
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r9b, 0x20
jne 0x140040eb0
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140040f50
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 0x10
jne 0x140040eda
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140040f50
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 8
jne 0x140040f04
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140040f50
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 4
jne 0x140040f2e
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140040f50
movzx eax, byte [r11 + 5]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
mov eax, 6
movsxd r10, eax
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp r10, rax
jg 0x140046518
cmp r8d, 0x80
jae 0x140040f9d
mov rdx, qword [rsi + 0x40]
movzx ecx, byte [rdi]
inc r11
mov r8b, byte [r9 + rdx]
inc rdi
mov qword [rbp + 0xf8], r11
cmp r8b, byte [rcx + rdx]
jne 0x140047b8a
mov r10d, dword [rbp + 0x110]
jmp 0x14003fd24
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140041059
test dl, 0x20
jne 0x140040fca
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140041059
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140040ff7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14004105e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004101a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140041059
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004103d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140041059
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, 2
add r11, r10
mov qword [rbp + 0xf8], r11
cmp r8d, edx
jne 0x140047b8a
mov r10d, dword [rbp + 0x110]
jmp 0x1400410ba
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x14004098d
mov r8, qword [rsi + 0x40]
movzx ecx, byte [rdi]
movzx eax, byte [r11 + 1]
mov dl, byte [rax + r8]
inc rdi
cmp dl, byte [rcx + r8]
jne 0x140047b8a
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
mov r8d, dword [rbp + 0x120]
jmp 0x14003fa1a
cmp r9d, 0x1e
je 0x140041163
jle 0x140040370
cmp r9d, 0x24
jle 0x140041112
cmp r9d, 0x26
jle 0x14004136d
cmp r9d, 0x27
jne 0x140040370
movzx r10d, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl r10d, 8
or r10d, eax
add r11, 3
mov dword [rsp + 0x5c], r10d
mov edx, r10d
jmp 0x1400413cb
lea eax, [r9 - 0x1f]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x99898]
movsx edx, byte [rcx + rax + 0x997d8]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r10d
test r10d, r10d
jne 0x1400413cf
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x1400413cf
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004124d
cmp r8d, 0xc0
jb 0x14004124d
test r8b, 0x20
jne 0x1400411af
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004124d
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x1400411dd
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004124d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041205
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004124d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004122d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004124d
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
test byte [rbp + 0x120], 1
je 0x140041288
cmp r8d, 0x100
jae 0x140041268
mov rax, qword [rsi + 0x40]
movzx r8d, byte [rax + r8]
movzx ecx, byte [r11 + 1]
mov rax, qword [rsi + 0x40]
add r11, 2
movzx edx, byte [rax + rcx]
mov qword [rbp + 0xf8], r11
cmp edx, r8d
jmp 0x14003fd1e
movzx eax, byte [r11 + 1]
add r11, 2
mov qword [rbp + 0xf8], r11
cmp eax, r8d
je 0x140047b8a
jmp 0x140044ee7
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x58], ebx
mov edx, ebx
mov dword [rsp + 0x70], 1
inc r11
jmp 0x1400413cf
cmp r9d, 0x33
jg 0x140041846
cmp r9d, 0x32
jge 0x140041819
cmp r9d, 0x29
je 0x1400413af
cmp r9d, 0x2a
je 0x14004139f
cmp r9d, 0x2b
je 0x140041365
jle 0x140040370
cmp r9d, 0x31
jg 0x140040370
lea eax, [r9 - 0x2c]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x99898]
movsx edx, byte [rcx + rax + 0x997d8]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov r8d, dword [rbp + 0x120]
mov qword [rbp + 0xf8], r11
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r10d
test r10d, r10d
jne 0x1400418e9
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x1400418e9
mov dword [rsp + 0x70], 1
movzx r10d, byte [r11 + 1]
movzx eax, byte [r11 + 2]
mov r8d, ebx
shl r10d, 8
mov edx, ebx
mov dword [rsp + 0x58], ebx
or r10d, eax
cmp r9b, 0x26
sete r8b
mov dword [rsp + 0x5c], r10d
add r11, 3
mov dword [rsp + 0x60], r8d
jmp 0x1400413cf
mov r10d, 1
mov dword [rsp + 0x5c], r10d
jmp 0x1400412b2
mov eax, 0x7fffffff
mov dword [rsp + 0x70], 1
mov edx, 1
mov r10d, eax
mov dword [rsp + 0x5c], eax
inc r11
mov dword [rsp + 0x58], edx
movzx r8d, byte [r11]
mov dword [rsp + 0x50], r8d
cmp dword [rbp + 0x118], ebx
je 0x1400415fc
mov eax, 1
mov r9, r11
mov qword [rbp - 0x78], r11
mov dword [rsp + 0x68], eax
cmp r8d, 0xc0
jb 0x1400414d2
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041429
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x1400414c9
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041453
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x1400414c9
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x14004147d
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x1400414c9
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400414a7
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x1400414c9
movzx eax, byte [r11 + 5]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
mov eax, 6
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x68], eax
movsxd rcx, eax
add r11, rcx
mov qword [rsp + 0x78], rcx
mov qword [rbp + 0xf8], r11
cmp eax, 1
jle 0x140041606
mov dword [rsp + 0x50], 1
cmp edx, 1
jl 0x14004154c
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140046518
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.140014630
test eax, eax
jne 0x140046518
mov r8d, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0x58]
mov r9, qword [rbp - 0x78]
inc r8d
add rdi, rcx
mov dword [rsp + 0x50], r8d
cmp r8d, edx
jle 0x1400414fa
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x5c]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
cmp edx, eax
je 0x14003fa30
cmp dword [rsp + 0x60], ebx
jne 0x140045abd
mov qword [rsp + 0x50], rdi
cmp edx, eax
jge 0x1400415e6
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x1400415b8
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.140014630
test eax, eax
jne 0x1400415b8
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
mov r9, qword [rbp - 0x78]
inc edx
add rdi, rcx
mov dword [rsp + 0x58], edx
cmp edx, dword [rsp + 0x5c]
jl 0x140041579
jmp 0x1400415e6
cmp dword [rsi + 0xb0], ebx
je 0x1400415e6
cmp rdi, qword [rsi + 0x90]
jb 0x1400415e6
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400415e6
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
cmp dword [rsp + 0x70], ebx
je 0x1400459e5
mov r11, qword [rbp + 0xf8]
jmp 0x140040f91
inc r11
mov qword [rbp + 0xf8], r11
mov r9d, dword [rbp + 0x120]
test r9b, 1
je 0x140041758
mov r11, qword [rsi + 0x40]
movzx r9d, byte [r8 + r11]
mov r8d, 1
mov dword [rsp + 0x50], r9d
cmp edx, r8d
jl 0x140041659
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x140047b8a
inc r8d
cmp r8d, edx
jle 0x140041630
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003fae8
cmp dword [rsp + 0x60], ebx
jne 0x140045bc5
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x1400416d0
cmp rdi, qword [rsi + 0x90]
jae 0x1400416a6
movzx eax, byte [rdi]
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x1400416cb
inc edx
inc rdi
cmp edx, r10d
jl 0x140041684
jmp 0x1400416cb
cmp dword [rsi + 0xb0], ebx
je 0x1400416cb
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400416cb
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x1400415f0
cmp rdi, rax
jb 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rbp + 0x118], eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
dec rdi
test eax, eax
jne 0x14004599c
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x1400416f1
jmp 0x140047b8a
mov ecx, 1
cmp edx, ecx
jl 0x140041783
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp r8d, eax
jne 0x140047b8a
inc ecx
cmp ecx, edx
jle 0x140041761
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003faef
cmp dword [rsp + 0x60], ebx
jne 0x140045ce6
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x1400417f5
cmp rdi, qword [rsi + 0x90]
jae 0x1400417cb
movzx eax, byte [rdi]
cmp r8d, eax
jne 0x1400417f0
inc edx
inc rdi
cmp edx, r10d
jl 0x1400417ae
jmp 0x1400417f0
cmp dword [rsi + 0xb0], ebx
je 0x1400417f0
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400417f0
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x140045c67
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
mov rdx, qword [rbp + 0x100]
jmp 0x140044ef4
movzx r10d, byte [r11 + 1]
movzx eax, byte [r11 + 2]
mov r8d, ebx
shl r10d, 8
or r10d, eax
cmp r9b, 0x33
sete r8b
mov dword [rsp + 0x60], r8d
mov r8d, dword [rbp + 0x120]
jmp 0x1400418d3
sub r9d, 0x34
je 0x1400418a0
dec r9d
je 0x140041881
dec r9d
je 0x140041876
dec r9d
jne 0x140040370
mov dword [rsp + 0x70], 1
mov edx, ebx
mov dword [rsp + 0x58], ebx
lea r10d, [r9 + 1]
inc r11
jmp 0x1400418dd
mov edx, 1
mov dword [rsp + 0x58], edx
jmp 0x140041887
mov edx, ebx
mov dword [rsp + 0x58], ebx
mov eax, 0x7fffffff
mov dword [rsp + 0x70], 1
inc r11
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x1400418e2
movzx r10d, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl r10d, 8
or r10d, eax
mov edx, r10d
mov dword [rsp + 0x58], edx
jmp 0x1400418d9
movzx r10d, byte [r11 + 1]
movzx eax, byte [r11 + 2]
mov dword [rsp + 0x70], 1
shl r10d, 8
or r10d, eax
mov dword [rsp + 0x58], ebx
mov edx, ebx
add r11, 3
mov dword [rsp + 0x5c], r10d
mov qword [rbp + 0xf8], r11
mov rcx, qword [rbp + 0xf8]
movzx r11d, byte [r11]
inc rcx
mov dword [rsp + 0x50], r11d
mov qword [rbp + 0xf8], rcx
test r8b, 1
je 0x140041cdf
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
movzx r11d, byte [r11 + r9]
mov dword [rsp + 0x50], r11d
test eax, eax
je 0x140041ab2
mov r9d, 1
cmp edx, r9d
jl 0x140041aeb
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140041a16
test r8b, 0x20
jne 0x140041978
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140041a16
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x1400419a6
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140041a16
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400419ce
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140041a16
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400419f6
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140041a16
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
cmp r8d, 0x100
jae 0x140041a28
mov rcx, qword [rsi + 0x40]
movzx r8d, byte [r8 + rcx]
cmp r11d, r8d
je 0x140047b8a
inc r9d
cmp r9d, edx
jle 0x140041938
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
cmp edx, r10d
je 0x14003fa22
cmp dword [rsp + 0x60], ebx
jne 0x140045e11
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp dword [rbp + 0x118], ebx
jne 0x140041be9
cmp edx, r10d
jge 0x140041c55
cmp rdi, qword [rsi + 0x90]
jae 0x140041c2b
movzx eax, byte [rdi]
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140041c50
inc edx
inc rdi
cmp edx, r10d
jl 0x140041a85
jmp 0x140041c50
mov r8d, 1
cmp edx, r8d
jl 0x140041a4e
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140047b8a
inc r8d
cmp r8d, edx
jle 0x140041abd
jmp 0x140041a41
mov r9, qword [rsi + 0x40]
jmp 0x140041a55
mov ecx, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140041bf4
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140041bce
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041b3b
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
mov ecx, 2
shl eax, 6
jmp 0x140041bcb
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041b61
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
mov ecx, 3
shl eax, 0xc
jmp 0x140041bcb
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041b87
and r8d, 7
mov eax, r8d
mov r8d, ecx
mov ecx, 4
shl eax, 0x12
jmp 0x140041bcb
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041bad
and r8d, 3
mov eax, r8d
mov r8d, ecx
mov ecx, 5
shl eax, 0x18
jmp 0x140041bcb
movzx eax, byte [rdi + 5]
shl ecx, 6
and r8d, 1
and eax, 0x3f
or ecx, eax
mov eax, r8d
mov r8d, ecx
shl eax, 0x1e
mov ecx, 6
or r8d, eax
cmp r8d, 0x100
jae 0x140041bdc
movzx r8d, byte [r8 + r9]
cmp r11d, r8d
je 0x140041c14
movsxd rax, ecx
add rdi, rax
inc edx
cmp edx, r10d
jl 0x140041af4
jmp 0x140041c14
cmp dword [rsi + 0xb0], ebx
je 0x140041c14
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041c14
mov dword [rsi + 0x74], ecx
cmp dword [rsi + 0xb0], ecx
jg 0x1400409ba
cmp dword [rsp + 0x70], ebx
jne 0x1400415f0
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140045dbe
cmp dword [rsi + 0xb0], ebx
je 0x140041c50
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041c50
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x140041fff
cmp rdi, rax
jb 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rbp + 0x118], eax
mov r9, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov eax, dword [rbp + 0x118]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x140041c76
jmp 0x140047b8a
mov r9d, dword [rbp + 0x118]
test r9d, r9d
je 0x140041e60
mov r9d, 1
cmp edx, r9d
jl 0x140041dff
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140041ddc
test r8b, 0x20
jne 0x140041d3e
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140041ddc
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x140041d6c
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140041ddc
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041d94
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140041ddc
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041dbc
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140041ddc
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
cmp r11d, r8d
je 0x140047b8a
inc r9d
cmp r9d, edx
jle 0x140041cfe
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
mov r9d, dword [rbp + 0x118]
mov eax, 2
cmp edx, r10d
je 0x14003fa0c
cmp dword [rsp + 0x60], ebx
jne 0x140046157
mov rax, rdi
mov qword [rsp + 0x50], rax
test r9d, r9d
jne 0x140041f89
cmp edx, r10d
jge 0x140041ff5
cmp rdi, qword [rsi + 0x90]
jae 0x140041fcb
movzx eax, byte [rdi]
cmp r11d, eax
je 0x140041ff0
inc edx
inc rdi
cmp edx, r10d
jl 0x140041e38
jmp 0x140041ff0
mov ecx, 1
cmp edx, ecx
jl 0x140041e8b
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp r11d, eax
je 0x140047b8a
inc ecx
cmp ecx, edx
jle 0x140041e69
mov rcx, qword [rbp + 0xf8]
jmp 0x140041e06
mov eax, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140041f94
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140041f7d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041ee1
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140041f7d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041f0a
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140041f7d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041f33
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140041f7d
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041f5c
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140041f7d
movzx eax, byte [rdi + 5]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
mov eax, 6
cmp r11d, r8d
je 0x140041fb4
cdqe
add rdi, rax
inc edx
cmp edx, r10d
jl 0x140041e97
jmp 0x140041fb4
cmp dword [rsi + 0xb0], ebx
je 0x140041fb4
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041fb4
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jg 0x1400409ba
cmp dword [rsp + 0x70], ebx
jne 0x1400415f0
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046081
cmp dword [rsi + 0xb0], ebx
je 0x140041ff0
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041ff0
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x1400460d4
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x1400456a4
cmp r9d, 0x5e
jg 0x140044efe
je 0x140045846
cmp r9d, 0x52
jg 0x1400447df
je 0x14004749b
cmp r9d, 0x44
jg 0x14004214a
je 0x14004213d
cmp r9d, 0x39
jl 0x140040370
cmp r9d, 0x3e
jle 0x1400420f0
cmp r9d, 0x40
jle 0x1400420c8
cmp r9d, 0x41
je 0x14004209d
cmp r9d, 0x42
je 0x14004208c
cmp r9d, 0x43
jne 0x140040370
lea r10d, [r9 - 0x42]
mov eax, 0x7fffffff
inc r11
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
jmp 0x14004284b
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
inc r11
jmp 0x140042844
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
mov dword [rsp + 0x60], 1
shl ecx, 8
or ecx, eax
mov r10d, ecx
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], ecx
add r11, 3
jmp 0x140042853
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
mov r8d, ebx
shl ecx, 8
mov r10d, ebx
mov dword [rsp + 0x58], ebx
or ecx, eax
cmp r9b, 0x40
sete r8b
mov dword [rsp + 0x60], r8d
jmp 0x1400420bb
lea eax, [r9 - 0x39]
inc r11
movzx r8d, al
mov ecx, eax
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x997d8]
movsx eax, byte [rcx + rax + 0x99898]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
test eax, eax
jne 0x140042853
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
jmp 0x140042853
mov dword [rsp + 0x5c], 1
jmp 0x140042095
cmp r9d, 0x45
je 0x14004282d
cmp r9d, 0x4d
jle 0x140040370
cmp r9d, 0x4f
jle 0x140042567
cmp r9d, 0x50
je 0x140042334
cmp r9d, 0x51
jne 0x140040370
movzx eax, byte [r11 + 2]
movzx ecx, byte [r11 + 1]
add r11, 3
shl ecx, 8
mov qword [rbp + 0xf8], r11
or ecx, eax
mov eax, dword [rbp + 0x110]
lea r10d, [rcx + rcx]
mov dword [rsp + 0x58], r10d
cmp r10d, eax
jge 0x1400421bf
mov rcx, qword [rsi + 0x10]
movsxd rax, r10d
cmp dword [rcx + rax*4], ebx
jl 0x1400421bf
mov edx, dword [rcx + rax*4 + 4]
sub edx, dword [rcx + rax*4]
jmp 0x1400421d2
cmp dword [rsi + 0x60], ebx
je 0x1400421c8
mov edx, ebx
jmp 0x1400421d2
mov edx, dword [rsi + 0x90]
sub edx, edi
inc edx
mov al, byte [r11]
mov dword [rsp + 0x60], edx
cmp al, 0x46
jb 0x140042309
cmp al, 0x4b
jbe 0x14004222e
cmp al, 0x4d
ja 0x140042309
cmp byte [r11], 0x4d
movzx ecx, byte [r11 + 1]
movzx r8d, byte [r11 + 3]
mov eax, ebx
sete al
shl ecx, 8
mov dword [rsp + 0x5c], eax
movzx eax, byte [r11 + 2]
shl r8d, 8
or ecx, eax
movzx eax, byte [r11 + 4]
or r8d, eax
mov eax, 0x7fffffff
cmove r8d, eax
add r11, 5
mov dword [rsp + 0x68], r8d
jmp 0x14004226e
movzx eax, byte [r11]
lea r8, [0x140000000]
inc r11
sub eax, 0x46
movzx r9d, al
movsx ecx, byte [rax + r8 + 0x997d8]
movsx eax, byte [rax + r8 + 0x99898]
and r9d, 1
mov r8d, 0x7fffffff
test eax, eax
mov dword [rsp + 0x5c], r9d
cmove eax, r8d
mov dword [rsp + 0x68], eax
mov r8d, dword [rbp + 0x120]
mov dword [rsp + 0x50], ecx
mov qword [rbp + 0xf8], r11
mov eax, 2
test edx, edx
je 0x14003fa13
mov dword [rsp + 0x70], 1
cmp ecx, 1
jl 0x1400422e3
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035e50
test eax, eax
je 0x140046518
mov eax, dword [rsp + 0x70]
movsxd rdx, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
inc eax
add rdi, rdx
mov dword [rsp + 0x70], eax
cmp eax, ecx
jle 0x14004229a
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x140040f91
cmp dword [rsp + 0x5c], ebx
je 0x14004641e
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x1400463ce
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
call fcn.140035e50
test eax, eax
je 0x140046518
movsxd rax, dword [rsp + 0x60]
add rdi, rax
jmp 0x1400415f0
movzx eax, byte [r11 + 1]
lea r9, [r11 + 3]
shl eax, 8
mov qword [rbp - 0x78], r9
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
mov qword [rbp + 0xf8], r11
mov al, byte [r11]
cmp al, 0x46
jb 0x140042401
cmp al, 0x4b
jbe 0x1400423b5
cmp al, 0x4d
ja 0x140042401
movzx ecx, byte [r11 + 1]
movzx edx, byte [r11 + 3]
cmp al, 0x4d
movzx eax, byte [r11 + 2]
mov r8d, ebx
sete r8b
shl ecx, 8
shl edx, 8
mov dword [rsp + 0x60], r8d
or ecx, eax
movzx eax, byte [r11 + 4]
or edx, eax
mov eax, 0x7fffffff
cmove edx, eax
add r11, 5
mov qword [rbp + 0xf8], r11
mov dword [rsp + 0x68], edx
jmp 0x14004240e
movzx eax, byte [r11]
lea rdx, [0x140000000]
inc r11
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx ecx, byte [rax + rdx + 0x997d8]
movzx r8d, al
movsx eax, byte [rax + rdx + 0x99898]
and r8d, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], r8d
test eax, eax
jne 0x140042412
mov eax, 0x7fffffff
mov dword [rsp + 0x68], eax
jmp 0x140042412
mov dword [rsp + 0x68], 1
mov ecx, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x50], 1
cmp ecx, 1
jl 0x140042541
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004250d
cmp r8d, 0xc0
jb 0x14004250d
test r8b, 0x20
jne 0x14004246f
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004250d
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x14004249d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004250d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400424c5
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004250d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400424ed
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004250d
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
mov rdx, r9
mov ecx, r8d
call fcn.140035480
test eax, eax
je 0x140047b8a
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
mov r9, qword [rbp - 0x78]
inc eax
mov dword [rsp + 0x50], eax
cmp eax, ecx
jle 0x140042423
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x140040f91
cmp dword [rsp + 0x60], ebx
je 0x1400466a5
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x140046655
lea rax, [r11 + 1]
add r11, 0x21
mov qword [rsp + 0x70], rax
mov al, byte [r11]
mov qword [rbp + 0xf8], r11
cmp al, 0x46
jb 0x14004262f
cmp al, 0x4b
jbe 0x1400425db
cmp al, 0x4d
ja 0x14004262f
movzx r10d, byte [r11 + 1]
mov rcx, qword [rbp + 0xf8]
cmp al, 0x4d
movzx eax, byte [r11 + 2]
movzx r11d, byte [r11 + 3]
mov edx, ebx
sete dl
shl r10d, 8
shl r11d, 8
or r10d, eax
movzx eax, byte [rcx + 4]
mov dword [rsp + 0x60], edx
or r11d, eax
mov eax, 0x7fffffff
cmove r11d, eax
add rcx, 5
mov qword [rbp + 0xf8], rcx
jmp 0x140042638
movzx eax, byte [r11]
inc r11
lea rcx, [0x140000000]
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx r11d, byte [rax + rcx + 0x99898]
movsx r10d, byte [rax + rcx + 0x997d8]
movzx r8d, al
and r8d, 1
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x58], r11d
mov dword [rsp + 0x60], r8d
test r11d, r11d
jne 0x140042642
mov eax, 0x7fffffff
mov r11d, eax
mov dword [rsp + 0x58], eax
jmp 0x140042642
mov r11d, 1
mov r10d, r11d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x58], r11d
mov eax, dword [rbp + 0x118]
test eax, eax
je 0x140042792
mov eax, 1
mov dword [rsp + 0x68], eax
cmp r10d, eax
jl 0x1400427e7
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140042744
test r8b, 0x20
jne 0x1400426a2
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140042740
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x1400426d0
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140042740
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400426f8
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140042740
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140042720
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140042740
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
mov eax, dword [rsp + 0x68]
cmp r8d, 0xff
jbe 0x140042759
cmp r9d, 0x4e
je 0x140047b8a
jmp 0x140042781
mov ecx, r8d
mov edx, 1
mov eax, r8d
and ecx, 7
shr rax, 3
shl edx, cl
mov rcx, qword [rsp + 0x70]
mov cl, byte [rax + rcx]
test cl, dl
je 0x140047b8a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x140042662
jmp 0x1400427e7
mov dword [rsp + 0x68], 1
cmp r10d, 1
jl 0x1400427ed
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
mov r8d, 1
inc rdi
mov ecx, edx
mov eax, edx
and ecx, 7
shr rax, 3
shl r8d, cl
mov rcx, qword [rsp + 0x70]
mov cl, byte [rax + rcx]
test cl, r8b
je 0x140047b8a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x1400427a0
mov eax, dword [rbp + 0x118]
cmp r10d, r11d
je 0x1400415f0
cmp dword [rsp + 0x60], ebx
je 0x140046abb
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
test eax, eax
mov eax, dword [rbp + 0x138]
mov rcx, rdi
je 0x140046a08
inc eax
jmp 0x1400469c9
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
add r11, 3
mov dword [rsp + 0x5c], ecx
mov r10d, ebx
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x70], 1
movzx r9d, byte [r11]
mov eax, dword [rbp + 0x118]
inc r11
mov qword [rbp + 0xf8], r11
mov dword [rsp + 0x68], r9d
test r10d, r10d
jle 0x140043690
test eax, eax
je 0x14004325c
cmp r9d, 0xd
jg 0x140042c32
je 0x140042bf6
mov ecx, r9d
sub ecx, 6
je 0x140042afb
dec ecx
je 0x140042ab3
dec ecx
je 0x140042a61
dec ecx
je 0x140042a19
dec ecx
je 0x1400429c7
dec ecx
je 0x14004297f
dec ecx
jne 0x140046d7e
lea r8d, [rcx + 1]
mov dword [rsp + 0x50], r8d
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140042920
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035be0
test eax, eax
jne 0x140047b8a
mov r8d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
jmp 0x140042950
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140042950
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140042950
cmp dword [rsi + 0x24], 1
je 0x140047b8a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047b8a
mov rcx, qword [rsi + 0x90]
jmp 0x140042961
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042969
inc rdi
cmp rdi, rcx
jb 0x140042959
inc r8d
mov dword [rsp + 0x50], r8d
cmp r8d, r10d
jle 0x1400428db
jmp 0x140043336
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
cmp byte [rdi], 0x80
jae 0x140047b8a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x14004298e
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x14004098d
cmp byte [rdi], 0x80
jae 0x1400429fc
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x140047b8a
inc rdi
cmp rdi, rdx
jae 0x140042a0c
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400429fc
inc r8d
cmp r8d, r10d
jle 0x1400429dd
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
cmp byte [rdi], 0x80
jae 0x140047b8a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042a28
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x14004098d
cmp byte [rdi], 0x80
jae 0x140042a96
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x140047b8a
inc rdi
cmp rdi, rdx
jae 0x140042aa6
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140042a96
inc r8d
cmp r8d, r10d
jle 0x140042a77
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
cmp byte [rdi], 0x80
jae 0x140047b8a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042ac2
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042bcf
test dl, 0x20
jne 0x140042b44
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042bcf
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140042b6d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042bcf
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042b90
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042bcf
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042bb3
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042bcf
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x80
jae 0x140042be5
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042b0a
jmp 0x140043342
mov edx, 1
cmp r10d, edx
jl 0x140043690
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004098d
jmp 0x140042c1e
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042c26
inc rdi
cmp rdi, rcx
jb 0x140042c16
inc edx
cmp edx, r10d
jle 0x140042c0b
jmp 0x140043342
mov ecx, r9d
sub ecx, 0xe
je 0x140043241
sub ecx, 3
je 0x14004310c
dec ecx
je 0x140042fbb
dec ecx
je 0x140042e82
dec ecx
je 0x140042d6f
dec ecx
jne 0x140046d7e
lea r8d, [rcx + 1]
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042d39
test dl, 0x20
jne 0x140042cae
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042d39
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140042cd7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042d39
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042cfa
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042d39
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042d1d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042d39
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0xa
jb 0x140047b8a
cmp edx, 0xd
jbe 0x140042d5e
cmp edx, 0x85
je 0x140042d5e
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042c74
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042e43
test dl, 0x20
jne 0x140042db8
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042e43
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140042de1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042e43
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042e04
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042e43
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042e27
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042e43
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0xa
jb 0x140042e71
cmp edx, 0xd
jbe 0x140047b8a
cmp edx, 0x85
je 0x140047b8a
cmp edx, 0x2027
jbe 0x140042e71
cmp edx, 0x2029
jbe 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042d7e
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042f56
test dl, 0x20
jne 0x140042ecb
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042f56
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140042ef4
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042f56
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042f17
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042f56
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042f3a
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042f56
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x180e
ja 0x140042f7a
je 0x140042faa
cmp edx, 9
je 0x140042faa
cmp edx, 0x20
je 0x140042faa
cmp edx, 0xa0
je 0x140042faa
cmp edx, 0x1680
jmp 0x140042fa4
cmp edx, 0x2000
jb 0x140047b8a
cmp edx, 0x200a
jbe 0x140042faa
cmp edx, 0x202f
je 0x140042faa
cmp edx, 0x205f
je 0x140042faa
cmp edx, 0x3000
jne 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042e91
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x14004308f
test dl, 0x20
jne 0x140043004
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004308f
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x14004302d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004308f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043050
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004308f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043073
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004308f
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x180e
ja 0x1400430c3
je 0x140047b8a
cmp edx, 9
je 0x140047b8a
cmp edx, 0x20
je 0x140047b8a
cmp edx, 0xa0
je 0x140047b8a
cmp edx, 0x1680
jmp 0x1400430f5
cmp edx, 0x2000
jb 0x1400430fb
cmp edx, 0x200a
jbe 0x140047b8a
cmp edx, 0x202f
je 0x140047b8a
cmp edx, 0x205f
je 0x140047b8a
cmp edx, 0x3000
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140042fca
jmp 0x140043342
mov r9d, 1
cmp r10d, r9d
jl 0x14004368b
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400431e3
test dl, 0x20
jne 0x140043158
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400431e3
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140043181
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400431e3
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400431a4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400431e3
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400431c7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400431e3
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0xa
je 0x140043221
jbe 0x140047b8a
cmp edx, 0xc
jbe 0x140043218
cmp edx, 0xd
je 0x140043232
cmp edx, 0x85
je 0x140043218
cmp edx, 0x2027
jbe 0x140047b8a
cmp edx, 0x2029
ja 0x140047b8a
cmp dword [rsi + 0x78], ebx
jne 0x140047b8a
inc r9d
cmp r9d, r10d
jle 0x140043122
jmp 0x14004333d
cmp rdi, r8
jae 0x140043221
cmp byte [rdi], 0xa
jne 0x140043221
inc rdi
jmp 0x140043221
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x140047b8a
jmp 0x1400434da
cmp r9d, 0xd
jg 0x1400434e2
je 0x1400434c4
mov ecx, r9d
sub ecx, 6
je 0x140043485
dec ecx
je 0x140043446
dec ecx
je 0x140043407
dec ecx
je 0x1400433c8
dec ecx
je 0x140043389
dec ecx
je 0x14004334d
dec ecx
jne 0x140046d7e
mov dword [rsp + 0x50], 1
cmp r10d, 1
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400432f4
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035be0
test eax, eax
jne 0x140047b8a
mov r10d, dword [rsp + 0x58]
jmp 0x140043324
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043324
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043324
cmp dword [rsi + 0x24], 1
je 0x140047b8a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047b8a
mov eax, dword [rsp + 0x50]
inc rdi
inc eax
mov dword [rsp + 0x50], eax
cmp eax, r10d
jle 0x1400432ba
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rsp + 0x68]
mov eax, dword [rbp + 0x118]
jmp 0x140043690
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x14004335c
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
jne 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140043398
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x1400433d7
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
jne 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140043416
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140043455
jmp 0x140043342
mov r8d, 1
cmp r10d, r8d
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
jne 0x140047b8a
inc r8d
cmp r8d, r10d
jle 0x140043494
jmp 0x140043342
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x14004098d
add rdi, rcx
jmp 0x140043342
mov ecx, r9d
sub ecx, 0xe
je 0x1400434c4
sub ecx, 3
je 0x140043627
dec ecx
je 0x1400435dd
dec ecx
je 0x14004359b
dec ecx
je 0x140043555
dec ecx
jne 0x140046d7e
mov ecx, 1
cmp r10d, ecx
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x140047b8a
cmp eax, 0xd
jle 0x140043549
cmp eax, 0x85
jne 0x140047b8a
inc ecx
cmp ecx, r10d
jle 0x14004351d
jmp 0x140043342
mov ecx, 1
cmp r10d, ecx
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x14004358f
cmp eax, 0xd
jle 0x140047b8a
cmp eax, 0x85
je 0x140047b8a
inc ecx
cmp ecx, r10d
jle 0x140043563
jmp 0x140043342
mov ecx, 1
cmp r10d, ecx
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x1400435d1
cmp eax, 0x20
je 0x1400435d1
cmp eax, 0xa0
jne 0x140047b8a
inc ecx
cmp ecx, r10d
jle 0x1400435a9
jmp 0x140043342
mov ecx, 1
cmp r10d, ecx
jl 0x140043690
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x140047b8a
cmp eax, 0x20
je 0x140047b8a
cmp eax, 0xa0
je 0x140047b8a
inc ecx
cmp ecx, r10d
jle 0x1400435eb
jmp 0x140043342
mov edx, 1
cmp r10d, edx
jl 0x140043690
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
je 0x140043670
jle 0x140047b8a
cmp eax, 0xc
jle 0x140043667
cmp eax, 0xd
je 0x14004367c
cmp eax, 0x85
jne 0x140047b8a
cmp dword [rsi + 0x78], ebx
jne 0x140047b8a
inc edx
cmp edx, r10d
jle 0x140043638
jmp 0x140043342
cmp rdi, rcx
jae 0x140043670
cmp byte [rdi], 0xa
jne 0x140043670
inc rdi
jmp 0x140043670
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x5c]
mov rdx, qword [rbp + 0x100]
mov ecx, dword [rbp + 0x138]
cmp r10d, r8d
je 0x14003fb02
cmp dword [rsp + 0x60], ebx
jne 0x140046e01
mov ecx, dword [rbp + 0x118]
mov rax, rdi
mov qword [rsp + 0x50], rax
test ecx, ecx
je 0x14004431a
cmp r9d, 0xc
jg 0x140043e56
je 0x140043cee
sub r9d, 6
je 0x140043bf6
dec r9d
je 0x140043afa
dec r9d
je 0x140043a02
dec r9d
je 0x140043906
dec r9d
je 0x14004380e
dec r9d
jne 0x140046d7e
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400437dd
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14004375c
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400437d9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14004377d
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400437d9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004379e
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400437d9
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400437bf
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400437d9
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x140044303
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x14004371e
jmp 0x140044303
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400438d9
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043858
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400438d5
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043879
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400438d5
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004389a
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400438d5
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400438bb
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400438d5
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x1400438ef
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jne 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x14004381a
jmp 0x140044303
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400439d1
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043950
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400439cd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043971
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400439cd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043992
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400439cd
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400439b3
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400439cd
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x140044303
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
je 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043912
jmp 0x140044303
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043acd
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043a4c
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043ac9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043a6d
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043ac9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043a8e
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043ac9
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043aaf
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043ac9
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x140043ae3
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jne 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043a0e
jmp 0x140044303
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043bc5
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043b44
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043bc1
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043b65
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043bc1
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043b86
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043bc1
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043ba7
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043bc1
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x140044303
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043b06
jmp 0x140044303
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043cc1
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043c40
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043cbd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043c61
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043cbd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043c82
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043cbd
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043ca3
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043cbd
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0x100
jae 0x140043cd7
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043c02
jmp 0x140044303
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x140043da9
cmp r10d, r8d
jge 0x140044303
cmp rdi, qword [rsi + 0x90]
jae 0x140044296
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043d44
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035be0
test eax, eax
jne 0x140044303
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140043d74
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043d74
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043d74
cmp dword [rsi + 0x24], 1
je 0x140044303
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140044303
mov rcx, qword [rsi + 0x90]
jmp 0x140043d85
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140043d8d
inc rdi
cmp rdi, rcx
jb 0x140043d7d
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x140044303
mov ecx, dword [rbp + 0x118]
jmp 0x140043d05
cmp r10d, r8d
jge 0x140044303
cmp rdi, qword [rsi + 0x90]
jae 0x140044296
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043df1
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035be0
test eax, eax
jne 0x140044303
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140043e21
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043e21
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043e21
cmp dword [rsi + 0x24], 1
je 0x140044303
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140044303
mov rcx, qword [rsi + 0x90]
jmp 0x140043e32
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140043e3a
inc rdi
cmp rdi, rcx
jb 0x140043e2a
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x140044303
mov ecx, dword [rbp + 0x118]
jmp 0x140043db2
cmp r9d, 0xd
je 0x1400442c5
cmp r9d, 0xe
je 0x14004427f
cmp r9d, 0x11
je 0x140044119
jle 0x140046d7e
cmp r9d, 0x13
jle 0x140043fa7
cmp r9d, 0x15
jg 0x140046d7e
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043f59
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043ed8
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043f55
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043ef9
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043f55
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043f1a
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043f55
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043f3b
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043f55
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
cmp edx, 0xa
jb 0x140043f7d
cmp edx, 0xd
jbe 0x140043f76
cmp edx, 0x85
je 0x140043f76
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140043f7d
mov ecx, 1
jmp 0x140043f7f
mov ecx, ebx
cmp r9d, 0x14
mov eax, ebx
sete al
cmp ecx, eax
je 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043e9a
jmp 0x140044303
cmp r10d, r8d
jge 0x140044303
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400440f0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140044072
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043ff1
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x14004406e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140044012
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x14004406e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140044033
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x14004406e
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140044054
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x14004406e
movzx eax, byte [rdi + 5]
and edx, r8d
shl ecx, 6
and eax, 0x3f
mov r8d, 6
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
mov eax, 0x180e
cmp edx, eax
ja 0x1400440c1
je 0x1400440e9
cmp edx, 9
je 0x1400440e9
cmp edx, 0x20
je 0x1400440e9
cmp edx, 0xa0
je 0x1400440e9
cmp edx, 0x1680
je 0x1400440e9
mov ecx, ebx
cmp r9d, 0x12
mov eax, ebx
sete al
cmp ecx, eax
je 0x140044303
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043fb3
jmp 0x140044303
cmp edx, 0x2000
jb 0x140044097
cmp edx, 0x200a
jbe 0x1400440e9
cmp edx, 0x202f
je 0x1400440e9
cmp edx, 0x205f
je 0x1400440e9
cmp edx, 0x3000
jne 0x140044097
mov ecx, 1
jmp 0x140044099
cmp dword [rsi + 0xb0], ebx
je 0x140044303
cmp rdi, qword [rsi + 0xa8]
jbe 0x140044303
mov dword [rsi + 0x74], r8d
cmp dword [rsi + 0xb0], r8d
jmp 0x1400442b5
cmp r10d, r8d
jge 0x140044303
mov r8, qword [rsi + 0x90]
mov r11d, dword [rsp + 0x5c]
mov eax, 1
cmp rdi, r8
jae 0x14004425b
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400441f6
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14004416d
and edx, 0x1f
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
mov eax, 2
jmp 0x1400441f6
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140044191
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 3
jmp 0x1400441f6
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400441b5
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
mov eax, 4
jmp 0x1400441f6
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400441d9
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
mov eax, 5
jmp 0x1400441f6
movzx eax, byte [rdi + 5]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
mov eax, 6
cmp edx, 0xd
jne 0x140044211
inc rdi
cmp rdi, r8
jae 0x140044303
cmp byte [rdi], 0xa
jne 0x14004424a
inc rdi
jmp 0x14004424a
cmp edx, 0xa
je 0x140044245
cmp dword [rsi + 0x78], ebx
jne 0x140044303
cmp edx, 0xb
je 0x140044245
cmp edx, 0xc
je 0x140044245
cmp edx, 0x85
je 0x140044245
cmp edx, 0x2028
je 0x140044245
cmp edx, 0x2029
jne 0x140044303
cdqe
add rdi, rax
inc r10d
cmp r10d, r11d
jl 0x14004412e
jmp 0x140044303
cmp dword [rsi + 0xb0], ebx
je 0x140044303
cmp rdi, qword [rsi + 0xa8]
jbe 0x140044303
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jmp 0x1400442b5
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x1400442bd
mov rdi, qword [rsi + 0x90]
cmp dword [rsi + 0xb0], ebx
je 0x140044303
cmp rdi, qword [rsi + 0xa8]
jbe 0x140044303
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
jmp 0x140044303
mov eax, r8d
add rdi, rax
jmp 0x140044303
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x1400442fc
cmp r10d, r8d
jge 0x140044303
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x140044296
jmp 0x1400442ea
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x1400442f2
inc rdi
cmp rdi, rcx
jb 0x1400442e2
inc r10d
cmp r10d, r8d
jl 0x1400442db
jmp 0x140044303
mov rdi, qword [rsi + 0x90]
cmp dword [rsp + 0x70], ebx
jne 0x1400415f0
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046dae
cmp r9d, 0xc
jg 0x1400445e6
je 0x140044559
sub r9d, 6
je 0x140044522
dec r9d
je 0x1400444eb
dec r9d
je 0x1400444b4
dec r9d
je 0x140044481
dec r9d
je 0x14004444e
dec r9d
jne 0x140046d7e
cmp r10d, r8d
jge 0x1400447da
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
je 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004436a
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x1400415f0
cmp rdi, rax
jb 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rbp + 0x118], eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
dec rdi
test eax, eax
jne 0x14004599c
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x1400443b5
jmp 0x140047b8a
cmp dword [rsi + 0xb0], ebx
je 0x14004438f
cmp rdi, qword [rsi + 0xa8]
jbe 0x14004438f
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
jmp 0x14004438f
cmp r10d, r8d
jge 0x1400447da
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044457
jmp 0x14004438f
cmp r10d, r8d
jge 0x1400447da
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
je 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004448a
jmp 0x14004438f
cmp r10d, r8d
jge 0x1400447da
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400444bd
jmp 0x14004438f
cmp r10d, r8d
jge 0x1400447da
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
je 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400444f4
jmp 0x14004438f
cmp r10d, r8d
jge 0x1400447da
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jne 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004452b
jmp 0x14004438f
cmp r10d, r8d
jge 0x140044394
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400445a1
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035be0
test eax, eax
jne 0x14004438f
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x1400445d1
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400445d1
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400445d1
cmp dword [rsi + 0x24], 1
je 0x14004438f
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004438f
inc r10d
inc rdi
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jl 0x140044562
jmp 0x14004438f
cmp r9d, 0xd
jl 0x140046d7e
cmp r9d, 0xe
jle 0x1400447b3
cmp r9d, 0x11
je 0x14004474c
cmp r9d, 0x12
je 0x140044706
cmp r9d, 0x13
je 0x1400446c8
cmp r9d, 0x14
je 0x140044670
cmp r9d, 0x15
jne 0x140046d7e
cmp r10d, r8d
jge 0x140044394
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x140044660
cmp eax, 0xb
je 0x140044660
cmp eax, 0xc
je 0x140044660
cmp eax, 0xd
je 0x140044660
cmp eax, 0x85
jne 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044631
jmp 0x14004438f
cmp r10d, r8d
jge 0x140044394
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x14004438f
cmp eax, 0xb
je 0x14004438f
cmp eax, 0xc
je 0x14004438f
cmp eax, 0xd
je 0x14004438f
cmp eax, 0x85
je 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044679
jmp 0x14004438f
cmp r10d, r8d
jge 0x140044394
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx eax, byte [rdi]
cmp eax, 9
je 0x1400446f6
cmp eax, 0x20
je 0x1400446f6
cmp eax, 0xa0
jne 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400446d1
jmp 0x14004438f
cmp r10d, r8d
jge 0x140044394
cmp rdi, qword [rsi + 0x90]
jae 0x14004441c
movzx eax, byte [rdi]
cmp eax, 9
je 0x14004438f
cmp eax, 0x20
je 0x14004438f
cmp eax, 0xa0
je 0x14004438f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004470f
jmp 0x14004438f
cmp r10d, r8d
jge 0x140044394
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004441c
movzx eax, byte [rdi]
cmp eax, 0xd
jne 0x140044780
inc rdi
cmp rdi, rcx
jae 0x14004438f
cmp byte [rdi], 0xa
jne 0x1400447a6
jmp 0x1400447a3
cmp eax, 0xa
je 0x1400447a3
cmp dword [rsi + 0x78], ebx
jne 0x14004438f
cmp eax, 0xb
je 0x1400447a3
cmp eax, 0xc
je 0x1400447a3
cmp eax, 0x85
jne 0x14004438f
inc rdi
inc r10d
cmp r10d, r8d
jl 0x14004475c
jmp 0x14004438f
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x1400447cf
mov rdi, qword [rsi + 0x90]
jmp 0x14004441c
mov eax, r8d
add rdi, rax
jmp 0x14004438f
jmp 0x140044394
cmp r9d, 0x59
jg 0x140044ad5
je 0x140044d2d
cmp r9d, 0x53
je 0x140044a11
cmp r9d, 0x54
je 0x1400449f0
jle 0x140040370
cmp r9d, 0x57
jle 0x14004489a
cmp r9d, 0x58
jne 0x140040370
lea eax, [rcx + 1]
mov dword [rsp + 0x50], eax
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
lea rdx, [r11 + 3]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
cmp eax, 1
je 0x140044e7d
cmp eax, 0xfffffc19
je 0x140044e7d
test eax, eax
je 0x140044e3c
cmp eax, 0xfffffc1e
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004599c
jmp 0x140044e43
movzx eax, byte [r11 + 1]
mov rdx, r11
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
sub rdx, rcx
mov qword [rsp + 0x50], rdx
mov al, byte [rdx]
cmp al, 0x61
jb 0x1400448d5
mov rcx, qword [rbp + 0x128]
mov r11, qword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rbp + 0x128], rcx
jmp 0x1400448d8
mov r11, rbx
cmp al, 0x58
je 0x1400476ed
cmp al, 0x59
je 0x1400476ed
cmp al, 0x5a
je 0x1400476ed
cmp al, 0x5b
je 0x1400476ed
cmp al, 0x5d
je 0x1400476ed
cmp al, 0x5f
je 0x14004490c
cmp al, 0x62
jne 0x1400449b6
movzx r9d, byte [rdx + 3]
movzx eax, byte [rdx + 4]
shl r9d, 8
or r9d, eax
mov dword [rsi + 0xb8], r9d
lea r10d, [r9 + r9]
cmp r10d, dword [rsi + 0x1c]
jl 0x140044936
mov dword [rsi + 0x50], 1
jmp 0x140044977
mov rdx, qword [rsi + 0x10]
movsxd rcx, dword [rsi + 0x18]
movsxd rax, r9d
sub rcx, rax
movsxd r8, r10d
mov eax, dword [rdx + rcx*4]
mov ecx, edi
mov dword [rdx + r8*4], eax
sub ecx, dword [rsi + 0x88]
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x50]
mov dword [rax + r8*4 + 4], ecx
cmp dword [rbp + 0x110], r10d
jg 0x140044977
lea eax, [r10 + 2]
mov dword [rbp + 0x110], eax
cmp qword [rsi + 0xd0], rbx
je 0x1400449b6
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], r9d
jne 0x1400449b6
mov rax, qword [rcx]
mov qword [rsi + 0xd0], rax
movsxd r8, dword [rcx + 0x20]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rsi + 0x10]
shl r8, 2
call fcn.140014710
jmp 0x14004567e
mov r9d, dword [rbp - 0x7c]
mov rcx, qword [rbp + 0xf8]
cmp byte [rcx], 0x55
mov r8d, r9d
mov dword [rbp + 0x120], r9d
je 0x1400449d9
cmp rdi, r11
jne 0x1400456b0
mov r11, qword [rbp + 0xf8]
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x140042006
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
cmp byte [r11], 0x54
je 0x1400449f0
jmp 0x140044d21
mov r8, qword [0x1400c3368]
test r8, r8
je 0x140044acc
mov dword [rbp - 0x40], 1
movzx eax, byte [r11 + 1]
mov r9d, 2
mov dword [rbp - 0x3c], eax
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x38], rax
mov rax, qword [rsi + 0x88]
mov qword [rbp - 0x30], rax
mov eax, dword [rsi + 0x90]
sub eax, dword [rsi + 0x88]
mov dword [rbp - 0x28], eax
mov eax, edx
sub eax, dword [rsi + 0x88]
mov dword [rbp - 0x24], eax
mov eax, edi
sub eax, dword [rsi + 0x88]
mov dword [rbp - 0x20], eax
movzx eax, byte [r11 + 3]
movzx ecx, byte [r11 + 2]
shl ecx, 8
or ecx, eax
mov dword [rbp - 8], ecx
movzx eax, byte [r11 + 5]
movzx ecx, byte [r11 + 4]
shl ecx, 8
or ecx, eax
mov eax, r10d
cdq
mov dword [rbp - 4], ecx
lea rcx, [rbp - 0x40]
idiv r9d
mov dword [rbp - 0x1c], eax
mov eax, dword [rsi + 0xb8]
mov dword [rbp - 0x18], eax
mov rax, qword [rsi + 0xd8]
mov qword [rbp - 0x10], rax
call r8
test eax, eax
jg 0x140047b8a
js 0x14004599c
mov r11, qword [rbp + 0xf8]
add r11, 6
jmp 0x140040a65
sub r9d, 0x5a
je 0x14004481d
dec r9d
je 0x140044d2d
dec r9d
je 0x140044cac
dec r9d
jne 0x140040370
lea eax, [rcx + 1]
mov qword [rsp + 0x78], r11
mov qword [rbp - 0x78], rdi
mov dword [rsp + 0x50], eax
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
lea rdx, [r11 + 3]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
cmp eax, 1
je 0x140044bb2
test eax, eax
je 0x140044b71
cmp eax, 0xfffffc1e
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004599c
jmp 0x140044b78
mov r11, qword [rbp + 0xf8]
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
mov qword [rbp + 0xf8], r11
cmp byte [r11], 0x54
jne 0x140044bc9
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044b0a
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x140044bd0
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x5d
je 0x140044be0
cmp byte [r11], 0x54
jne 0x140047ab5
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
cmp byte [r11], 0x54
je 0x140044be0
cmp byte [r11], 0x55
mov r10d, dword [rsi + 0xb4]
mov rdi, qword [rsi + 0xa0]
mov dword [rbp + 0x110], r10d
je 0x140044edc
cmp rdi, qword [rbp - 0x78]
je 0x140044edc
mov edx, dword [rbp + 0x120]
lea rcx, [r11 + 3]
cmp byte [rcx], 0x19
mov qword [rbp + 0x118], rcx
jne 0x140044c4d
movzx eax, byte [r11 + 4]
and edx, 0xfffffff8
or eax, edx
mov edx, eax
mov dword [rbp + 0x120], eax
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
inc eax
cmp byte [r11], 0x57
mov dword [rsp + 0x48], eax
jne 0x140045785
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edx
mov rdx, rcx
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov r11, qword [rsp + 0x78]
jmp 0x14004577a
cmp dword [rbp + 0x118], ebx
je 0x140044cea
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jle 0x140044d0d
dec rdi
dec ecx
cmp rdi, qword [rsi + 0x88]
jb 0x140047b8a
jmp 0x140044cdc
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140044cd9
test ecx, ecx
jg 0x140044cc5
jmp 0x140044d0d
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
sub rdi, rcx
cmp rdi, qword [rsi + 0x88]
jb 0x140047b8a
cmp rdi, qword [rsi + 0xa8]
jae 0x140044d1d
mov qword [rsi + 0xa8], rdi
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x140044eee
lea eax, [rcx + 1]
mov dword [rsp + 0x50], eax
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
lea rdx, [r11 + 3]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
cmp eax, 1
je 0x140047b8a
cmp eax, 0xfffffc19
je 0x140047b8a
cmp eax, 0xfffffc1c
je 0x140044df9
cmp eax, 0xfffffc1b
je 0x140044df9
cmp eax, 0xfffffc1a
je 0x140044df9
test eax, eax
je 0x140044db8
cmp eax, 0xfffffc1e
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004599c
jmp 0x140044dbf
mov r11, qword [rbp + 0xf8]
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
mov qword [rbp + 0xf8], r11
cmp byte [r11], 0x54
jne 0x140044e1c
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044d34
mov r11, qword [rbp + 0xf8]
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
cmp byte [r11], 0x54
je 0x140044e00
test byte [rbp + 0x130], 1
jne 0x14004770b
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x140044edc
mov r11, qword [rbp + 0xf8]
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
mov qword [rbp + 0xf8], r11
cmp byte [r11], 0x54
jne 0x140044e94
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044824
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x140044e9b
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x55
je 0x140047b8a
test byte [rbp + 0x130], 1
jne 0x14004770b
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
cmp byte [r11], 0x54
je 0x140044eb2
mov r10d, dword [rsi + 0xb4]
mov dword [rbp + 0x110], r10d
add r11, 3
mov qword [rbp + 0xf8], r11
mov r8d, dword [rbp + 0x120]
mov ecx, dword [rbp + 0x138]
mov eax, 2
jmp 0x14003fa42
cmp r9d, 0x6d
jg 0x140045557
je 0x140047abc
mov ecx, r9d
sub ecx, 0x5f
je 0x140045823
dec ecx
je 0x14004505f
dec ecx
je 0x140045846
dec ecx
je 0x140045823
dec ecx
je 0x14004505f
sub ecx, 6
je 0x140044fd8
dec ecx
jne 0x140047715
inc r11
mov qword [rbp + 0xf8], r11
mov rdx, r11
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x54
je 0x140044f58
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
add rdx, 3
inc eax
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x1400456a4
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
lea rdx, [r11 + 1]
inc eax
mov rcx, rdi
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov rdx, qword [rsp + 0x78]
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x54
je 0x14004502f
lea r11, [rdx + 3]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x14004569d
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
cmp byte [r11 + 3], 0x53
mov dword [rsp + 0x50], ecx
jne 0x140045143
mov r8, qword [0x1400c3368]
test r8, r8
je 0x140045138
mov dword [rbp], 1
movzx eax, byte [r11 + 4]
mov r9d, 2
mov dword [rbp + 4], eax
mov rax, qword [rsi + 0x10]
mov qword [rbp + 8], rax
mov rax, qword [rsi + 0x88]
mov qword [rbp + 0x10], rax
mov eax, dword [rsi + 0x90]
sub eax, dword [rsi + 0x88]
mov dword [rbp + 0x18], eax
mov eax, edx
sub eax, dword [rsi + 0x88]
mov dword [rbp + 0x1c], eax
mov eax, edi
sub eax, dword [rsi + 0x88]
mov dword [rbp + 0x20], eax
movzx eax, byte [r11 + 6]
movzx ecx, byte [r11 + 5]
shl ecx, 8
or ecx, eax
mov dword [rbp + 0x38], ecx
movzx eax, byte [r11 + 8]
movzx ecx, byte [r11 + 7]
shl ecx, 8
or ecx, eax
mov eax, r10d
cdq
mov dword [rbp + 0x3c], ecx
lea rcx, [rbp]
idiv r9d
mov dword [rbp + 0x24], eax
mov eax, dword [rsi + 0xb8]
mov dword [rbp + 0x28], eax
mov rax, qword [rsi + 0xd8]
mov qword [rbp + 0x30], rax
call r8
test eax, eax
jg 0x140047860
js 0x14004599c
mov r11, qword [rbp + 0xf8]
add r11, 6
mov qword [rbp + 0xf8], r11
movzx edx, byte [r11 + 3]
cmp edx, 0x66
je 0x140045399
cmp edx, 0x67
je 0x140045399
cmp edx, 0x64
je 0x14004521a
cmp edx, 0x65
je 0x14004521a
cmp edx, 0x68
jne 0x14004518c
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
jmp 0x1400454ad
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
inc eax
lea rdx, [r11 + 3]
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
cmp eax, 1
je 0x1400457c6
test eax, eax
je 0x140045206
cmp eax, 0xfffffc1e
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004599c
jmp 0x14004520d
mov r11, qword [rbp + 0xf8]
movsxd rax, dword [rsp + 0x50]
add r11, rax
jmp 0x1400454ad
movzx ecx, byte [r11 + 4]
movzx eax, byte [r11 + 5]
shl ecx, 8
or ecx, eax
lea r8d, [rcx + rcx]
cmp r8d, dword [rbp + 0x110]
jge 0x140045246
mov rax, qword [rsi + 0x10]
movsxd rcx, r8d
cmp dword [rax + rcx*4], ebx
jge 0x140045490
mov dword [rsp + 0x60], ebx
cmp edx, 0x65
jne 0x140045543
mov rdx, qword [rsi + 0x30]
sar r8d, 1
mov r9d, ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x68], rdx
cmp dword [rsi + 0x28], ebx
jle 0x140045296
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x14004528c
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x14004526b
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x140045543
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x140045318
lea rcx, [rdx + 2]
mov qword [rbp - 0x78], rcx
movsxd rax, dword [rsi + 0x2c]
sub r8, rax
mov qword [rsp + 0x78], r8
lea rdx, [r8 + 2]
call fcn.1400176b0
test eax, eax
jne 0x140045307
mov r8, qword [rsp + 0x78]
movzx ecx, byte [r8]
movzx eax, byte [r8 + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [rbp + 0x110]
jge 0x1400452f7
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x140045489
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x140045307
mov rcx, qword [rbp - 0x78]
jmp 0x1400452b1
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
inc r9d
mov dword [rsp + 0x50], r9d
cmp r9d, dword [rsi + 0x28]
jge 0x140045543
lea rcx, [rdx + 2]
mov qword [rsp + 0x78], rcx
movsxd rax, dword [rsi + 0x2c]
add rdx, rax
mov qword [rsp + 0x68], rdx
add rdx, 2
call fcn.1400176b0
test eax, eax
jne 0x14004553c
mov rdx, qword [rsp + 0x68]
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [rbp + 0x110]
jge 0x14004537b
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x140045489
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x14004553c
mov rcx, qword [rsp + 0x78]
jmp 0x140045333
cmp qword [rsi + 0xd0], rbx
je 0x140045171
movzx r8d, byte [r11 + 4]
movzx eax, byte [r11 + 5]
shl r8d, 8
or r8d, eax
cmp r8d, 0xffff
je 0x140045490
mov rax, qword [rsi + 0xd0]
cmp r8d, dword [rax + 8]
je 0x140045490
mov dword [rsp + 0x60], ebx
cmp edx, 0x67
jne 0x140045543
mov rdx, qword [rsi + 0x30]
mov r9d, ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x68], rdx
cmp dword [rsi + 0x28], ebx
jle 0x140045422
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x140045418
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x1400453f7
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x140045543
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x1400454d1
lea rcx, [rdx + 2]
mov qword [rbp - 0x78], rcx
movsxd rax, dword [rsi + 0x2c]
sub r8, rax
mov qword [rsp + 0x78], r8
lea rdx, [r8 + 2]
call fcn.1400176b0
test eax, eax
jne 0x1400454c0
mov r8, qword [rsp + 0x78]
movzx eax, byte [r8]
movzx ecx, byte [r8 + 1]
shl eax, 8
or ecx, eax
mov rax, qword [rsi + 0xd0]
cmp ecx, dword [rax + 8]
je 0x140045489
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x1400454c0
mov rcx, qword [rbp - 0x78]
jmp 0x140045441
mov r11, qword [rbp + 0xf8]
mov ecx, 3
mov dword [rsp + 0x60], 1
movsxd rax, ecx
add r11, rax
cmp dword [rsp + 0x60], ebx
jne 0x140045802
cmp byte [r11], 0x54
je 0x140045802
add r11, 3
jmp 0x14004504c
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
inc r9d
mov dword [rsp + 0x50], r9d
cmp r9d, dword [rsi + 0x28]
jge 0x140045543
lea rcx, [rdx + 2]
mov qword [rsp + 0x78], rcx
movsxd rax, dword [rsi + 0x2c]
add rdx, rax
mov qword [rsp + 0x68], rdx
add rdx, 2
call fcn.1400176b0
test eax, eax
jne 0x14004553c
mov rdx, qword [rsp + 0x68]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
shl eax, 8
or ecx, eax
mov rax, qword [rsi + 0xd0]
cmp ecx, dword [rax + 8]
je 0x140045489
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x14004553c
mov rcx, qword [rsp + 0x78]
jmp 0x1400454e8
mov r11, qword [rbp + 0xf8]
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jmp 0x14004549d
mov ecx, r9d
sub ecx, 0x6e
je 0x140047e0e
dec ecx
je 0x140047d77
dec ecx
je 0x140047cd3
dec ecx
je 0x140047c2c
dec ecx
je 0x140047b9f
dec ecx
je 0x140047860
dec ecx
je 0x14004563d
dec ecx
je 0x1400455c5
dec ecx
jne 0x140040370
lea rdx, [r11 + 1]
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x54
je 0x1400455a3
lea r11, [rdx + 3]
jmp 0x14004569d
movzx r9d, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl r9d, 8
or r9d, eax
mov dword [rsi + 0xb8], r9d
lea r10d, [r9 + r9]
cmp r10d, dword [rsi + 0x1c]
jl 0x1400455fe
mov dword [rsi + 0x50], 1
mov r10d, dword [rbp + 0x110]
add r11, 3
jmp 0x140045053
movsxd rcx, dword [rsi + 0x18]
mov rdx, qword [rsi + 0x10]
movsxd rax, r9d
sub rcx, rax
movsxd r8, r10d
mov eax, dword [rdx + rcx*4]
mov ecx, edi
mov dword [rdx + r8*4], eax
sub ecx, dword [rsi + 0x88]
mov rax, qword [rsi + 0x10]
mov dword [rax + r8*4 + 4], ecx
cmp dword [rbp + 0x110], r10d
jg 0x1400455ee
add r10d, 2
mov dword [rbp + 0x110], r10d
jmp 0x1400455f5
cmp qword [rsi + 0xd0], rbx
je 0x140047b46
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], ebx
jne 0x140047b46
mov rax, qword [rcx]
mov qword [rsi + 0xd0], rax
movsxd r8, dword [rcx + 0x20]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rsi + 0x10]
shl r8, 2
call fcn.140014710
mov r11, qword [rsp + 0x78]
mov r8d, dword [rbp - 0x7c]
mov r10d, dword [r11 + 0x24]
mov r11, qword [r11 + 0x10]
mov dword [rbp + 0x120], r8d
mov dword [rbp + 0x110], r10d
mov qword [rbp + 0xf8], r11
mov rdx, qword [rbp + 0x100]
jmp 0x140044eee
cmp byte [rdx], 0x61
mov eax, dword [rbp + 0x138]
sbb r8d, r8d
not r8d
and r8d, 2
inc eax
cmp byte [rcx], 0x57
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rbp + 0x130], r8d
jne 0x140045733
mov r8, qword [rbp + 0x100]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0x30], r9d
mov r9, qword [rbp + 0x108]
lea rdx, [rcx + 3]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov edx, dword [rbp + 0x130]
test edx, edx
jne 0x1400476c4
mov r11, qword [rsp + 0x50]
jmp 0x14004597a
mov dword [rsp + 0x40], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0x30], r9d
mov r9, qword [rbp + 0x108]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
add r11, 3
mov dword [rbp + 0x130], ebx
jmp 0x14004597a
mov eax, 2
mov rcx, rdi
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], edx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov r11, qword [rbp + 0x118]
jmp 0x14004577a
mov r11, qword [rbp + 0xf8]
movzx eax, byte [r11 + 5]
movzx ecx, byte [r11 + 4]
shl ecx, 8
or eax, ecx
add eax, 3
cdqe
add r11, rax
jmp 0x1400457fc
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
cmp byte [r11], 0x54
je 0x1400457e6
add r11, 3
cmp dword [rsp + 0x5c], 0x63
mov qword [rbp + 0xf8], r11
je 0x140047868
mov dword [rbp + 0x130], ebx
jmp 0x140045981
movzx eax, byte [r11 + 4]
movzx ecx, byte [r11 + 3]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x58], ecx
lea eax, [rcx + rcx]
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x1c]
jl 0x14004793e
mov eax, 2
cmp r9d, 0x61
mov edx, ebx
cmovge edx, eax
movzx eax, byte [r11 + 1]
shl eax, 8
mov dword [rbp + 0x130], edx
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
cmp byte [rcx + r11], 0x54
jne 0x14004595c
mov ecx, dword [rbp + 0x138]
inc ecx
mov dword [rbp + 0x118], ecx
movzx eax, byte [r11]
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], ecx
lea rdx, [0x140000000]
mov rcx, rdi
movzx edx, byte [rax + rdx + 0x99710]
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
add rdx, r11
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
je 0x140045900
cmp eax, 0xfffffc1e
jne 0x14004599c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004599c
jmp 0x140045907
mov r11, qword [rbp + 0xf8]
movzx eax, byte [r11 + 1]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
mov qword [rbp + 0xf8], r11
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
cmp byte [rcx + r11], 0x54
mov ecx, dword [rbp + 0x118]
je 0x140045886
mov edx, dword [rbp + 0x130]
movzx eax, byte [r11]
test edx, edx
jne 0x1400478c0
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x99710]
add r11, rax
mov qword [rbp + 0xf8], r11
mov eax, dword [rsi + 0x5c]
mov dword [rbp + 0x118], eax
mov eax, dword [rsi]
cmp eax, dword [rsi + 4]
jb 0x14003f9be
inc dword [rsi]
mov eax, 0xfffffff8
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1d0
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsi + 0xb0], ebx
je 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jb 0x140047b8a
cmp rdi, qword [rsi + 0xa8]
jbe 0x140047b8a
mov dword [rsi + 0x74], r9d
cmp dword [rsi + 0xb0], r9d
jmp 0x1400409b4
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc eax
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
movsxd rax, dword [rsp + 0x68]
mov qword [rbp + 0x118], rax
jmp 0x140045a54
mov rax, qword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
je 0x140047b8a
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
sub rdi, rax
mov eax, dword [rbp + 0x138]
inc eax
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140045a4d
jmp 0x14004599c
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
inc eax
mov rdx, r11
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, r10d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
movsxd rcx, dword [rsp + 0x68]
mov qword [rbp + 0x118], rcx
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x58], eax
jge 0x140047b8a
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140046518
mov rdx, qword [rbp - 0x78]
mov r8, rcx
mov rcx, rdi
call fcn.140014630
test eax, eax
jne 0x140046518
mov eax, dword [rbp + 0x138]
add rdi, qword [rbp + 0x118]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc dword [rsp + 0x58]
inc eax
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
mov rcx, qword [rbp + 0x118]
test eax, eax
je 0x140045b1c
jmp 0x14004599c
mov eax, ecx
inc eax
jmp 0x140045c10
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
jne 0x140047b8a
mov eax, dword [rbp + 0x138]
inc r8d
inc eax
mov dword [rsp + 0x58], r8d
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140045bcb
jmp 0x14004599c
cmp rdi, rax
jb 0x140047b8a
mov eax, ecx
inc eax
mov dword [rbp + 0x118], eax
mov r8, qword [rbp + 0x100]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0x30], r9d
mov r9, qword [rbp + 0x108]
mov rdx, r11
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
dec rdi
test eax, eax
jne 0x14004599c
mov eax, dword [rbp + 0x118]
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rbp + 0x120]
cmp rdi, qword [rsp + 0x50]
jae 0x140045c7a
jmp 0x140047b8a
mov eax, ecx
mov rdx, r11
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r9d
jmp 0x140045d66
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
jne 0x140047b8a
mov eax, dword [rbp + 0x138]
mov rdx, qword [rbp + 0xf8]
inc ecx
inc eax
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140045d08
jmp 0x14004599c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140047b8a
jmp 0x140045dae
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140045dab
mov eax, dword [rbp + 0x138]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140045d98
jmp 0x14004599c
mov r9, qword [rbp + 0x108]
mov rdx, rcx
test eax, eax
mov eax, dword [rbp + 0x138]
mov rcx, rdi
je 0x140045fa2
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
jmp 0x140045f7a
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140045f21
test dl, 0x20
jne 0x140045e96
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140045f21
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140045ebf
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140045f21
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140045ee2
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140045f21
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140045f05
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140045f21
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp edx, 0x100
jae 0x140045f31
mov rax, qword [rsi + 0x40]
movzx edx, byte [rdx + rax]
cmp dword [rsp + 0x50], edx
je 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xf8]
inc r8d
inc eax
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140045e4c
jmp 0x14004599c
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
jmp 0x140046033
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
je 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xf8]
inc r8d
inc eax
mov rcx, rdi
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140045fbf
jmp 0x14004599c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140047b8a
jmp 0x140046071
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x14004606e
mov eax, dword [rbp + 0x138]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x14004605b
jmp 0x14004599c
cmp rdi, rax
jb 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rbp + 0x118], eax
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov rdx, rcx
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x1400460eb
jmp 0x140047b8a
mov eax, dword [rbp + 0x138]
mov rdx, rcx
mov rcx, rdi
inc eax
test r9d, r9d
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x110]
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
je 0x14004636d
jmp 0x1400462dd
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140046280
test dl, 0x20
jne 0x1400461f1
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004627c
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x14004621a
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004627c
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004623d
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004627c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140046260
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004627c
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x50], edx
je 0x140047b8a
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc eax
mov rcx, rdi
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x1400461a9
jmp 0x14004599c
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
je 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc ecx
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.14003f970
test eax, eax
je 0x1400462ef
jmp 0x14004599c
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x50], eax
jge 0x140047b8a
mov eax, dword [rbp + 0x120]
mov r8d, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x58]
mov r9, rsi
mov rdx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035e50
test eax, eax
je 0x140046518
movsxd rax, dword [rsp + 0x60]
inc dword [rsp + 0x50]
mov rdx, qword [rbp + 0xf8]
add rdi, rax
mov eax, dword [rbp + 0x138]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x14004637f
jmp 0x14004599c
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x14004649e
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035e50
test eax, eax
je 0x140046465
mov eax, dword [rsp + 0x50]
movsxd rdx, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x58]
inc eax
add rdi, rdx
mov dword [rsp + 0x50], eax
cmp eax, dword [rsp + 0x68]
jl 0x140046427
jmp 0x140046493
cmp dword [rsi + 0xb0], ebx
je 0x140046493
cmp rdi, qword [rsi + 0x90]
jb 0x140046493
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046493
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
cmp rdi, qword [rsp + 0x78]
jb 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rbp + 0x118], eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
movsxd rax, dword [rsp + 0x60]
sub rdi, rax
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x78]
jae 0x1400464ac
jmp 0x140047b8a
cmp dword [rsi + 0xb0], ebx
je 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jb 0x140047b8a
jmp 0x140040999
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x58], eax
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004662e
cmp r8d, 0xc0
jb 0x14004662e
test r8b, 0x20
jne 0x140046590
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004662e
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x1400465be
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004662e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400465e6
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004662e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004660e
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004662e
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
mov rdx, qword [rbp - 0x78]
mov ecx, r8d
call fcn.140035480
test eax, eax
je 0x140047b8a
mov eax, dword [rbp + 0x138]
inc dword [rsp + 0x58]
mov rdx, qword [rbp + 0xf8]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140046536
jmp 0x14004599c
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x1400467f4
mov dword [rsp + 0x50], 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400467cf
movzx r8d, byte [rdi]
cmp dword [rbp + 0x118], ebx
je 0x14004679e
cmp r8d, 0xc0
jb 0x14004679e
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140046708
and r8d, 0x1f
mov dword [rsp + 0x50], 2
mov eax, r8d
shl eax, 6
jmp 0x140046798
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x14004672e
and r8d, 0xf
mov dword [rsp + 0x50], 3
mov eax, r8d
shl eax, 0xc
jmp 0x140046798
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046754
and r8d, 7
mov dword [rsp + 0x50], 4
mov eax, r8d
shl eax, 0x12
jmp 0x140046798
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004677a
and r8d, 3
mov dword [rsp + 0x50], 5
mov eax, r8d
shl eax, 0x18
jmp 0x140046798
movzx eax, byte [rdi + 5]
shl ecx, 6
and r8d, 1
and eax, 0x3f
mov dword [rsp + 0x50], 6
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
mov rdx, r9
mov ecx, r8d
call fcn.140035480
test eax, eax
je 0x1400467f4
movsxd rax, dword [rsp + 0x50]
mov r9, qword [rbp - 0x78]
add rdi, rax
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
cmp eax, dword [rsp + 0x68]
jl 0x1400466b2
jmp 0x1400467f4
cmp dword [rsi + 0xb0], ebx
je 0x1400467f4
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400467f4
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x14004682c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x140047b8a
cmp dword [rbp + 0x118], ebx
je 0x140046824
jmp 0x14004681c
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046819
mov eax, dword [rbp + 0x138]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x1400467fe
jmp 0x14004599c
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x14004696d
test r8b, 0x20
jne 0x1400468cf
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004696d
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r8b, 0x10
jne 0x1400468fd
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004696d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046925
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004696d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004694d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004696d
movzx eax, byte [rdi + 4]
and r8d, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
add rdi, 5
cmp r8d, 0xff
jbe 0x14004697d
cmp dword [rsp + 0x5c], 0x4e
jmp 0x14004699b
mov ecx, r8d
mov edx, 1
mov eax, r8d
and ecx, 7
shr rax, 3
shl edx, cl
mov rcx, qword [rsp + 0x70]
mov cl, byte [rax + rcx]
test cl, dl
je 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc r9d
mov rcx, rdi
inc eax
mov dword [rsp + 0x50], r9d
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x14004687f
jmp 0x14004599c
inc eax
jmp 0x140046a7c
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
movzx edx, byte [rdi]
mov r8d, 1
inc rdi
mov ecx, edx
mov eax, edx
and ecx, 7
shr rax, 3
shl r8d, cl
mov rcx, qword [rsp + 0x70]
mov cl, byte [rax + rcx]
test cl, r8b
je 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc r9d
mov rcx, rdi
inc eax
mov dword [rsp + 0x50], r9d
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140046a0c
jmp 0x14004599c
mov r11, rdi
mov qword [rsp + 0x78], rdi
test eax, eax
jne 0x140046c29
mov r9d, dword [rsp + 0x58]
cmp r10d, r9d
jge 0x140046d09
cmp rdi, qword [rsi + 0x90]
jae 0x140046cdb
movzx edx, byte [rdi]
mov r8d, 1
mov ecx, edx
mov eax, edx
and ecx, 7
shr rax, 3
shl r8d, cl
mov rcx, qword [rsp + 0x70]
mov cl, byte [rax + rcx]
test cl, r8b
je 0x140046d00
inc r10d
inc rdi
cmp r10d, r9d
jl 0x140046ad9
jmp 0x140046d00
mov r11d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140046c36
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140046bf1
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140046b64
and r8d, 0x1f
mov r11d, 2
mov eax, r8d
shl eax, 6
jmp 0x140046beb
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140046b88
and r8d, 0xf
mov r11d, 3
mov eax, r8d
shl eax, 0xc
jmp 0x140046beb
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046bac
and r8d, 7
mov r11d, 4
mov eax, r8d
shl eax, 0x12
jmp 0x140046beb
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140046bd0
and r8d, 3
mov r11d, 5
mov eax, r8d
shl eax, 0x18
jmp 0x140046beb
movzx eax, byte [rdi + 5]
and r8d, r11d
shl ecx, 6
and eax, 0x3f
mov r11d, 6
or ecx, eax
mov eax, r8d
shl eax, 0x1e
mov r8d, ecx
or r8d, eax
cmp r8d, 0xff
jbe 0x140046c00
cmp r9d, 0x4e
jmp 0x140046c1e
mov ecx, r8d
mov edx, 1
mov eax, r8d
and ecx, 7
shr rax, 3
shl edx, cl
mov rcx, qword [rsp + 0x70]
mov cl, byte [rax + rcx]
test cl, dl
je 0x140046c58
movsxd rax, r11d
add rdi, rax
inc r10d
cmp r10d, dword [rsp + 0x58]
jl 0x140046b1e
jmp 0x140046c58
cmp dword [rsi + 0xb0], ebx
je 0x140046c58
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046c58
mov dword [rsi + 0x74], r11d
cmp dword [rsi + 0xb0], r11d
jg 0x1400409ba
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046c88
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x140047b8a
jmp 0x140046c78
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046c75
mov eax, dword [rbp + 0x138]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140046c62
jmp 0x14004599c
cmp dword [rsi + 0xb0], ebx
je 0x140046d00
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046d00
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400409ba
cmp rdi, r11
jb 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rbp + 0x118], eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov eax, dword [rbp + 0x118]
dec rdi
cmp rdi, qword [rsp + 0x78]
jae 0x140046d17
jmp 0x140047b8a
mov eax, 0xfffffff2
jmp 0x14004599c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140047b8a
jmp 0x140046d9e
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046d9b
mov eax, dword [rbp + 0x138]
inc eax
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140046d88
jmp 0x14004599c
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
test eax, eax
mov eax, ecx
mov rdx, r11
mov rcx, rdi
je 0x14004726b
inc eax
jmp 0x140047219
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x140046eb6
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140046e86
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035be0
test eax, eax
jne 0x140047b8a
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x140046eb6
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140046eb6
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140046eb6
cmp dword [rsi + 0x24], 1
je 0x140047b8a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047b8a
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140046f6e
test dl, 0x20
jne 0x140046ee3
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140046f6e
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
test dl, 0x10
jne 0x140046f0c
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140046f6e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140046f2f
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140046f6e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140046f52
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140046f6e
movzx eax, byte [rdi + 4]
and edx, 1
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, edx
shl eax, 0x1e
mov edx, ecx
or edx, eax
add rdi, 5
cmp r8d, 0xe
jg 0x14004703c
cmp r8d, 0xc
jge 0x1400471f1
mov ecx, r8d
sub ecx, 6
je 0x140047023
dec ecx
je 0x14004700a
dec ecx
je 0x140046ff1
dec ecx
je 0x140046fd8
dec ecx
je 0x140046fbf
dec ecx
jne 0x140046d7e
cmp edx, 0x100
jae 0x140047b8a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x1400471a7
cmp edx, 0x100
jae 0x1400471f1
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x1400471eb
cmp edx, 0x100
jae 0x140047b8a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x1400471a7
cmp edx, 0x100
jae 0x1400471f1
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x1400471eb
cmp edx, 0x100
jae 0x140047b8a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x1400471a7
cmp edx, 0x100
jae 0x1400471f1
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x1400471eb
mov ecx, r8d
sub ecx, 0x11
je 0x1400471af
dec ecx
je 0x140047140
dec ecx
je 0x1400470cd
dec ecx
je 0x140047092
dec ecx
jne 0x140046d7e
cmp edx, 0xa
jb 0x140047b8a
cmp edx, 0xd
jbe 0x1400471f1
cmp edx, 0x85
je 0x1400471f1
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140047b8a
jmp 0x1400471f1
cmp edx, 0xa
jb 0x1400471f1
cmp edx, 0xd
jbe 0x140047b8a
cmp edx, 0x85
je 0x140047b8a
cmp edx, 0x2027
jbe 0x1400471f1
cmp edx, 0x2029
jbe 0x140047b8a
jmp 0x1400471f1
mov eax, 0x180e
cmp edx, eax
ja 0x140047105
je 0x1400471f1
cmp edx, 9
je 0x1400471f1
cmp edx, 0x20
je 0x1400471f1
cmp edx, 0xa0
je 0x1400471f1
cmp edx, 0x1680
jmp 0x1400471eb
cmp edx, 0x2000
jb 0x140047b8a
cmp edx, 0x200a
jbe 0x1400471f1
cmp edx, 0x202f
je 0x1400471f1
cmp edx, 0x205f
je 0x1400471f1
cmp edx, 0x3000
jmp 0x1400471eb
mov eax, 0x180e
cmp edx, eax
ja 0x140047175
je 0x140047b8a
cmp edx, 9
je 0x140047b8a
cmp edx, 0x20
je 0x140047b8a
cmp edx, 0xa0
je 0x140047b8a
cmp edx, 0x1680
jmp 0x1400471a7
cmp edx, 0x2000
jb 0x1400471f1
cmp edx, 0x200a
jbe 0x140047b8a
cmp edx, 0x202f
je 0x140047b8a
cmp edx, 0x205f
je 0x140047b8a
cmp edx, 0x3000
je 0x140047b8a
jmp 0x1400471f1
cmp edx, 0xa
je 0x1400471f1
jbe 0x140047b8a
cmp edx, 0xc
jbe 0x1400471e8
cmp edx, 0xd
je 0x140047258
cmp edx, 0x85
je 0x1400471e8
cmp edx, 0x2027
jbe 0x140047b8a
cmp edx, 0x2029
ja 0x140047b8a
cmp dword [rsi + 0x78], ebx
jne 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc r9d
mov rcx, rdi
inc eax
mov dword [rsp + 0x58], r9d
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140046e26
jmp 0x14004599c
cmp rdi, qword [rsi + 0x90]
jae 0x1400471f1
cmp byte [rdi], 0xa
jne 0x1400471f1
inc rdi
jmp 0x1400471f1
inc eax
jmp 0x140047449
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x140047b8a
cmp rdi, qword [rsi + 0x90]
jae 0x14004098d
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x1400472fc
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400472cc
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035be0
test eax, eax
jne 0x140047b8a
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x1400472fc
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400472fc
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400472fc
cmp dword [rsi + 0x24], 1
je 0x140047b8a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047b8a
movzx ecx, byte [rdi]
inc rdi
cmp r8d, 0xe
jg 0x14004737d
cmp r8d, 0xc
jge 0x140047421
mov edx, r8d
sub edx, 6
je 0x140047370
dec edx
je 0x140047366
dec edx
je 0x140047359
dec edx
je 0x14004734c
dec edx
je 0x14004733f
dec edx
jne 0x140046d7e
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x1400473ef
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x14004741b
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x1400473ef
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x14004741b
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x1400473ef
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x14004741b
mov edx, r8d
sub edx, 0x11
je 0x1400473f7
dec edx
je 0x1400473d7
dec edx
je 0x1400473c5
dec edx
je 0x1400473af
dec edx
jne 0x140046d7e
cmp ecx, 0xa
jb 0x140047b8a
cmp ecx, 0xd
jbe 0x140047421
cmp ecx, 0x85
jmp 0x14004741b
cmp ecx, 0xa
jb 0x140047421
cmp ecx, 0xd
jbe 0x140047b8a
cmp ecx, 0x85
jmp 0x1400473ef
cmp ecx, 9
je 0x140047421
cmp ecx, 0x20
je 0x140047421
cmp ecx, 0xa0
jmp 0x14004741b
cmp ecx, 9
je 0x140047b8a
cmp ecx, 0x20
je 0x140047b8a
cmp ecx, 0xa0
je 0x140047b8a
jmp 0x140047421
cmp ecx, 0xa
je 0x140047421
jbe 0x140047b8a
cmp ecx, 0xc
jbe 0x140047418
cmp ecx, 0xd
je 0x140047488
cmp ecx, 0x85
jne 0x140047b8a
cmp dword [rsi + 0x78], ebx
jne 0x140047b8a
mov eax, dword [rbp + 0x138]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
inc r9d
mov rcx, rdi
inc eax
mov dword [rsp + 0x58], r9d
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
je 0x140047272
jmp 0x14004599c
cmp rdi, qword [rsi + 0x90]
jae 0x140047421
cmp byte [rdi], 0xa
jne 0x140047421
inc rdi
jmp 0x140047421
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rdx, eax
movzx eax, byte [r11 + 2]
or rdx, rax
add rdx, qword [rsi + 0x80]
mov qword [rbp - 0x78], rdx
cmp rdx, qword [rsi + 0x80]
jne 0x1400474c7
mov dword [rbp - 0x68], ebx
jmp 0x1400474d7
movzx ecx, byte [rdx + 3]
movzx eax, byte [rdx + 4]
shl ecx, 8
or ecx, eax
mov dword [rbp - 0x68], ecx
mov rax, qword [rsi + 0xd0]
add r11, 3
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0xf8], r11
mov qword [rsi + 0xd0], rax
mov qword [rbp - 0x60], r11
movsxd rcx, dword [rsi + 0x18]
mov dword [rbp - 0x50], ecx
cmp ecx, 0x1e
jg 0x140047512
lea rax, [rbp + 0x50]
mov qword [rbp - 0x58], rax
jmp 0x140047532
shl rcx, 2
call qword [0x1400abe80]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x14004752f
mov eax, 0xfffffffa
jmp 0x14004599c
mov ecx, dword [rbp - 0x50]
mov rdx, qword [rsi + 0x10]
movsxd r8, ecx
mov rcx, rax
shl r8, 2
call fcn.140014710
mov r10d, dword [rbp + 0x110]
mov r8, qword [rbp - 0x78]
mov r9d, dword [rbp + 0x138]
mov dword [rbp - 0x4c], r10d
mov al, byte [r8]
cmp al, 0x61
sbb ecx, ecx
not ecx
and ecx, 2
inc r9d
mov dword [rbp - 0x7c], r9d
mov dword [rbp + 0x118], ecx
mov dword [rsp + 0x48], r9d
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x40], ecx
movzx eax, al
lea rdx, [0x140000000]
mov rcx, rdi
movzx edx, byte [rax + rdx + 0x99710]
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
add rdx, r8
mov r8, qword [rbp + 0x100]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
mov dword [rbp - 0x80], eax
cmp eax, 1
je 0x14004769c
cmp eax, 0xfffffc19
je 0x14004769c
test eax, eax
je 0x1400475fa
cmp eax, 0xfffffc1e
jne 0x140047656
mov rcx, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], rcx
jne 0x140047656
lea rax, [rbp - 0x70]
mov qword [rsi + 0xd0], rax
movsxd r8, dword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rsi + 0x10]
shl r8, 2
call fcn.140014710
mov r8, qword [rbp - 0x78]
movzx eax, byte [r8 + 2]
movzx r11d, byte [r8 + 1]
shl r11d, 8
movsxd rcx, r11d
or rcx, rax
add r8, rcx
mov qword [rbp - 0x78], r8
mov al, byte [r8]
cmp al, 0x54
jne 0x140047675
mov ecx, dword [rbp + 0x118]
mov r9d, dword [rbp - 0x7c]
mov r10d, dword [rbp + 0x110]
jmp 0x140047574
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x50]
cmp rcx, rdx
je 0x14004599c
call qword [case.0x1400722fe.0]
mov eax, dword [rbp - 0x80]
jmp 0x14004599c
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x140047b8a
call qword [case.0x1400722fe.0]
jmp 0x140047b8a
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x1400476ba
call qword [case.0x1400722fe.0]
mov ebx, 1
jmp 0x140047b8a
mov eax, dword [rbp + 0x138]
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x40], edx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x7c]
jmp 0x140047892
mov rax, qword [rbp + 0x100]
mov qword [rsi + 0xa0], rdi
mov dword [rsi + 0xb4], r10d
mov qword [rsi + 0x98], rax
jmp 0x1400476ba
mov eax, 1
jmp 0x14004599c
dec ecx
je 0x140047796
dec ecx
jne 0x140040370
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x99710]
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
add rdx, r11
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
je 0x140047d61
cmp eax, 0xfffffc1e
je 0x140047d61
jmp 0x14004599c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r8, qword [rbp + 0x100]
inc ecx
lea rdx, [0x140000000]
lea r9, [r11 + 2]
movzx eax, byte [rax + rdx + 0x99710]
movzx edx, byte [r11 + 1]
mov dword [rsp + 0x48], ecx
add rax, r11
mov rcx, rdi
add rdx, rax
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
mov ecx, eax
mov dword [rbp + 0x118], eax
cmp eax, 0xfffffc1d
jne 0x14004783e
mov rcx, qword [rbp + 0xf8]
mov rdx, qword [rsi + 0x98]
add rcx, 2
call fcn.1400176b0
test eax, eax
jne 0x140047838
mov qword [rsi + 0x98], rdi
mov eax, 0xfffffc1c
jmp 0x14004599c
mov ecx, dword [rbp + 0x118]
cmp qword [rsi + 0xe0], rbx
jne 0x140047859
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, ecx
jmp 0x14004599c
mov dword [rbp - 0x80], ebx
jmp 0x140047d61
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
mov dword [rsp + 0x48], eax
mov eax, 2
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov r8, qword [rbp + 0x100]
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
jmp 0x14004599c
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x99710]
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
add rdx, r11
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
mov rcx, rdi
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x110]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov rcx, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rcx
jmp 0x14004599c
mov rdx, qword [rsi + 0x10]
cdqe
mov r8d, dword [rdx + rax*4]
mov eax, dword [rdx + rax*4 + 4]
mov dword [rsp + 0x60], eax
movsxd rax, ecx
movsxd rcx, dword [rsi + 0x18]
sub rcx, rax
mov dword [rsp + 0x68], r8d
mov r8d, dword [rbp + 0x138]
mov eax, dword [rdx + rcx*4]
mov dword [rsp + 0x70], eax
mov eax, dword [rsi + 0xb8]
mov dword [rbp + 0x118], eax
mov eax, edi
sub eax, dword [rsi + 0x88]
cmp r9d, 0x62
mov dword [rdx + rcx*4], eax
mov ecx, ebx
mov eax, 2
cmove ecx, eax
inc r8d
mov dword [rbp - 0x80], r8d
mov dword [rbp - 0x7c], ecx
movzx eax, byte [r11]
mov r9, qword [rbp + 0x108]
mov dword [rsp + 0x48], r8d
mov r8, qword [rbp + 0x100]
mov dword [rsp + 0x40], ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x99710]
mov rax, qword [rbp + 0x128]
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x120]
add rdx, r11
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
mov r11d, eax
test eax, eax
je 0x140047a19
cmp eax, 0xfffffc1e
jne 0x14004599c
mov r8, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r8
jne 0x14004599c
jmp 0x140047a20
mov r8, qword [rbp + 0xf8]
mov eax, dword [rbp + 0x118]
mov dword [rsi + 0xb8], eax
movzx ecx, byte [r8 + 1]
movzx eax, byte [r8 + 2]
shl ecx, 8
movsxd rdx, ecx
or rdx, rax
add r8, rdx
mov qword [rbp + 0xf8], r8
cmp byte [r8], 0x54
jne 0x140047a69
mov ecx, dword [rbp - 0x7c]
mov r8d, dword [rbp - 0x80]
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x14004799c
mov rax, qword [rsi + 0x10]
mov edx, dword [rsp + 0x68]
movsxd r8, dword [rsp + 0x50]
mov dword [rax + r8*4], edx
mov rax, qword [rsi + 0x10]
mov edx, dword [rsp + 0x60]
mov dword [rax + r8*4 + 4], edx
movsxd rcx, dword [rsi + 0x18]
movsxd rdx, dword [rsp + 0x58]
mov rax, qword [rsi + 0x10]
sub rcx, rdx
mov edx, dword [rsp + 0x70]
mov dword [rax + rcx*4], edx
cmp r11d, 0xfffffc1e
je 0x140047ab5
mov rax, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rax
xor eax, eax
jmp 0x14004599c
movzx eax, byte [r11]
mov r9, qword [rbp + 0x108]
inc ecx
mov dword [rsp + 0x48], ecx
lea rdx, [0x140000000]
mov rcx, rdi
movzx eax, byte [rax + rdx + 0x99710]
movzx edx, byte [r11 + 1]
add rax, r11
add rdx, rax
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
je 0x140047b2a
cmp eax, 0xfffffc1e
jne 0x14004599c
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, 0xfffffc1b
jmp 0x14004599c
cmp rdi, rdx
jne 0x140047b68
cmp dword [rsi + 0x6c], ebx
jne 0x140047b8a
cmp dword [rsi + 0x70], ebx
je 0x140047b68
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdx, rax
je 0x140047b8a
neg r9d
mov qword [rsi + 0xa0], rdi
mov dword [rsi + 0xb4], r10d
sbb eax, eax
mov qword [rsi + 0x98], rdx
and eax, 0xfffffc18
lea ebx, [rax + 1]
mov rax, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rax
mov eax, ebx
jmp 0x14004599c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x99710]
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
add rdx, r11
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
je 0x140047c20
cmp eax, 0xfffffc1b
je 0x140047c20
cmp eax, 0xfffffc1c
je 0x140047c20
cmp eax, 0xfffffc1d
je 0x140047c20
cmp eax, 0xfffffc1e
jne 0x14004599c
mov dword [rbp - 0x80], 0xfffffc1a
jmp 0x140047d61
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x99710]
movzx edx, byte [r11 + 3]
mov dword [rsp + 0x48], ecx
add rax, r11
mov rcx, rdi
add rdx, rax
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov rax, qword [rbp + 0xf8]
movzx ecx, byte [rax + 1]
shl ecx, 8
movsxd rdx, ecx
movzx ecx, byte [rax + 2]
or rdx, rcx
mov rcx, rax
sub rcx, rdx
mov qword [rsi + 0x98], rcx
lea rcx, [rax + 4]
mov eax, 0xfffffc1e
mov qword [rsi + 0xe0], rcx
jmp 0x14004599c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x99710]
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
add rdx, r11
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
jne 0x14004599c
mov rdx, qword [rbp + 0xf8]
mov dword [rbp - 0x80], 0xfffffc1e
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
sub rdx, rcx
mov qword [rsi + 0x98], rdx
mov rax, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rax
mov eax, dword [rbp - 0x80]
jmp 0x14004599c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x99710]
movzx edx, byte [r11 + 1]
mov dword [rsp + 0x48], ecx
add rax, r11
mov rcx, rdi
add rdx, rax
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
je 0x140047df2
cmp eax, 0xfffffc1b
je 0x140047df2
cmp eax, 0xfffffc1e
jne 0x14004599c
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0x98], rax
mov eax, 0xfffffc1d
jmp 0x14004599c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x99710]
mov eax, dword [rbp + 0x130]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x128]
add rdx, r11
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r8d
mov r8, qword [rbp + 0x100]
mov rcx, rdi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
call fcn.14003f970
test eax, eax
je 0x140047e81
cmp eax, 0xfffffc1b
je 0x140047e81
cmp eax, 0xfffffc1e
jne 0x14004599c
mov qword [rsi + 0x98], rdi
mov ebx, 0xfffffc1c
jmp 0x140047b8a
mov eax, 0xffffffeb
jmp 0x14004599c