Function at 0x14003f760
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 0x140045785
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 0x140047c82
mov r8d, dword [rbp + 0x120]
mov dword [rbp - 0x7c], r8d
test byte [rbp + 0x130], dl
je 0x14003f7f3
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 0x14003f826
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov ecx, dword [rbp + 0x138]
jmp 0x14003f82b
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 0x140041e02
je 0x1400416aa
cmp r9d, 0x18
jg 0x140040868
je 0x140040b1a
cmp r9d, 0xb
jg 0x14004010c
je 0x140040022
cmp r9d, 6
jg 0x14003fc4f
je 0x14003fb60
test r9d, r9d
je 0x14004542d
cmp r9d, 1
je 0x140040c1e
cmp r9d, eax
je 0x14003fb3a
cmp r9d, 3
je 0x14003fb2b
jle 0x140040160
cmp r9d, 5
jg 0x140040160
cmp dword [rbp + 0x118], ebx
je 0x14003fa80
cmp rdi, qword [rsi + 0x88]
je 0x14003f9cd
lea r8, [rdi - 1]
jmp 0x14003f908
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x14003f82b
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044ce4
dec r8
mov al, byte [r8]
and al, 0xc0
cmp al, 0x80
je 0x14003f905
cmp r8, qword [rsi + 0xa8]
jae 0x14003f921
mov qword [rsi + 0xa8], r8
movzx edx, byte [r8]
cmp edx, 0xc0
jb 0x14003f9b5
movzx ecx, byte [r8 + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003f948
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003f9b1
movzx eax, byte [r8 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003f964
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003f9b1
movzx eax, byte [r8 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f980
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003f9b1
movzx eax, byte [r8 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f99c
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003f9b1
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 0x14003f9cd
mov rax, qword [rsi + 0x48]
mov r8d, 1
test byte [rdx + rax], 0x10
jne 0x14003f9d0
mov r8d, ebx
cmp rdi, qword [rsi + 0x90]
jae 0x14003fac0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x14003fa67
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003f9fe
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003fa63
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003fa19
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003fa63
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fa34
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003fa63
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fa4f
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003fa63
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 0x14003fae5
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x14003fae5
mov ecx, 1
jmp 0x14003fafa
cmp rdi, qword [rsi + 0x88]
jne 0x14003fa8e
mov r8d, ebx
jmp 0x14003fab7
cmp rdi, qword [rsi + 0xa8]
ja 0x14003faa2
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 0x14003fae9
cmp dword [rsi + 0xb0], ebx
je 0x14003fae5
cmp rdi, qword [rsi + 0xa8]
jbe 0x14003fae5
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
mov ecx, ebx
jmp 0x14003fafa
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 0x14003fb20
cmp ecx, r8d
je 0x14004797a
mov rdx, qword [rbp + 0x100]
jmp 0x140044cd7
cmp ecx, r8d
jne 0x14004797a
jmp 0x14003fb14
mov rdx, rdi
mov qword [rbp + 0x100], rdx
jmp 0x140040c2b
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdi, rax
jne 0x140047897
inc r11
mov qword [rbp + 0xf8], r11
jmp 0x140044ce4
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fc31
cmp edx, 0xc0
jb 0x14003fc31
test dl, 0x20
jne 0x14003fba6
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fc31
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 0x14003fbcf
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003fc31
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fbf2
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fc31
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fc15
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fc31
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 0x14003fc47
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x14004797a
inc r11
jmp 0x14004548d
sub r9d, 7
je 0x14003ff32
dec r9d
je 0x14003fe48
dec r9d
je 0x14003fd5e
dec r9d
jne 0x140040160
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fd45
cmp edx, 0xc0
jb 0x14003fd45
test dl, 0x20
jne 0x14003fcba
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fd45
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 0x14003fce3
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003fd45
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fd06
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fd45
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fd29
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fd45
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 0x14003fc47
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x14003fc41
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fe2f
cmp edx, 0xc0
jb 0x14003fe2f
test dl, 0x20
jne 0x14003fda4
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fe2f
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 0x14003fdcd
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003fe2f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fdf0
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fe2f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fe13
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fe2f
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 0x14004797a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x140040017
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003ff19
cmp edx, 0xc0
jb 0x14003ff19
test dl, 0x20
jne 0x14003fe8e
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003ff19
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 0x14003feb7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003ff19
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003feda
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003ff19
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fefd
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003ff19
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 0x14003fc47
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x14003fc41
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040003
cmp edx, 0xc0
jb 0x140040003
test dl, 0x20
jne 0x14003ff78
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040003
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 0x14003ffa1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140040003
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003ffc4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040003
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003ffe7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040003
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 0x14004797a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x14004797a
jmp 0x14003fc47
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400400f3
cmp edx, 0xc0
jb 0x1400400f3
test dl, 0x20
jne 0x140040068
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400400f3
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 0x140040091
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400400f3
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400400b4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400400f3
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400400d7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400400f3
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 0x14004797a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x140040017
sub r9d, 0xc
je 0x1400407b4
dec r9d
je 0x140040822
dec r9d
je 0x14004076a
sub r9d, 3
je 0x140040634
dec r9d
je 0x1400404e4
dec r9d
je 0x140040394
dec r9d
je 0x14004027f
dec r9d
je 0x14004016a
mov eax, 2
cmp r9d, eax
je 0x140040a61
mov eax, 0xfffffffb
jmp 0x14004578c
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004023f
cmp edx, 0xc0
jb 0x14004023f
test dl, 0x20
jne 0x1400401b0
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004023f
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 0x1400401dd
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040244
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040200
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004023f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040223
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004023f
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 0x14004797a
cmp edx, 0xd
jbe 0x1400409da
cmp edx, 0x85
je 0x1400409da
cmp edx, 0x2027
jbe 0x14004797a
cmp edx, 0x2029
ja 0x14004797a
jmp 0x1400409da
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040354
cmp edx, 0xc0
jb 0x140040354
test dl, 0x20
jne 0x1400402c5
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040354
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 0x1400402f2
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040359
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040315
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040354
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040338
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040354
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 0x1400409da
cmp edx, 0xd
jbe 0x14004797a
cmp edx, 0x85
je 0x14004797a
cmp edx, 0x2027
jbe 0x1400409da
cmp edx, 0x2029
jbe 0x14004797a
jmp 0x1400409da
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040469
cmp edx, 0xc0
jb 0x140040469
test dl, 0x20
jne 0x1400403da
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040469
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 0x140040407
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14004046e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004042a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040469
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004044d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040469
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 0x1400404a3
je 0x1400409da
cmp edx, 9
je 0x1400409da
cmp edx, 0x20
je 0x1400409da
cmp edx, 0xa0
je 0x1400409da
cmp edx, 0x1680
jmp 0x1400404d9
cmp edx, 0x2000
jb 0x14004797a
cmp edx, 0x200a
jbe 0x1400409da
cmp edx, 0x202f
je 0x1400409da
cmp edx, 0x205f
je 0x1400409da
cmp edx, 0x3000
jne 0x14004797a
jmp 0x1400409da
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400405b9
cmp edx, 0xc0
jb 0x1400405b9
test dl, 0x20
jne 0x14004052a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400405b9
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 0x140040557
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x1400405be
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004057a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400405b9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004059d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400405b9
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 0x1400405f3
je 0x14004797a
cmp edx, 9
je 0x14004797a
cmp edx, 0x20
je 0x14004797a
cmp edx, 0xa0
je 0x14004797a
cmp edx, 0x1680
jmp 0x140040629
cmp edx, 0x2000
jb 0x1400409da
cmp edx, 0x200a
jbe 0x14004797a
cmp edx, 0x202f
je 0x14004797a
cmp edx, 0x205f
je 0x14004797a
cmp edx, 0x3000
je 0x14004797a
jmp 0x1400409da
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004070c
cmp edx, 0xc0
jb 0x14004070c
test dl, 0x20
jne 0x14004067d
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004070c
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 0x1400406aa
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040711
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400406cd
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004070c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400406f0
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004070c
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 0x14004074f
jbe 0x14004797a
cmp edx, 0xc
jbe 0x140040746
cmp edx, 0xd
je 0x14004075b
cmp edx, 0x85
je 0x140040746
cmp edx, 0x2027
jbe 0x14004797a
cmp edx, 0x2029
ja 0x14004797a
cmp dword [rsi + 0x78], ebx
jne 0x14004797a
mov r8d, dword [rbp + 0x120]
jmp 0x1400409da
cmp rdi, r8
jae 0x14004074f
cmp byte [rdi], 0xa
jne 0x14004074f
inc rdi
jmp 0x14004074f
mov rax, rdi
inc rdi
cmp rax, qword [rsi + 0x90]
jb 0x14003fb51
cmp dword [rsi + 0xb0], ebx
je 0x14004797a
cmp rdi, qword [rsi + 0xa8]
jbe 0x14004797a
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jle 0x14004797a
mov ebx, 0xfffffff4
jmp 0x14004797a
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400407f2
cmp rdi, qword [rsi + 0x90]
jae 0x140040822
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035990
test eax, eax
jne 0x14004797a
mov r11, qword [rbp + 0xf8]
jmp 0x140040822
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140040822
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140040822
cmp dword [rsi + 0x24], 1
je 0x14004797a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004797a
mov rcx, qword [rsi + 0x90]
mov rax, rdi
inc rdi
cmp rax, rcx
jae 0x14004077d
cmp dword [rbp + 0x118], ebx
je 0x140040852
jmp 0x14004084d
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140040852
inc rdi
cmp rdi, rcx
jb 0x140040842
inc r11
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x140044cd0
cmp r9d, 0x28
jg 0x1400410b8
je 0x140041096
cmp r9d, 0x1d
jg 0x140040eb6
je 0x140040c50
sub r9d, 0x19
je 0x140040c30
dec r9d
je 0x140040b59
dec r9d
je 0x140040979
dec r9d
jne 0x140040160
cmp dword [rbp + 0x118], ebx
je 0x140040951
mov r9d, 1
add r11, r9
mov edx, r9d
movzx eax, byte [r11]
mov qword [rbp + 0xf8], r11
cmp eax, 0xc0
jb 0x140040902
test al, 0x20
jne 0x1400408e1
lea edx, [r9 + 1]
jmp 0x140040902
test al, 0x10
jne 0x1400408ec
mov edx, 3
jmp 0x140040902
test al, 8
jne 0x1400408f7
mov edx, 4
jmp 0x140040902
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 0x14004579f
mov ecx, dword [rbp + 0x138]
mov eax, 2
test edx, edx
jle 0x14003f82b
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 0x14004797a
test edx, edx
jg 0x14004092b
jmp 0x140045494
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x14004077d
mov al, byte [rdi]
inc rdi
cmp byte [r11 + 1], al
jne 0x14004797a
jmp 0x140040c3c
mov eax, 2
test al, r8b
je 0x140040a4f
cmp rdi, qword [rsi + 0x90]
jae 0x140040a1f
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400409e9
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035990
test eax, eax
je 0x140047897
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 0x14003f80a
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140047897
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140047897
cmp dword [rsi + 0x24], 1
je 0x1400409ce
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140047897
jmp 0x1400409ce
cmp dword [rsi + 0x58], ebx
jne 0x14004797a
cmp dword [rsi + 0xb0], ebx
je 0x1400409d3
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400409d3
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
jmp 0x1400409d3
cmp dword [rsi + 0x58], ebx
jne 0x14004797a
cmp dword [rsi + 0x68], ebx
jne 0x140040b1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040ae8
mov edx, dword [rsi + 0x20]
lea r9, [rsi + 0x24]
test edx, edx
je 0x140040a9f
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035990
test eax, eax
je 0x14004797a
mov r11, qword [rbp + 0xf8]
jmp 0x140040ad2
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x14004797a
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x14004797a
cmp dword [r9], 1
je 0x140040ad2
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x14004797a
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
jne 0x14004797a
cmp dword [rsi + 0xb0], ebx
je 0x140040852
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040852
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
jmp 0x140040852
cmp rdi, qword [rsi + 0x90]
jb 0x14004797a
cmp dword [rsi + 0xb0], ebx
je 0x140040c2b
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040c2b
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
jmp 0x140040c2b
cmp dword [rsi + 0x54], ebx
je 0x140040b6b
cmp rdi, qword [rsi + 0x88]
je 0x140047897
mov eax, 2
test al, r8b
je 0x140040c1e
mov rax, qword [rsi + 0x88]
cmp rdi, rax
je 0x140040c16
cmp rdi, qword [rsi + 0x90]
je 0x140047897
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040bdb
cmp rdi, rax
jbe 0x140047897
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x88]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035800
test eax, eax
je 0x140047897
mov r11, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
jmp 0x140040c16
movsxd rdx, dword [rsi + 0x24]
mov rax, qword [rsi + 0x88]
lea rcx, [rdx + rax]
cmp rdi, rcx
jb 0x140047897
mov al, byte [rsi + 0x38]
mov rcx, rdi
sub rcx, rdx
cmp byte [rcx], al
jne 0x140047897
cmp dword [rsi + 0x24], 1
je 0x140040c16
mov al, byte [rsi + 0x39]
cmp byte [rcx + 1], al
jne 0x140047897
inc r11
jmp 0x1400447d4
cmp rdi, qword [rsi + 0x88]
jne 0x140047897
inc r11
jmp 0x140040c44
movzx r8d, byte [r11 + 1]
mov dword [rbp + 0x120], r8d
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
jmp 0x14003f832
cmp dword [rbp + 0x118], ebx
je 0x140040e6a
inc r11
mov eax, 1
movzx r9d, byte [r11]
mov r8d, r9d
cmp r9d, 0xc0
jb 0x140040d40
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r9b, 0x20
jne 0x140040ca0
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140040d40
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 0x10
jne 0x140040cca
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140040d40
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 8
jne 0x140040cf4
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140040d40
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 4
jne 0x140040d1e
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140040d40
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 0x140046308
cmp r8d, 0x80
jae 0x140040d8d
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 0x14004797a
mov r10d, dword [rbp + 0x110]
jmp 0x14003fb14
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140040e49
test dl, 0x20
jne 0x140040dba
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040e49
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 0x140040de7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040e4e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040e0a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040e49
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040e2d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040e49
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 0x14004797a
mov r10d, dword [rbp + 0x110]
jmp 0x140040eaa
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x14004077d
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 0x14004797a
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
mov r8d, dword [rbp + 0x120]
jmp 0x14003f80a
cmp r9d, 0x1e
je 0x140040f53
jle 0x140040160
cmp r9d, 0x24
jle 0x140040f02
cmp r9d, 0x26
jle 0x14004115d
cmp r9d, 0x27
jne 0x140040160
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 0x1400411bb
lea eax, [r9 - 0x1f]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x98848]
movsx edx, byte [rcx + rax + 0x98788]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r10d
test r10d, r10d
jne 0x1400411bf
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x1400411bf
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004103d
cmp r8d, 0xc0
jb 0x14004103d
test r8b, 0x20
jne 0x140040f9f
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004103d
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 0x140040fcd
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004103d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140040ff5
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004103d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004101d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004103d
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 0x140041078
cmp r8d, 0x100
jae 0x140041058
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 0x14003fb0e
movzx eax, byte [r11 + 1]
add r11, 2
mov qword [rbp + 0xf8], r11
cmp eax, r8d
je 0x14004797a
jmp 0x140044cd7
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 0x1400411bf
cmp r9d, 0x33
jg 0x140041636
cmp r9d, 0x32
jge 0x140041609
cmp r9d, 0x29
je 0x14004119f
cmp r9d, 0x2a
je 0x14004118f
cmp r9d, 0x2b
je 0x140041155
jle 0x140040160
cmp r9d, 0x31
jg 0x140040160
lea eax, [r9 - 0x2c]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x98848]
movsx edx, byte [rcx + rax + 0x98788]
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 0x1400416d9
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x1400416d9
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 0x1400411bf
mov r10d, 1
mov dword [rsp + 0x5c], r10d
jmp 0x1400410a2
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 0x1400413ec
mov eax, 1
mov r9, r11
mov qword [rbp - 0x78], r11
mov dword [rsp + 0x68], eax
cmp r8d, 0xc0
jb 0x1400412c2
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041219
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x1400412b9
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041243
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x1400412b9
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x14004126d
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x1400412b9
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041297
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x1400412b9
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 0x1400413f6
mov dword [rsp + 0x50], 1
cmp edx, 1
jl 0x14004133c
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140046308
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.1400151f0
test eax, eax
jne 0x140046308
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 0x1400412ea
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x5c]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
cmp edx, eax
je 0x14003f820
cmp dword [rsp + 0x60], ebx
jne 0x1400458ad
mov qword [rsp + 0x50], rdi
cmp edx, eax
jge 0x1400413d6
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x1400413a8
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.1400151f0
test eax, eax
jne 0x1400413a8
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 0x140041369
jmp 0x1400413d6
cmp dword [rsi + 0xb0], ebx
je 0x1400413d6
cmp rdi, qword [rsi + 0x90]
jb 0x1400413d6
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400413d6
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
cmp dword [rsp + 0x70], ebx
je 0x1400457d5
mov r11, qword [rbp + 0xf8]
jmp 0x140040d81
inc r11
mov qword [rbp + 0xf8], r11
mov r9d, dword [rbp + 0x120]
test r9b, 1
je 0x140041548
mov r11, qword [rsi + 0x40]
movzx r9d, byte [r8 + r11]
mov r8d, 1
mov dword [rsp + 0x50], r9d
cmp edx, r8d
jl 0x140041449
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x14004797a
inc r8d
cmp r8d, edx
jle 0x140041420
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003f8d8
cmp dword [rsp + 0x60], ebx
jne 0x1400459b5
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x1400414c0
cmp rdi, qword [rsi + 0x90]
jae 0x140041496
movzx eax, byte [rdi]
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x1400414bb
inc edx
inc rdi
cmp edx, r10d
jl 0x140041474
jmp 0x1400414bb
cmp dword [rsi + 0xb0], ebx
je 0x1400414bb
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400414bb
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x1400413e0
cmp rdi, rax
jb 0x14004797a
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.14003f760
dec rdi
test eax, eax
jne 0x14004578c
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x1400414e1
jmp 0x14004797a
mov ecx, 1
cmp edx, ecx
jl 0x140041573
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp r8d, eax
jne 0x14004797a
inc ecx
cmp ecx, edx
jle 0x140041551
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003f8df
cmp dword [rsp + 0x60], ebx
jne 0x140045ad6
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x1400415e5
cmp rdi, qword [rsi + 0x90]
jae 0x1400415bb
movzx eax, byte [rdi]
cmp r8d, eax
jne 0x1400415e0
inc edx
inc rdi
cmp edx, r10d
jl 0x14004159e
jmp 0x1400415e0
cmp dword [rsi + 0xb0], ebx
je 0x1400415e0
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400415e0
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x140045a57
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
mov rdx, qword [rbp + 0x100]
jmp 0x140044ce4
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 0x1400416c3
sub r9d, 0x34
je 0x140041690
dec r9d
je 0x140041671
dec r9d
je 0x140041666
dec r9d
jne 0x140040160
mov dword [rsp + 0x70], 1
mov edx, ebx
mov dword [rsp + 0x58], ebx
lea r10d, [r9 + 1]
inc r11
jmp 0x1400416cd
mov edx, 1
mov dword [rsp + 0x58], edx
jmp 0x140041677
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 0x1400416d2
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 0x1400416c9
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 0x140041acf
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
movzx r11d, byte [r11 + r9]
mov dword [rsp + 0x50], r11d
test eax, eax
je 0x1400418a2
mov r9d, 1
cmp edx, r9d
jl 0x1400418db
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140041806
test r8b, 0x20
jne 0x140041768
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140041806
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 0x140041796
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140041806
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400417be
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140041806
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400417e6
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140041806
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 0x140041818
mov rcx, qword [rsi + 0x40]
movzx r8d, byte [r8 + rcx]
cmp r11d, r8d
je 0x14004797a
inc r9d
cmp r9d, edx
jle 0x140041728
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
cmp edx, r10d
je 0x14003f812
cmp dword [rsp + 0x60], ebx
jne 0x140045c01
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp dword [rbp + 0x118], ebx
jne 0x1400419d9
cmp edx, r10d
jge 0x140041a45
cmp rdi, qword [rsi + 0x90]
jae 0x140041a1b
movzx eax, byte [rdi]
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140041a40
inc edx
inc rdi
cmp edx, r10d
jl 0x140041875
jmp 0x140041a40
mov r8d, 1
cmp edx, r8d
jl 0x14004183e
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x14004797a
inc r8d
cmp r8d, edx
jle 0x1400418ad
jmp 0x140041831
mov r9, qword [rsi + 0x40]
jmp 0x140041845
mov ecx, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400419e4
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x1400419be
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x14004192b
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
mov ecx, 2
shl eax, 6
jmp 0x1400419bb
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041951
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
mov ecx, 3
shl eax, 0xc
jmp 0x1400419bb
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041977
and r8d, 7
mov eax, r8d
mov r8d, ecx
mov ecx, 4
shl eax, 0x12
jmp 0x1400419bb
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004199d
and r8d, 3
mov eax, r8d
mov r8d, ecx
mov ecx, 5
shl eax, 0x18
jmp 0x1400419bb
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 0x1400419cc
movzx r8d, byte [r8 + r9]
cmp r11d, r8d
je 0x140041a04
movsxd rax, ecx
add rdi, rax
inc edx
cmp edx, r10d
jl 0x1400418e4
jmp 0x140041a04
cmp dword [rsi + 0xb0], ebx
je 0x140041a04
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041a04
mov dword [rsi + 0x74], ecx
cmp dword [rsi + 0xb0], ecx
jg 0x1400407aa
cmp dword [rsp + 0x70], ebx
jne 0x1400413e0
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140045bae
cmp dword [rsi + 0xb0], ebx
je 0x140041a40
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041a40
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x140041def
cmp rdi, rax
jb 0x14004797a
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.14003f760
test eax, eax
jne 0x14004578c
mov eax, dword [rbp + 0x118]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x140041a66
jmp 0x14004797a
mov r9d, dword [rbp + 0x118]
test r9d, r9d
je 0x140041c50
mov r9d, 1
cmp edx, r9d
jl 0x140041bef
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140041bcc
test r8b, 0x20
jne 0x140041b2e
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140041bcc
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 0x140041b5c
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140041bcc
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041b84
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140041bcc
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041bac
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140041bcc
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 0x14004797a
inc r9d
cmp r9d, edx
jle 0x140041aee
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
mov r9d, dword [rbp + 0x118]
mov eax, 2
cmp edx, r10d
je 0x14003f7fc
cmp dword [rsp + 0x60], ebx
jne 0x140045f47
mov rax, rdi
mov qword [rsp + 0x50], rax
test r9d, r9d
jne 0x140041d79
cmp edx, r10d
jge 0x140041de5
cmp rdi, qword [rsi + 0x90]
jae 0x140041dbb
movzx eax, byte [rdi]
cmp r11d, eax
je 0x140041de0
inc edx
inc rdi
cmp edx, r10d
jl 0x140041c28
jmp 0x140041de0
mov ecx, 1
cmp edx, ecx
jl 0x140041c7b
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp r11d, eax
je 0x14004797a
inc ecx
cmp ecx, edx
jle 0x140041c59
mov rcx, qword [rbp + 0xf8]
jmp 0x140041bf6
mov eax, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140041d84
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140041d6d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041cd1
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140041d6d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041cfa
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140041d6d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041d23
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140041d6d
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041d4c
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140041d6d
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 0x140041da4
cdqe
add rdi, rax
inc edx
cmp edx, r10d
jl 0x140041c87
jmp 0x140041da4
cmp dword [rsi + 0xb0], ebx
je 0x140041da4
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041da4
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jg 0x1400407aa
cmp dword [rsp + 0x70], ebx
jne 0x1400413e0
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140045e71
cmp dword [rsi + 0xb0], ebx
je 0x140041de0
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041de0
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x140045ec4
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x140045494
cmp r9d, 0x5e
jg 0x140044cee
je 0x140045636
cmp r9d, 0x52
jg 0x1400445cf
je 0x14004728b
cmp r9d, 0x44
jg 0x140041f3a
je 0x140041f2d
cmp r9d, 0x39
jl 0x140040160
cmp r9d, 0x3e
jle 0x140041ee0
cmp r9d, 0x40
jle 0x140041eb8
cmp r9d, 0x41
je 0x140041e8d
cmp r9d, 0x42
je 0x140041e7c
cmp r9d, 0x43
jne 0x140040160
lea r10d, [r9 - 0x42]
mov eax, 0x7fffffff
inc r11
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
jmp 0x14004263b
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
inc r11
jmp 0x140042634
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 0x140042643
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 0x140041eab
lea eax, [r9 - 0x39]
inc r11
movzx r8d, al
mov ecx, eax
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x98788]
movsx eax, byte [rcx + rax + 0x98848]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
test eax, eax
jne 0x140042643
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
jmp 0x140042643
mov dword [rsp + 0x5c], 1
jmp 0x140041e85
cmp r9d, 0x45
je 0x14004261d
cmp r9d, 0x4d
jle 0x140040160
cmp r9d, 0x4f
jle 0x140042357
cmp r9d, 0x50
je 0x140042124
cmp r9d, 0x51
jne 0x140040160
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 0x140041faf
mov rcx, qword [rsi + 0x10]
movsxd rax, r10d
cmp dword [rcx + rax*4], ebx
jl 0x140041faf
mov edx, dword [rcx + rax*4 + 4]
sub edx, dword [rcx + rax*4]
jmp 0x140041fc2
cmp dword [rsi + 0x60], ebx
je 0x140041fb8
mov edx, ebx
jmp 0x140041fc2
mov edx, dword [rsi + 0x90]
sub edx, edi
inc edx
mov al, byte [r11]
mov dword [rsp + 0x60], edx
cmp al, 0x46
jb 0x1400420f9
cmp al, 0x4b
jbe 0x14004201e
cmp al, 0x4d
ja 0x1400420f9
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 0x14004205e
movzx eax, byte [r11]
lea r8, [0x140000000]
inc r11
sub eax, 0x46
movzx r9d, al
movsx ecx, byte [rax + r8 + 0x98788]
movsx eax, byte [rax + r8 + 0x98848]
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 0x14003f803
mov dword [rsp + 0x70], 1
cmp ecx, 1
jl 0x1400420d3
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035c00
test eax, eax
je 0x140046308
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 0x14004208a
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x140040d81
cmp dword [rsp + 0x5c], ebx
je 0x14004620e
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x1400461be
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
call fcn.140035c00
test eax, eax
je 0x140046308
movsxd rax, dword [rsp + 0x60]
add rdi, rax
jmp 0x1400413e0
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 0x1400421f1
cmp al, 0x4b
jbe 0x1400421a5
cmp al, 0x4d
ja 0x1400421f1
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 0x1400421fe
movzx eax, byte [r11]
lea rdx, [0x140000000]
inc r11
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx ecx, byte [rax + rdx + 0x98788]
movzx r8d, al
movsx eax, byte [rax + rdx + 0x98848]
and r8d, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], r8d
test eax, eax
jne 0x140042202
mov eax, 0x7fffffff
mov dword [rsp + 0x68], eax
jmp 0x140042202
mov dword [rsp + 0x68], 1
mov ecx, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x50], 1
cmp ecx, 1
jl 0x140042331
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400422fd
cmp r8d, 0xc0
jb 0x1400422fd
test r8b, 0x20
jne 0x14004225f
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x1400422fd
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 0x14004228d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x1400422fd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400422b5
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x1400422fd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400422dd
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x1400422fd
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.140035230
test eax, eax
je 0x14004797a
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 0x140042213
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x140040d81
cmp dword [rsp + 0x60], ebx
je 0x140046495
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x140046445
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 0x14004241f
cmp al, 0x4b
jbe 0x1400423cb
cmp al, 0x4d
ja 0x14004241f
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 0x140042428
movzx eax, byte [r11]
inc r11
lea rcx, [0x140000000]
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx r11d, byte [rax + rcx + 0x98848]
movsx r10d, byte [rax + rcx + 0x98788]
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 0x140042432
mov eax, 0x7fffffff
mov r11d, eax
mov dword [rsp + 0x58], eax
jmp 0x140042432
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 0x140042582
mov eax, 1
mov dword [rsp + 0x68], eax
cmp r10d, eax
jl 0x1400425d7
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140042534
test r8b, 0x20
jne 0x140042492
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140042530
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 0x1400424c0
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140042530
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400424e8
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140042530
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140042510
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140042530
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 0x140042549
cmp r9d, 0x4e
je 0x14004797a
jmp 0x140042571
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 0x14004797a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x140042452
jmp 0x1400425d7
mov dword [rsp + 0x68], 1
cmp r10d, 1
jl 0x1400425dd
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
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 0x14004797a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x140042590
mov eax, dword [rbp + 0x118]
cmp r10d, r11d
je 0x1400413e0
cmp dword [rsp + 0x60], ebx
je 0x1400468ab
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 0x1400467f8
inc eax
jmp 0x1400467b9
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 0x140043480
test eax, eax
je 0x14004304c
cmp r9d, 0xd
jg 0x140042a22
je 0x1400429e6
mov ecx, r9d
sub ecx, 6
je 0x1400428eb
dec ecx
je 0x1400428a3
dec ecx
je 0x140042851
dec ecx
je 0x140042809
dec ecx
je 0x1400427b7
dec ecx
je 0x14004276f
dec ecx
jne 0x140046b6e
lea r8d, [rcx + 1]
mov dword [rsp + 0x50], r8d
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140042710
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035990
test eax, eax
jne 0x14004797a
mov r8d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
jmp 0x140042740
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140042740
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140042740
cmp dword [rsi + 0x24], 1
je 0x14004797a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004797a
mov rcx, qword [rsi + 0x90]
jmp 0x140042751
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042759
inc rdi
cmp rdi, rcx
jb 0x140042749
inc r8d
mov dword [rsp + 0x50], r8d
cmp r8d, r10d
jle 0x1400426cb
jmp 0x140043126
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
cmp byte [rdi], 0x80
jae 0x14004797a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x14004277e
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x14004077d
cmp byte [rdi], 0x80
jae 0x1400427ec
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x14004797a
inc rdi
cmp rdi, rdx
jae 0x1400427fc
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400427ec
inc r8d
cmp r8d, r10d
jle 0x1400427cd
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
cmp byte [rdi], 0x80
jae 0x14004797a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140042818
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x14004077d
cmp byte [rdi], 0x80
jae 0x140042886
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x14004797a
inc rdi
cmp rdi, rdx
jae 0x140042896
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140042886
inc r8d
cmp r8d, r10d
jle 0x140042867
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
cmp byte [rdi], 0x80
jae 0x14004797a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x1400428b2
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400429bf
test dl, 0x20
jne 0x140042934
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400429bf
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 0x14004295d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400429bf
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042980
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400429bf
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400429a3
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400429bf
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 0x1400429d5
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x1400428fa
jmp 0x140043132
mov edx, 1
cmp r10d, edx
jl 0x140043480
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004077d
jmp 0x140042a0e
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042a16
inc rdi
cmp rdi, rcx
jb 0x140042a06
inc edx
cmp edx, r10d
jle 0x1400429fb
jmp 0x140043132
mov ecx, r9d
sub ecx, 0xe
je 0x140043031
sub ecx, 3
je 0x140042efc
dec ecx
je 0x140042dab
dec ecx
je 0x140042c72
dec ecx
je 0x140042b5f
dec ecx
jne 0x140046b6e
lea r8d, [rcx + 1]
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042b29
test dl, 0x20
jne 0x140042a9e
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042b29
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 0x140042ac7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042b29
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042aea
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042b29
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042b0d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042b29
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 0x14004797a
cmp edx, 0xd
jbe 0x140042b4e
cmp edx, 0x85
je 0x140042b4e
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140042a64
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042c33
test dl, 0x20
jne 0x140042ba8
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042c33
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 0x140042bd1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042c33
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042bf4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042c33
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042c17
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042c33
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 0x140042c61
cmp edx, 0xd
jbe 0x14004797a
cmp edx, 0x85
je 0x14004797a
cmp edx, 0x2027
jbe 0x140042c61
cmp edx, 0x2029
jbe 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140042b6e
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042d46
test dl, 0x20
jne 0x140042cbb
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042d46
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 0x140042ce4
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042d46
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042d07
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042d46
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042d2a
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042d46
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 0x140042d6a
je 0x140042d9a
cmp edx, 9
je 0x140042d9a
cmp edx, 0x20
je 0x140042d9a
cmp edx, 0xa0
je 0x140042d9a
cmp edx, 0x1680
jmp 0x140042d94
cmp edx, 0x2000
jb 0x14004797a
cmp edx, 0x200a
jbe 0x140042d9a
cmp edx, 0x202f
je 0x140042d9a
cmp edx, 0x205f
je 0x140042d9a
cmp edx, 0x3000
jne 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140042c81
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042e7f
test dl, 0x20
jne 0x140042df4
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042e7f
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 0x140042e1d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042e7f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042e40
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042e7f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042e63
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042e7f
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 0x140042eb3
je 0x14004797a
cmp edx, 9
je 0x14004797a
cmp edx, 0x20
je 0x14004797a
cmp edx, 0xa0
je 0x14004797a
cmp edx, 0x1680
jmp 0x140042ee5
cmp edx, 0x2000
jb 0x140042eeb
cmp edx, 0x200a
jbe 0x14004797a
cmp edx, 0x202f
je 0x14004797a
cmp edx, 0x205f
je 0x14004797a
cmp edx, 0x3000
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140042dba
jmp 0x140043132
mov r9d, 1
cmp r10d, r9d
jl 0x14004347b
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042fd3
test dl, 0x20
jne 0x140042f48
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042fd3
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 0x140042f71
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042fd3
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042f94
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042fd3
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042fb7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042fd3
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 0x140043011
jbe 0x14004797a
cmp edx, 0xc
jbe 0x140043008
cmp edx, 0xd
je 0x140043022
cmp edx, 0x85
je 0x140043008
cmp edx, 0x2027
jbe 0x14004797a
cmp edx, 0x2029
ja 0x14004797a
cmp dword [rsi + 0x78], ebx
jne 0x14004797a
inc r9d
cmp r9d, r10d
jle 0x140042f12
jmp 0x14004312d
cmp rdi, r8
jae 0x140043011
cmp byte [rdi], 0xa
jne 0x140043011
inc rdi
jmp 0x140043011
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x14004797a
jmp 0x1400432ca
cmp r9d, 0xd
jg 0x1400432d2
je 0x1400432b4
mov ecx, r9d
sub ecx, 6
je 0x140043275
dec ecx
je 0x140043236
dec ecx
je 0x1400431f7
dec ecx
je 0x1400431b8
dec ecx
je 0x140043179
dec ecx
je 0x14004313d
dec ecx
jne 0x140046b6e
mov dword [rsp + 0x50], 1
cmp r10d, 1
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400430e4
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035990
test eax, eax
jne 0x14004797a
mov r10d, dword [rsp + 0x58]
jmp 0x140043114
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043114
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043114
cmp dword [rsi + 0x24], 1
je 0x14004797a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004797a
mov eax, dword [rsp + 0x50]
inc rdi
inc eax
mov dword [rsp + 0x50], eax
cmp eax, r10d
jle 0x1400430aa
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rsp + 0x68]
mov eax, dword [rbp + 0x118]
jmp 0x140043480
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x14004314c
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
jne 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140043188
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x1400431c7
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
jne 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140043206
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140043245
jmp 0x140043132
mov r8d, 1
cmp r10d, r8d
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
jne 0x14004797a
inc r8d
cmp r8d, r10d
jle 0x140043284
jmp 0x140043132
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x14004077d
add rdi, rcx
jmp 0x140043132
mov ecx, r9d
sub ecx, 0xe
je 0x1400432b4
sub ecx, 3
je 0x140043417
dec ecx
je 0x1400433cd
dec ecx
je 0x14004338b
dec ecx
je 0x140043345
dec ecx
jne 0x140046b6e
mov ecx, 1
cmp r10d, ecx
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x14004797a
cmp eax, 0xd
jle 0x140043339
cmp eax, 0x85
jne 0x14004797a
inc ecx
cmp ecx, r10d
jle 0x14004330d
jmp 0x140043132
mov ecx, 1
cmp r10d, ecx
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x14004337f
cmp eax, 0xd
jle 0x14004797a
cmp eax, 0x85
je 0x14004797a
inc ecx
cmp ecx, r10d
jle 0x140043353
jmp 0x140043132
mov ecx, 1
cmp r10d, ecx
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x1400433c1
cmp eax, 0x20
je 0x1400433c1
cmp eax, 0xa0
jne 0x14004797a
inc ecx
cmp ecx, r10d
jle 0x140043399
jmp 0x140043132
mov ecx, 1
cmp r10d, ecx
jl 0x140043480
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x14004797a
cmp eax, 0x20
je 0x14004797a
cmp eax, 0xa0
je 0x14004797a
inc ecx
cmp ecx, r10d
jle 0x1400433db
jmp 0x140043132
mov edx, 1
cmp r10d, edx
jl 0x140043480
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
je 0x140043460
jle 0x14004797a
cmp eax, 0xc
jle 0x140043457
cmp eax, 0xd
je 0x14004346c
cmp eax, 0x85
jne 0x14004797a
cmp dword [rsi + 0x78], ebx
jne 0x14004797a
inc edx
cmp edx, r10d
jle 0x140043428
jmp 0x140043132
cmp rdi, rcx
jae 0x140043460
cmp byte [rdi], 0xa
jne 0x140043460
inc rdi
jmp 0x140043460
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x5c]
mov rdx, qword [rbp + 0x100]
mov ecx, dword [rbp + 0x138]
cmp r10d, r8d
je 0x14003f8f2
cmp dword [rsp + 0x60], ebx
jne 0x140046bf1
mov ecx, dword [rbp + 0x118]
mov rax, rdi
mov qword [rsp + 0x50], rax
test ecx, ecx
je 0x14004410a
cmp r9d, 0xc
jg 0x140043c46
je 0x140043ade
sub r9d, 6
je 0x1400439e6
dec r9d
je 0x1400438ea
dec r9d
je 0x1400437f2
dec r9d
je 0x1400436f6
dec r9d
je 0x1400435fe
dec r9d
jne 0x140046b6e
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400435cd
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14004354c
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400435c9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14004356d
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400435c9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004358e
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400435c9
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400435af
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400435c9
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 0x1400440f3
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x14004350e
jmp 0x1400440f3
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400436c9
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043648
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400436c5
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043669
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400436c5
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004368a
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400436c5
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400436ab
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400436c5
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 0x1400436df
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jne 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x14004360a
jmp 0x1400440f3
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400437c1
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043740
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400437bd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043761
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400437bd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043782
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400437bd
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400437a3
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400437bd
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 0x1400440f3
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
je 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043702
jmp 0x1400440f3
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400438bd
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14004383c
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400438b9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14004385d
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400438b9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004387e
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400438b9
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004389f
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400438b9
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 0x1400438d3
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jne 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x1400437fe
jmp 0x1400440f3
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400439b5
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043934
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400439b1
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043955
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400439b1
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043976
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400439b1
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043997
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400439b1
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 0x1400440f3
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x1400438f6
jmp 0x1400440f3
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043ab1
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043a30
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043aad
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043a51
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043aad
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043a72
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043aad
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043a93
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043aad
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 0x140043ac7
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x1400439f2
jmp 0x1400440f3
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x140043b99
cmp r10d, r8d
jge 0x1400440f3
cmp rdi, qword [rsi + 0x90]
jae 0x140044086
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043b34
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035990
test eax, eax
jne 0x1400440f3
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140043b64
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043b64
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043b64
cmp dword [rsi + 0x24], 1
je 0x1400440f3
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x1400440f3
mov rcx, qword [rsi + 0x90]
jmp 0x140043b75
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140043b7d
inc rdi
cmp rdi, rcx
jb 0x140043b6d
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x1400440f3
mov ecx, dword [rbp + 0x118]
jmp 0x140043af5
cmp r10d, r8d
jge 0x1400440f3
cmp rdi, qword [rsi + 0x90]
jae 0x140044086
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043be1
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035990
test eax, eax
jne 0x1400440f3
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140043c11
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043c11
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043c11
cmp dword [rsi + 0x24], 1
je 0x1400440f3
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x1400440f3
mov rcx, qword [rsi + 0x90]
jmp 0x140043c22
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140043c2a
inc rdi
cmp rdi, rcx
jb 0x140043c1a
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x1400440f3
mov ecx, dword [rbp + 0x118]
jmp 0x140043ba2
cmp r9d, 0xd
je 0x1400440b5
cmp r9d, 0xe
je 0x14004406f
cmp r9d, 0x11
je 0x140043f09
jle 0x140046b6e
cmp r9d, 0x13
jle 0x140043d97
cmp r9d, 0x15
jg 0x140046b6e
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043d49
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043cc8
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043d45
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043ce9
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043d45
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043d0a
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043d45
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043d2b
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043d45
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 0x140043d6d
cmp edx, 0xd
jbe 0x140043d66
cmp edx, 0x85
je 0x140043d66
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140043d6d
mov ecx, 1
jmp 0x140043d6f
mov ecx, ebx
cmp r9d, 0x14
mov eax, ebx
sete al
cmp ecx, eax
je 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043c8a
jmp 0x1400440f3
cmp r10d, r8d
jge 0x1400440f3
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043ee0
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043e62
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043de1
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043e5e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043e02
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043e5e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043e23
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043e5e
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043e44
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043e5e
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 0x140043eb1
je 0x140043ed9
cmp edx, 9
je 0x140043ed9
cmp edx, 0x20
je 0x140043ed9
cmp edx, 0xa0
je 0x140043ed9
cmp edx, 0x1680
je 0x140043ed9
mov ecx, ebx
cmp r9d, 0x12
mov eax, ebx
sete al
cmp ecx, eax
je 0x1400440f3
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043da3
jmp 0x1400440f3
cmp edx, 0x2000
jb 0x140043e87
cmp edx, 0x200a
jbe 0x140043ed9
cmp edx, 0x202f
je 0x140043ed9
cmp edx, 0x205f
je 0x140043ed9
cmp edx, 0x3000
jne 0x140043e87
mov ecx, 1
jmp 0x140043e89
cmp dword [rsi + 0xb0], ebx
je 0x1400440f3
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400440f3
mov dword [rsi + 0x74], r8d
cmp dword [rsi + 0xb0], r8d
jmp 0x1400440a5
cmp r10d, r8d
jge 0x1400440f3
mov r8, qword [rsi + 0x90]
mov r11d, dword [rsp + 0x5c]
mov eax, 1
cmp rdi, r8
jae 0x14004404b
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043fe6
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043f5d
and edx, 0x1f
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
mov eax, 2
jmp 0x140043fe6
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043f81
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 3
jmp 0x140043fe6
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043fa5
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
mov eax, 4
jmp 0x140043fe6
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043fc9
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
mov eax, 5
jmp 0x140043fe6
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 0x140044001
inc rdi
cmp rdi, r8
jae 0x1400440f3
cmp byte [rdi], 0xa
jne 0x14004403a
inc rdi
jmp 0x14004403a
cmp edx, 0xa
je 0x140044035
cmp dword [rsi + 0x78], ebx
jne 0x1400440f3
cmp edx, 0xb
je 0x140044035
cmp edx, 0xc
je 0x140044035
cmp edx, 0x85
je 0x140044035
cmp edx, 0x2028
je 0x140044035
cmp edx, 0x2029
jne 0x1400440f3
cdqe
add rdi, rax
inc r10d
cmp r10d, r11d
jl 0x140043f1e
jmp 0x1400440f3
cmp dword [rsi + 0xb0], ebx
je 0x1400440f3
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400440f3
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jmp 0x1400440a5
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x1400440ad
mov rdi, qword [rsi + 0x90]
cmp dword [rsi + 0xb0], ebx
je 0x1400440f3
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400440f3
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
jmp 0x1400440f3
mov eax, r8d
add rdi, rax
jmp 0x1400440f3
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x1400440ec
cmp r10d, r8d
jge 0x1400440f3
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x140044086
jmp 0x1400440da
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x1400440e2
inc rdi
cmp rdi, rcx
jb 0x1400440d2
inc r10d
cmp r10d, r8d
jl 0x1400440cb
jmp 0x1400440f3
mov rdi, qword [rsi + 0x90]
cmp dword [rsp + 0x70], ebx
jne 0x1400413e0
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046b9e
cmp r9d, 0xc
jg 0x1400443d6
je 0x140044349
sub r9d, 6
je 0x140044312
dec r9d
je 0x1400442db
dec r9d
je 0x1400442a4
dec r9d
je 0x140044271
dec r9d
je 0x14004423e
dec r9d
jne 0x140046b6e
cmp r10d, r8d
jge 0x1400445ca
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
je 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004415a
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x1400413e0
cmp rdi, rax
jb 0x14004797a
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.14003f760
dec rdi
test eax, eax
jne 0x14004578c
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x1400441a5
jmp 0x14004797a
cmp dword [rsi + 0xb0], ebx
je 0x14004417f
cmp rdi, qword [rsi + 0xa8]
jbe 0x14004417f
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
jmp 0x14004417f
cmp r10d, r8d
jge 0x1400445ca
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044247
jmp 0x14004417f
cmp r10d, r8d
jge 0x1400445ca
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
je 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004427a
jmp 0x14004417f
cmp r10d, r8d
jge 0x1400445ca
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400442ad
jmp 0x14004417f
cmp r10d, r8d
jge 0x1400445ca
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
je 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400442e4
jmp 0x14004417f
cmp r10d, r8d
jge 0x1400445ca
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jne 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004431b
jmp 0x14004417f
cmp r10d, r8d
jge 0x140044184
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140044391
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035990
test eax, eax
jne 0x14004417f
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x1400443c1
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400443c1
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400443c1
cmp dword [rsi + 0x24], 1
je 0x14004417f
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004417f
inc r10d
inc rdi
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jl 0x140044352
jmp 0x14004417f
cmp r9d, 0xd
jl 0x140046b6e
cmp r9d, 0xe
jle 0x1400445a3
cmp r9d, 0x11
je 0x14004453c
cmp r9d, 0x12
je 0x1400444f6
cmp r9d, 0x13
je 0x1400444b8
cmp r9d, 0x14
je 0x140044460
cmp r9d, 0x15
jne 0x140046b6e
cmp r10d, r8d
jge 0x140044184
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x140044450
cmp eax, 0xb
je 0x140044450
cmp eax, 0xc
je 0x140044450
cmp eax, 0xd
je 0x140044450
cmp eax, 0x85
jne 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044421
jmp 0x14004417f
cmp r10d, r8d
jge 0x140044184
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x14004417f
cmp eax, 0xb
je 0x14004417f
cmp eax, 0xc
je 0x14004417f
cmp eax, 0xd
je 0x14004417f
cmp eax, 0x85
je 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044469
jmp 0x14004417f
cmp r10d, r8d
jge 0x140044184
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx eax, byte [rdi]
cmp eax, 9
je 0x1400444e6
cmp eax, 0x20
je 0x1400444e6
cmp eax, 0xa0
jne 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400444c1
jmp 0x14004417f
cmp r10d, r8d
jge 0x140044184
cmp rdi, qword [rsi + 0x90]
jae 0x14004420c
movzx eax, byte [rdi]
cmp eax, 9
je 0x14004417f
cmp eax, 0x20
je 0x14004417f
cmp eax, 0xa0
je 0x14004417f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400444ff
jmp 0x14004417f
cmp r10d, r8d
jge 0x140044184
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004420c
movzx eax, byte [rdi]
cmp eax, 0xd
jne 0x140044570
inc rdi
cmp rdi, rcx
jae 0x14004417f
cmp byte [rdi], 0xa
jne 0x140044596
jmp 0x140044593
cmp eax, 0xa
je 0x140044593
cmp dword [rsi + 0x78], ebx
jne 0x14004417f
cmp eax, 0xb
je 0x140044593
cmp eax, 0xc
je 0x140044593
cmp eax, 0x85
jne 0x14004417f
inc rdi
inc r10d
cmp r10d, r8d
jl 0x14004454c
jmp 0x14004417f
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x1400445bf
mov rdi, qword [rsi + 0x90]
jmp 0x14004420c
mov eax, r8d
add rdi, rax
jmp 0x14004417f
jmp 0x140044184
cmp r9d, 0x59
jg 0x1400448c5
je 0x140044b1d
cmp r9d, 0x53
je 0x140044801
cmp r9d, 0x54
je 0x1400447e0
jle 0x140040160
cmp r9d, 0x57
jle 0x14004468a
cmp r9d, 0x58
jne 0x140040160
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.14003f760
cmp eax, 1
je 0x140044c6d
cmp eax, 0xfffffc19
je 0x140044c6d
test eax, eax
je 0x140044c2c
cmp eax, 0xfffffc1e
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004578c
jmp 0x140044c33
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 0x1400446c5
mov rcx, qword [rbp + 0x128]
mov r11, qword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rbp + 0x128], rcx
jmp 0x1400446c8
mov r11, rbx
cmp al, 0x58
je 0x1400474dd
cmp al, 0x59
je 0x1400474dd
cmp al, 0x5a
je 0x1400474dd
cmp al, 0x5b
je 0x1400474dd
cmp al, 0x5d
je 0x1400474dd
cmp al, 0x5f
je 0x1400446fc
cmp al, 0x62
jne 0x1400447a6
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 0x140044726
mov dword [rsi + 0x50], 1
jmp 0x140044767
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 0x140044767
lea eax, [r10 + 2]
mov dword [rbp + 0x110], eax
cmp qword [rsi + 0xd0], rbx
je 0x1400447a6
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], r9d
jne 0x1400447a6
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.140014510
jmp 0x14004546e
mov r9d, dword [rbp - 0x7c]
mov rcx, qword [rbp + 0xf8]
cmp byte [rcx], 0x55
mov r8d, r9d
mov dword [rbp + 0x120], r9d
je 0x1400447c9
cmp rdi, r11
jne 0x1400454a0
mov r11, qword [rbp + 0xf8]
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x140041df6
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 0x1400447e0
jmp 0x140044b11
mov r8, qword [0x1400c2368]
test r8, r8
je 0x1400448bc
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 0x14004797a
js 0x14004578c
mov r11, qword [rbp + 0xf8]
add r11, 6
jmp 0x140040855
sub r9d, 0x5a
je 0x14004460d
dec r9d
je 0x140044b1d
dec r9d
je 0x140044a9c
dec r9d
jne 0x140040160
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.14003f760
cmp eax, 1
je 0x1400449a2
test eax, eax
je 0x140044961
cmp eax, 0xfffffc1e
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004578c
jmp 0x140044968
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 0x1400449b9
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x1400448fa
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x1400449c0
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x5d
je 0x1400449d0
cmp byte [r11], 0x54
jne 0x1400478a5
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 0x1400449d0
cmp byte [r11], 0x55
mov r10d, dword [rsi + 0xb4]
mov rdi, qword [rsi + 0xa0]
mov dword [rbp + 0x110], r10d
je 0x140044ccc
cmp rdi, qword [rbp - 0x78]
je 0x140044ccc
mov edx, dword [rbp + 0x120]
lea rcx, [r11 + 3]
cmp byte [rcx], 0x19
mov qword [rbp + 0x118], rcx
jne 0x140044a3d
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 0x140045575
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.14003f760
test eax, eax
jne 0x14004578c
mov r11, qword [rsp + 0x78]
jmp 0x14004556a
cmp dword [rbp + 0x118], ebx
je 0x140044ada
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jle 0x140044afd
dec rdi
dec ecx
cmp rdi, qword [rsi + 0x88]
jb 0x14004797a
jmp 0x140044acc
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140044ac9
test ecx, ecx
jg 0x140044ab5
jmp 0x140044afd
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 0x14004797a
cmp rdi, qword [rsi + 0xa8]
jae 0x140044b0d
mov qword [rsi + 0xa8], rdi
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x140044cde
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.14003f760
cmp eax, 1
je 0x14004797a
cmp eax, 0xfffffc19
je 0x14004797a
cmp eax, 0xfffffc1c
je 0x140044be9
cmp eax, 0xfffffc1b
je 0x140044be9
cmp eax, 0xfffffc1a
je 0x140044be9
test eax, eax
je 0x140044ba8
cmp eax, 0xfffffc1e
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004578c
jmp 0x140044baf
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 0x140044c0c
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044b24
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 0x140044bf0
test byte [rbp + 0x130], 1
jne 0x1400474fb
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x140044ccc
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 0x140044c84
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044614
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x140044c8b
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x55
je 0x14004797a
test byte [rbp + 0x130], 1
jne 0x1400474fb
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 0x140044ca2
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 0x14003f832
cmp r9d, 0x6d
jg 0x140045347
je 0x1400478ac
mov ecx, r9d
sub ecx, 0x5f
je 0x140045613
dec ecx
je 0x140044e4f
dec ecx
je 0x140045636
dec ecx
je 0x140045613
dec ecx
je 0x140044e4f
sub ecx, 6
je 0x140044dc8
dec ecx
jne 0x140047505
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 0x140044d48
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.14003f760
test eax, eax
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140045494
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.14003f760
test eax, eax
jne 0x14004578c
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 0x140044e1f
lea r11, [rdx + 3]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x14004548d
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 0x140044f33
mov r8, qword [0x1400c2368]
test r8, r8
je 0x140044f28
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 0x140047650
js 0x14004578c
mov r11, qword [rbp + 0xf8]
add r11, 6
mov qword [rbp + 0xf8], r11
movzx edx, byte [r11 + 3]
cmp edx, 0x66
je 0x140045189
cmp edx, 0x67
je 0x140045189
cmp edx, 0x64
je 0x14004500a
cmp edx, 0x65
je 0x14004500a
cmp edx, 0x68
jne 0x140044f7c
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
jmp 0x14004529d
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.14003f760
cmp eax, 1
je 0x1400455b6
test eax, eax
je 0x140044ff6
cmp eax, 0xfffffc1e
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004578c
jmp 0x140044ffd
mov r11, qword [rbp + 0xf8]
movsxd rax, dword [rsp + 0x50]
add r11, rax
jmp 0x14004529d
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 0x140045036
mov rax, qword [rsi + 0x10]
movsxd rcx, r8d
cmp dword [rax + rcx*4], ebx
jge 0x140045280
mov dword [rsp + 0x60], ebx
cmp edx, 0x65
jne 0x140045333
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 0x140045086
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x14004507c
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x14004505b
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x140045333
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x140045108
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.140017590
test eax, eax
jne 0x1400450f7
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 0x1400450e7
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x140045279
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x1400450f7
mov rcx, qword [rbp - 0x78]
jmp 0x1400450a1
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 0x140045333
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.140017590
test eax, eax
jne 0x14004532c
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 0x14004516b
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x140045279
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x14004532c
mov rcx, qword [rsp + 0x78]
jmp 0x140045123
cmp qword [rsi + 0xd0], rbx
je 0x140044f61
movzx r8d, byte [r11 + 4]
movzx eax, byte [r11 + 5]
shl r8d, 8
or r8d, eax
cmp r8d, 0xffff
je 0x140045280
mov rax, qword [rsi + 0xd0]
cmp r8d, dword [rax + 8]
je 0x140045280
mov dword [rsp + 0x60], ebx
cmp edx, 0x67
jne 0x140045333
mov rdx, qword [rsi + 0x30]
mov r9d, ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x68], rdx
cmp dword [rsi + 0x28], ebx
jle 0x140045212
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x140045208
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x1400451e7
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x140045333
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x1400452c1
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.140017590
test eax, eax
jne 0x1400452b0
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 0x140045279
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x1400452b0
mov rcx, qword [rbp - 0x78]
jmp 0x140045231
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 0x1400455f2
cmp byte [r11], 0x54
je 0x1400455f2
add r11, 3
jmp 0x140044e3c
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 0x140045333
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.140017590
test eax, eax
jne 0x14004532c
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 0x140045279
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x14004532c
mov rcx, qword [rsp + 0x78]
jmp 0x1400452d8
mov r11, qword [rbp + 0xf8]
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jmp 0x14004528d
mov ecx, r9d
sub ecx, 0x6e
je 0x140047bfe
dec ecx
je 0x140047b67
dec ecx
je 0x140047ac3
dec ecx
je 0x140047a1c
dec ecx
je 0x14004798f
dec ecx
je 0x140047650
dec ecx
je 0x14004542d
dec ecx
je 0x1400453b5
dec ecx
jne 0x140040160
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 0x140045393
lea r11, [rdx + 3]
jmp 0x14004548d
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 0x1400453ee
mov dword [rsi + 0x50], 1
mov r10d, dword [rbp + 0x110]
add r11, 3
jmp 0x140044e43
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 0x1400453de
add r10d, 2
mov dword [rbp + 0x110], r10d
jmp 0x1400453e5
cmp qword [rsi + 0xd0], rbx
je 0x140047936
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], ebx
jne 0x140047936
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.140014510
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 0x140044cde
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 0x140045523
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.14003f760
test eax, eax
jne 0x14004578c
mov edx, dword [rbp + 0x130]
test edx, edx
jne 0x1400474b4
mov r11, qword [rsp + 0x50]
jmp 0x14004576a
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.14003f760
test eax, eax
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
add r11, 3
mov dword [rbp + 0x130], ebx
jmp 0x14004576a
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.14003f760
test eax, eax
jne 0x14004578c
mov r11, qword [rbp + 0x118]
jmp 0x14004556a
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 0x1400455ec
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 0x1400455d6
add r11, 3
cmp dword [rsp + 0x5c], 0x63
mov qword [rbp + 0xf8], r11
je 0x140047658
mov dword [rbp + 0x130], ebx
jmp 0x140045771
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 0x14004772e
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 0x14004574c
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 + 0x986c0]
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.14003f760
test eax, eax
je 0x1400456f0
cmp eax, 0xfffffc1e
jne 0x14004578c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x14004578c
jmp 0x1400456f7
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 0x140045676
mov edx, dword [rbp + 0x130]
movzx eax, byte [r11]
test edx, edx
jne 0x1400476b0
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x986c0]
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 0x14003f7ae
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 0x14004797a
cmp rdi, qword [rsi + 0x90]
jb 0x14004797a
cmp rdi, qword [rsi + 0xa8]
jbe 0x14004797a
mov dword [rsi + 0x74], r9d
cmp dword [rsi + 0xb0], r9d
jmp 0x1400407a4
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.14003f760
test eax, eax
jne 0x14004578c
movsxd rax, dword [rsp + 0x68]
mov qword [rbp + 0x118], rax
jmp 0x140045844
mov rax, qword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
je 0x14004797a
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.14003f760
test eax, eax
je 0x14004583d
jmp 0x14004578c
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.14003f760
test eax, eax
jne 0x14004578c
movsxd rcx, dword [rsp + 0x68]
mov qword [rbp + 0x118], rcx
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x58], eax
jge 0x14004797a
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140046308
mov rdx, qword [rbp - 0x78]
mov r8, rcx
mov rcx, rdi
call fcn.1400151f0
test eax, eax
jne 0x140046308
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.14003f760
mov rcx, qword [rbp + 0x118]
test eax, eax
je 0x14004590c
jmp 0x14004578c
mov eax, ecx
inc eax
jmp 0x140045a00
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
jne 0x14004797a
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.14003f760
test eax, eax
je 0x1400459bb
jmp 0x14004578c
cmp rdi, rax
jb 0x14004797a
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.14003f760
dec rdi
test eax, eax
jne 0x14004578c
mov eax, dword [rbp + 0x118]
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rbp + 0x120]
cmp rdi, qword [rsp + 0x50]
jae 0x140045a6a
jmp 0x14004797a
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 0x140045b56
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
jne 0x14004797a
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.14003f760
test eax, eax
je 0x140045af8
jmp 0x14004578c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x14004797a
jmp 0x140045b9e
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140045b9b
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.14003f760
test eax, eax
je 0x140045b88
jmp 0x14004578c
mov r9, qword [rbp + 0x108]
mov rdx, rcx
test eax, eax
mov eax, dword [rbp + 0x138]
mov rcx, rdi
je 0x140045d92
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 0x140045d6a
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140045d11
test dl, 0x20
jne 0x140045c86
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140045d11
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 0x140045caf
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140045d11
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140045cd2
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140045d11
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140045cf5
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140045d11
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 0x140045d21
mov rax, qword [rsi + 0x40]
movzx edx, byte [rdx + rax]
cmp dword [rsp + 0x50], edx
je 0x14004797a
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.14003f760
test eax, eax
je 0x140045c3c
jmp 0x14004578c
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 0x140045e23
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
je 0x14004797a
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.14003f760
test eax, eax
je 0x140045daf
jmp 0x14004578c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x14004797a
jmp 0x140045e61
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140045e5e
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.14003f760
test eax, eax
je 0x140045e4b
jmp 0x14004578c
cmp rdi, rax
jb 0x14004797a
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.14003f760
test eax, eax
jne 0x14004578c
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x140045edb
jmp 0x14004797a
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 0x14004615d
jmp 0x1400460cd
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140046070
test dl, 0x20
jne 0x140045fe1
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004606c
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 0x14004600a
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004606c
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004602d
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004606c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140046050
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004606c
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 0x14004797a
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.14003f760
test eax, eax
je 0x140045f99
jmp 0x14004578c
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
je 0x14004797a
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.14003f760
test eax, eax
je 0x1400460df
jmp 0x14004578c
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x50], eax
jge 0x14004797a
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.140035c00
test eax, eax
je 0x140046308
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.14003f760
test eax, eax
je 0x14004616f
jmp 0x14004578c
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x14004628e
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035c00
test eax, eax
je 0x140046255
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 0x140046217
jmp 0x140046283
cmp dword [rsi + 0xb0], ebx
je 0x140046283
cmp rdi, qword [rsi + 0x90]
jb 0x140046283
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046283
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
cmp rdi, qword [rsp + 0x78]
jb 0x14004797a
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.14003f760
test eax, eax
jne 0x14004578c
movsxd rax, dword [rsp + 0x60]
sub rdi, rax
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x78]
jae 0x14004629c
jmp 0x14004797a
cmp dword [rsi + 0xb0], ebx
je 0x14004797a
cmp rdi, qword [rsi + 0x90]
jb 0x14004797a
jmp 0x140040789
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x58], eax
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004641e
cmp r8d, 0xc0
jb 0x14004641e
test r8b, 0x20
jne 0x140046380
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004641e
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 0x1400463ae
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004641e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400463d6
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004641e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400463fe
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004641e
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.140035230
test eax, eax
je 0x14004797a
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.14003f760
test eax, eax
je 0x140046326
jmp 0x14004578c
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x1400465e4
mov dword [rsp + 0x50], 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400465bf
movzx r8d, byte [rdi]
cmp dword [rbp + 0x118], ebx
je 0x14004658e
cmp r8d, 0xc0
jb 0x14004658e
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x1400464f8
and r8d, 0x1f
mov dword [rsp + 0x50], 2
mov eax, r8d
shl eax, 6
jmp 0x140046588
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x14004651e
and r8d, 0xf
mov dword [rsp + 0x50], 3
mov eax, r8d
shl eax, 0xc
jmp 0x140046588
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046544
and r8d, 7
mov dword [rsp + 0x50], 4
mov eax, r8d
shl eax, 0x12
jmp 0x140046588
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004656a
and r8d, 3
mov dword [rsp + 0x50], 5
mov eax, r8d
shl eax, 0x18
jmp 0x140046588
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.140035230
test eax, eax
je 0x1400465e4
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 0x1400464a2
jmp 0x1400465e4
cmp dword [rsi + 0xb0], ebx
je 0x1400465e4
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400465e4
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x14004661c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x14004797a
cmp dword [rbp + 0x118], ebx
je 0x140046614
jmp 0x14004660c
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046609
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.14003f760
test eax, eax
je 0x1400465ee
jmp 0x14004578c
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x14004675d
test r8b, 0x20
jne 0x1400466bf
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004675d
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 0x1400466ed
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004675d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046715
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004675d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004673d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004675d
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 0x14004676d
cmp dword [rsp + 0x5c], 0x4e
jmp 0x14004678b
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 0x14004797a
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.14003f760
test eax, eax
je 0x14004666f
jmp 0x14004578c
inc eax
jmp 0x14004686c
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
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 0x14004797a
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.14003f760
test eax, eax
je 0x1400467fc
jmp 0x14004578c
mov r11, rdi
mov qword [rsp + 0x78], rdi
test eax, eax
jne 0x140046a19
mov r9d, dword [rsp + 0x58]
cmp r10d, r9d
jge 0x140046af9
cmp rdi, qword [rsi + 0x90]
jae 0x140046acb
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 0x140046af0
inc r10d
inc rdi
cmp r10d, r9d
jl 0x1400468c9
jmp 0x140046af0
mov r11d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140046a26
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x1400469e1
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140046954
and r8d, 0x1f
mov r11d, 2
mov eax, r8d
shl eax, 6
jmp 0x1400469db
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140046978
and r8d, 0xf
mov r11d, 3
mov eax, r8d
shl eax, 0xc
jmp 0x1400469db
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x14004699c
and r8d, 7
mov r11d, 4
mov eax, r8d
shl eax, 0x12
jmp 0x1400469db
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400469c0
and r8d, 3
mov r11d, 5
mov eax, r8d
shl eax, 0x18
jmp 0x1400469db
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 0x1400469f0
cmp r9d, 0x4e
jmp 0x140046a0e
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 0x140046a48
movsxd rax, r11d
add rdi, rax
inc r10d
cmp r10d, dword [rsp + 0x58]
jl 0x14004690e
jmp 0x140046a48
cmp dword [rsi + 0xb0], ebx
je 0x140046a48
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046a48
mov dword [rsi + 0x74], r11d
cmp dword [rsi + 0xb0], r11d
jg 0x1400407aa
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046a78
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x14004797a
jmp 0x140046a68
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046a65
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.14003f760
test eax, eax
je 0x140046a52
jmp 0x14004578c
cmp dword [rsi + 0xb0], ebx
je 0x140046af0
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046af0
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x1400407aa
cmp rdi, r11
jb 0x14004797a
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.14003f760
test eax, eax
jne 0x14004578c
mov eax, dword [rbp + 0x118]
dec rdi
cmp rdi, qword [rsp + 0x78]
jae 0x140046b07
jmp 0x14004797a
mov eax, 0xfffffff2
jmp 0x14004578c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x14004797a
jmp 0x140046b8e
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046b8b
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.14003f760
test eax, eax
je 0x140046b78
jmp 0x14004578c
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
test eax, eax
mov eax, ecx
mov rdx, r11
mov rcx, rdi
je 0x14004705b
inc eax
jmp 0x140047009
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x140046ca6
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140046c76
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035990
test eax, eax
jne 0x14004797a
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x140046ca6
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140046ca6
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140046ca6
cmp dword [rsi + 0x24], 1
je 0x14004797a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004797a
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140046d5e
test dl, 0x20
jne 0x140046cd3
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140046d5e
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 0x140046cfc
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140046d5e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140046d1f
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140046d5e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140046d42
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140046d5e
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 0x140046e2c
cmp r8d, 0xc
jge 0x140046fe1
mov ecx, r8d
sub ecx, 6
je 0x140046e13
dec ecx
je 0x140046dfa
dec ecx
je 0x140046de1
dec ecx
je 0x140046dc8
dec ecx
je 0x140046daf
dec ecx
jne 0x140046b6e
cmp edx, 0x100
jae 0x14004797a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x140046f97
cmp edx, 0x100
jae 0x140046fe1
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x140046fdb
cmp edx, 0x100
jae 0x14004797a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x140046f97
cmp edx, 0x100
jae 0x140046fe1
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x140046fdb
cmp edx, 0x100
jae 0x14004797a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x140046f97
cmp edx, 0x100
jae 0x140046fe1
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x140046fdb
mov ecx, r8d
sub ecx, 0x11
je 0x140046f9f
dec ecx
je 0x140046f30
dec ecx
je 0x140046ebd
dec ecx
je 0x140046e82
dec ecx
jne 0x140046b6e
cmp edx, 0xa
jb 0x14004797a
cmp edx, 0xd
jbe 0x140046fe1
cmp edx, 0x85
je 0x140046fe1
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x14004797a
jmp 0x140046fe1
cmp edx, 0xa
jb 0x140046fe1
cmp edx, 0xd
jbe 0x14004797a
cmp edx, 0x85
je 0x14004797a
cmp edx, 0x2027
jbe 0x140046fe1
cmp edx, 0x2029
jbe 0x14004797a
jmp 0x140046fe1
mov eax, 0x180e
cmp edx, eax
ja 0x140046ef5
je 0x140046fe1
cmp edx, 9
je 0x140046fe1
cmp edx, 0x20
je 0x140046fe1
cmp edx, 0xa0
je 0x140046fe1
cmp edx, 0x1680
jmp 0x140046fdb
cmp edx, 0x2000
jb 0x14004797a
cmp edx, 0x200a
jbe 0x140046fe1
cmp edx, 0x202f
je 0x140046fe1
cmp edx, 0x205f
je 0x140046fe1
cmp edx, 0x3000
jmp 0x140046fdb
mov eax, 0x180e
cmp edx, eax
ja 0x140046f65
je 0x14004797a
cmp edx, 9
je 0x14004797a
cmp edx, 0x20
je 0x14004797a
cmp edx, 0xa0
je 0x14004797a
cmp edx, 0x1680
jmp 0x140046f97
cmp edx, 0x2000
jb 0x140046fe1
cmp edx, 0x200a
jbe 0x14004797a
cmp edx, 0x202f
je 0x14004797a
cmp edx, 0x205f
je 0x14004797a
cmp edx, 0x3000
je 0x14004797a
jmp 0x140046fe1
cmp edx, 0xa
je 0x140046fe1
jbe 0x14004797a
cmp edx, 0xc
jbe 0x140046fd8
cmp edx, 0xd
je 0x140047048
cmp edx, 0x85
je 0x140046fd8
cmp edx, 0x2027
jbe 0x14004797a
cmp edx, 0x2029
ja 0x14004797a
cmp dword [rsi + 0x78], ebx
jne 0x14004797a
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.14003f760
test eax, eax
je 0x140046c16
jmp 0x14004578c
cmp rdi, qword [rsi + 0x90]
jae 0x140046fe1
cmp byte [rdi], 0xa
jne 0x140046fe1
inc rdi
jmp 0x140046fe1
inc eax
jmp 0x140047239
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x14004797a
cmp rdi, qword [rsi + 0x90]
jae 0x14004077d
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x1400470ec
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400470bc
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035990
test eax, eax
jne 0x14004797a
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x1400470ec
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400470ec
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400470ec
cmp dword [rsi + 0x24], 1
je 0x14004797a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004797a
movzx ecx, byte [rdi]
inc rdi
cmp r8d, 0xe
jg 0x14004716d
cmp r8d, 0xc
jge 0x140047211
mov edx, r8d
sub edx, 6
je 0x140047160
dec edx
je 0x140047156
dec edx
je 0x140047149
dec edx
je 0x14004713c
dec edx
je 0x14004712f
dec edx
jne 0x140046b6e
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x1400471df
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x14004720b
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x1400471df
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x14004720b
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x1400471df
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x14004720b
mov edx, r8d
sub edx, 0x11
je 0x1400471e7
dec edx
je 0x1400471c7
dec edx
je 0x1400471b5
dec edx
je 0x14004719f
dec edx
jne 0x140046b6e
cmp ecx, 0xa
jb 0x14004797a
cmp ecx, 0xd
jbe 0x140047211
cmp ecx, 0x85
jmp 0x14004720b
cmp ecx, 0xa
jb 0x140047211
cmp ecx, 0xd
jbe 0x14004797a
cmp ecx, 0x85
jmp 0x1400471df
cmp ecx, 9
je 0x140047211
cmp ecx, 0x20
je 0x140047211
cmp ecx, 0xa0
jmp 0x14004720b
cmp ecx, 9
je 0x14004797a
cmp ecx, 0x20
je 0x14004797a
cmp ecx, 0xa0
je 0x14004797a
jmp 0x140047211
cmp ecx, 0xa
je 0x140047211
jbe 0x14004797a
cmp ecx, 0xc
jbe 0x140047208
cmp ecx, 0xd
je 0x140047278
cmp ecx, 0x85
jne 0x14004797a
cmp dword [rsi + 0x78], ebx
jne 0x14004797a
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.14003f760
test eax, eax
je 0x140047062
jmp 0x14004578c
cmp rdi, qword [rsi + 0x90]
jae 0x140047211
cmp byte [rdi], 0xa
jne 0x140047211
inc rdi
jmp 0x140047211
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 0x1400472b7
mov dword [rbp - 0x68], ebx
jmp 0x1400472c7
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 0x140047302
lea rax, [rbp + 0x50]
mov qword [rbp - 0x58], rax
jmp 0x140047322
shl rcx, 2
call qword [0x1400aae80]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x14004731f
mov eax, 0xfffffffa
jmp 0x14004578c
mov ecx, dword [rbp - 0x50]
mov rdx, qword [rsi + 0x10]
movsxd r8, ecx
mov rcx, rax
shl r8, 2
call fcn.140014510
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 + 0x986c0]
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.14003f760
mov dword [rbp - 0x80], eax
cmp eax, 1
je 0x14004748c
cmp eax, 0xfffffc19
je 0x14004748c
test eax, eax
je 0x1400473ea
cmp eax, 0xfffffc1e
jne 0x140047446
mov rcx, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], rcx
jne 0x140047446
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.140014510
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 0x140047465
mov ecx, dword [rbp + 0x118]
mov r9d, dword [rbp - 0x7c]
mov r10d, dword [rbp + 0x110]
jmp 0x140047364
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x50]
cmp rcx, rdx
je 0x14004578c
call qword [case.0x1400784be.0]
mov eax, dword [rbp - 0x80]
jmp 0x14004578c
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x14004797a
call qword [case.0x1400784be.0]
jmp 0x14004797a
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x1400474aa
call qword [case.0x1400784be.0]
mov ebx, 1
jmp 0x14004797a
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 0x140047682
mov rax, qword [rbp + 0x100]
mov qword [rsi + 0xa0], rdi
mov dword [rsi + 0xb4], r10d
mov qword [rsi + 0x98], rax
jmp 0x1400474aa
mov eax, 1
jmp 0x14004578c
dec ecx
je 0x140047586
dec ecx
jne 0x140040160
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x986c0]
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.14003f760
test eax, eax
je 0x140047b51
cmp eax, 0xfffffc1e
je 0x140047b51
jmp 0x14004578c
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 + 0x986c0]
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.14003f760
mov ecx, eax
mov dword [rbp + 0x118], eax
cmp eax, 0xfffffc1d
jne 0x14004762e
mov rcx, qword [rbp + 0xf8]
mov rdx, qword [rsi + 0x98]
add rcx, 2
call fcn.140017590
test eax, eax
jne 0x140047628
mov qword [rsi + 0x98], rdi
mov eax, 0xfffffc1c
jmp 0x14004578c
mov ecx, dword [rbp + 0x118]
cmp qword [rsi + 0xe0], rbx
jne 0x140047649
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, ecx
jmp 0x14004578c
mov dword [rbp - 0x80], ebx
jmp 0x140047b51
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.14003f760
jmp 0x14004578c
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 + 0x986c0]
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.14003f760
test eax, eax
jne 0x14004578c
mov rcx, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rcx
jmp 0x14004578c
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 + 0x986c0]
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.14003f760
mov r11d, eax
test eax, eax
je 0x140047809
cmp eax, 0xfffffc1e
jne 0x14004578c
mov r8, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r8
jne 0x14004578c
jmp 0x140047810
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 0x140047859
mov ecx, dword [rbp - 0x7c]
mov r8d, dword [rbp - 0x80]
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x14004778c
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 0x1400478a5
mov rax, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rax
xor eax, eax
jmp 0x14004578c
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 + 0x986c0]
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.14003f760
test eax, eax
je 0x14004791a
cmp eax, 0xfffffc1e
jne 0x14004578c
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, 0xfffffc1b
jmp 0x14004578c
cmp rdi, rdx
jne 0x140047958
cmp dword [rsi + 0x6c], ebx
jne 0x14004797a
cmp dword [rsi + 0x70], ebx
je 0x140047958
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdx, rax
je 0x14004797a
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 0x14004578c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x986c0]
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.14003f760
test eax, eax
je 0x140047a10
cmp eax, 0xfffffc1b
je 0x140047a10
cmp eax, 0xfffffc1c
je 0x140047a10
cmp eax, 0xfffffc1d
je 0x140047a10
cmp eax, 0xfffffc1e
jne 0x14004578c
mov dword [rbp - 0x80], 0xfffffc1a
jmp 0x140047b51
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x986c0]
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.14003f760
test eax, eax
jne 0x14004578c
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 0x14004578c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x986c0]
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.14003f760
test eax, eax
jne 0x14004578c
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 0x14004578c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x986c0]
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.14003f760
test eax, eax
je 0x140047be2
cmp eax, 0xfffffc1b
je 0x140047be2
cmp eax, 0xfffffc1e
jne 0x14004578c
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0x98], rax
mov eax, 0xfffffc1d
jmp 0x14004578c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x986c0]
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.14003f760
test eax, eax
je 0x140047c71
cmp eax, 0xfffffc1b
je 0x140047c71
cmp eax, 0xfffffc1e
jne 0x14004578c
mov qword [rsi + 0x98], rdi
mov ebx, 0xfffffc1c
jmp 0x14004797a
mov eax, 0xffffffeb
jmp 0x14004578c