Function at 0x14003edb0
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 0x140044dd5
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 0x1400472d2
mov r8d, dword [rbp + 0x120]
mov dword [rbp - 0x7c], r8d
test byte [rbp + 0x130], dl
je 0x14003ee43
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 0x14003ee76
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov ecx, dword [rbp + 0x138]
jmp 0x14003ee7b
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 0x140041452
je 0x140040cfa
cmp r9d, 0x18
jg 0x14003feb8
je 0x14004016a
cmp r9d, 0xb
jg 0x14003f75c
je 0x14003f672
cmp r9d, 6
jg 0x14003f29f
je 0x14003f1b0
test r9d, r9d
je 0x140044a7d
cmp r9d, 1
je 0x14004026e
cmp r9d, eax
je 0x14003f18a
cmp r9d, 3
je 0x14003f17b
jle 0x14003f7b0
cmp r9d, 5
jg 0x14003f7b0
cmp dword [rbp + 0x118], ebx
je 0x14003f0d0
cmp rdi, qword [rsi + 0x88]
je 0x14003f01d
lea r8, [rdi - 1]
jmp 0x14003ef58
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x14003ee7b
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044334
dec r8
mov al, byte [r8]
and al, 0xc0
cmp al, 0x80
je 0x14003ef55
cmp r8, qword [rsi + 0xa8]
jae 0x14003ef71
mov qword [rsi + 0xa8], r8
movzx edx, byte [r8]
cmp edx, 0xc0
jb 0x14003f005
movzx ecx, byte [r8 + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003ef98
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003f001
movzx eax, byte [r8 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003efb4
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003f001
movzx eax, byte [r8 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003efd0
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003f001
movzx eax, byte [r8 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003efec
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003f001
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 0x14003f01d
mov rax, qword [rsi + 0x48]
mov r8d, 1
test byte [rdx + rax], 0x10
jne 0x14003f020
mov r8d, ebx
cmp rdi, qword [rsi + 0x90]
jae 0x14003f110
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x14003f0b7
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003f04e
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003f0b3
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003f069
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003f0b3
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f084
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003f0b3
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f09f
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003f0b3
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 0x14003f135
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x14003f135
mov ecx, 1
jmp 0x14003f14a
cmp rdi, qword [rsi + 0x88]
jne 0x14003f0de
mov r8d, ebx
jmp 0x14003f107
cmp rdi, qword [rsi + 0xa8]
ja 0x14003f0f2
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 0x14003f139
cmp dword [rsi + 0xb0], ebx
je 0x14003f135
cmp rdi, qword [rsi + 0xa8]
jbe 0x14003f135
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
mov ecx, ebx
jmp 0x14003f14a
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 0x14003f170
cmp ecx, r8d
je 0x140046fca
mov rdx, qword [rbp + 0x100]
jmp 0x140044327
cmp ecx, r8d
jne 0x140046fca
jmp 0x14003f164
mov rdx, rdi
mov qword [rbp + 0x100], rdx
jmp 0x14004027b
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdi, rax
jne 0x140046ee7
inc r11
mov qword [rbp + 0xf8], r11
jmp 0x140044334
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f281
cmp edx, 0xc0
jb 0x14003f281
test dl, 0x20
jne 0x14003f1f6
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f281
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 0x14003f21f
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003f281
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f242
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f281
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f265
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f281
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 0x14003f297
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140046fca
inc r11
jmp 0x140044add
sub r9d, 7
je 0x14003f582
dec r9d
je 0x14003f498
dec r9d
je 0x14003f3ae
dec r9d
jne 0x14003f7b0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f395
cmp edx, 0xc0
jb 0x14003f395
test dl, 0x20
jne 0x14003f30a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f395
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 0x14003f333
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003f395
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f356
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f395
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f379
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f395
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 0x14003f297
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x14003f291
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f47f
cmp edx, 0xc0
jb 0x14003f47f
test dl, 0x20
jne 0x14003f3f4
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f47f
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 0x14003f41d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003f47f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f440
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f47f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f463
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f47f
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 0x140046fca
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x14003f667
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f569
cmp edx, 0xc0
jb 0x14003f569
test dl, 0x20
jne 0x14003f4de
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f569
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 0x14003f507
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003f569
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f52a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f569
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f54d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f569
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 0x14003f297
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x14003f291
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f653
cmp edx, 0xc0
jb 0x14003f653
test dl, 0x20
jne 0x14003f5c8
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f653
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 0x14003f5f1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003f653
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f614
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f653
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f637
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f653
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 0x140046fca
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x140046fca
jmp 0x14003f297
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f743
cmp edx, 0xc0
jb 0x14003f743
test dl, 0x20
jne 0x14003f6b8
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f743
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 0x14003f6e1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14003f743
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f704
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f743
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f727
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f743
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 0x140046fca
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x14003f667
sub r9d, 0xc
je 0x14003fe04
dec r9d
je 0x14003fe72
dec r9d
je 0x14003fdba
sub r9d, 3
je 0x14003fc84
dec r9d
je 0x14003fb34
dec r9d
je 0x14003f9e4
dec r9d
je 0x14003f8cf
dec r9d
je 0x14003f7ba
mov eax, 2
cmp r9d, eax
je 0x1400400b1
mov eax, 0xfffffffb
jmp 0x140044ddc
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f88f
cmp edx, 0xc0
jb 0x14003f88f
test dl, 0x20
jne 0x14003f800
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f88f
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 0x14003f82d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14003f894
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f850
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f88f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f873
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f88f
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 0x140046fca
cmp edx, 0xd
jbe 0x14004002a
cmp edx, 0x85
je 0x14004002a
cmp edx, 0x2027
jbe 0x140046fca
cmp edx, 0x2029
ja 0x140046fca
jmp 0x14004002a
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003f9a4
cmp edx, 0xc0
jb 0x14003f9a4
test dl, 0x20
jne 0x14003f915
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003f9a4
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 0x14003f942
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14003f9a9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003f965
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003f9a4
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003f988
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003f9a4
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 0x14004002a
cmp edx, 0xd
jbe 0x140046fca
cmp edx, 0x85
je 0x140046fca
cmp edx, 0x2027
jbe 0x14004002a
cmp edx, 0x2029
jbe 0x140046fca
jmp 0x14004002a
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fab9
cmp edx, 0xc0
jb 0x14003fab9
test dl, 0x20
jne 0x14003fa2a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fab9
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 0x14003fa57
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14003fabe
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fa7a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fab9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fa9d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fab9
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 0x14003faf3
je 0x14004002a
cmp edx, 9
je 0x14004002a
cmp edx, 0x20
je 0x14004002a
cmp edx, 0xa0
je 0x14004002a
cmp edx, 0x1680
jmp 0x14003fb29
cmp edx, 0x2000
jb 0x140046fca
cmp edx, 0x200a
jbe 0x14004002a
cmp edx, 0x202f
je 0x14004002a
cmp edx, 0x205f
je 0x14004002a
cmp edx, 0x3000
jne 0x140046fca
jmp 0x14004002a
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fc09
cmp edx, 0xc0
jb 0x14003fc09
test dl, 0x20
jne 0x14003fb7a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fc09
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 0x14003fba7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14003fc0e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fbca
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fc09
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fbed
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fc09
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 0x14003fc43
je 0x140046fca
cmp edx, 9
je 0x140046fca
cmp edx, 0x20
je 0x140046fca
cmp edx, 0xa0
je 0x140046fca
cmp edx, 0x1680
jmp 0x14003fc79
cmp edx, 0x2000
jb 0x14004002a
cmp edx, 0x200a
jbe 0x140046fca
cmp edx, 0x202f
je 0x140046fca
cmp edx, 0x205f
je 0x140046fca
cmp edx, 0x3000
je 0x140046fca
jmp 0x14004002a
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14003fd5c
cmp edx, 0xc0
jb 0x14003fd5c
test dl, 0x20
jne 0x14003fccd
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14003fd5c
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 0x14003fcfa
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14003fd61
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003fd1d
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14003fd5c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003fd40
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14003fd5c
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 0x14003fd9f
jbe 0x140046fca
cmp edx, 0xc
jbe 0x14003fd96
cmp edx, 0xd
je 0x14003fdab
cmp edx, 0x85
je 0x14003fd96
cmp edx, 0x2027
jbe 0x140046fca
cmp edx, 0x2029
ja 0x140046fca
cmp dword [rsi + 0x78], ebx
jne 0x140046fca
mov r8d, dword [rbp + 0x120]
jmp 0x14004002a
cmp rdi, r8
jae 0x14003fd9f
cmp byte [rdi], 0xa
jne 0x14003fd9f
inc rdi
jmp 0x14003fd9f
mov rax, rdi
inc rdi
cmp rax, qword [rsi + 0x90]
jb 0x14003f1a1
cmp dword [rsi + 0xb0], ebx
je 0x140046fca
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046fca
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jle 0x140046fca
mov ebx, 0xfffffff4
jmp 0x140046fca
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x14003fe42
cmp rdi, qword [rsi + 0x90]
jae 0x14003fe72
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035a10
test eax, eax
jne 0x140046fca
mov r11, qword [rbp + 0xf8]
jmp 0x14003fe72
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x14003fe72
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x14003fe72
cmp dword [rsi + 0x24], 1
je 0x140046fca
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140046fca
mov rcx, qword [rsi + 0x90]
mov rax, rdi
inc rdi
cmp rax, rcx
jae 0x14003fdcd
cmp dword [rbp + 0x118], ebx
je 0x14003fea2
jmp 0x14003fe9d
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x14003fea2
inc rdi
cmp rdi, rcx
jb 0x14003fe92
inc r11
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x140044320
cmp r9d, 0x28
jg 0x140040708
je 0x1400406e6
cmp r9d, 0x1d
jg 0x140040506
je 0x1400402a0
sub r9d, 0x19
je 0x140040280
dec r9d
je 0x1400401a9
dec r9d
je 0x14003ffc9
dec r9d
jne 0x14003f7b0
cmp dword [rbp + 0x118], ebx
je 0x14003ffa1
mov r9d, 1
add r11, r9
mov edx, r9d
movzx eax, byte [r11]
mov qword [rbp + 0xf8], r11
cmp eax, 0xc0
jb 0x14003ff52
test al, 0x20
jne 0x14003ff31
lea edx, [r9 + 1]
jmp 0x14003ff52
test al, 0x10
jne 0x14003ff3c
mov edx, 3
jmp 0x14003ff52
test al, 8
jne 0x14003ff47
mov edx, 4
jmp 0x14003ff52
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 0x140044def
mov ecx, dword [rbp + 0x138]
mov eax, 2
test edx, edx
jle 0x14003ee7b
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 0x140046fca
test edx, edx
jg 0x14003ff7b
jmp 0x140044ae4
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x14003fdcd
mov al, byte [rdi]
inc rdi
cmp byte [r11 + 1], al
jne 0x140046fca
jmp 0x14004028c
mov eax, 2
test al, r8b
je 0x14004009f
cmp rdi, qword [rsi + 0x90]
jae 0x14004006f
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040039
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035a10
test eax, eax
je 0x140046ee7
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 0x14003ee5a
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140046ee7
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140046ee7
cmp dword [rsi + 0x24], 1
je 0x14004001e
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140046ee7
jmp 0x14004001e
cmp dword [rsi + 0x58], ebx
jne 0x140046fca
cmp dword [rsi + 0xb0], ebx
je 0x140040023
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040023
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
jmp 0x140040023
cmp dword [rsi + 0x58], ebx
jne 0x140046fca
cmp dword [rsi + 0x68], ebx
jne 0x14004016a
cmp rdi, qword [rsi + 0x90]
jae 0x140040138
mov edx, dword [rsi + 0x20]
lea r9, [rsi + 0x24]
test edx, edx
je 0x1400400ef
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035a10
test eax, eax
je 0x140046fca
mov r11, qword [rbp + 0xf8]
jmp 0x140040122
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140046fca
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140046fca
cmp dword [r9], 1
je 0x140040122
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140046fca
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
jne 0x140046fca
cmp dword [rsi + 0xb0], ebx
je 0x14003fea2
cmp rdi, qword [rsi + 0xa8]
jbe 0x14003fea2
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
jmp 0x14003fea2
cmp rdi, qword [rsi + 0x90]
jb 0x140046fca
cmp dword [rsi + 0xb0], ebx
je 0x14004027b
cmp rdi, qword [rsi + 0xa8]
jbe 0x14004027b
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
jmp 0x14004027b
cmp dword [rsi + 0x54], ebx
je 0x1400401bb
cmp rdi, qword [rsi + 0x88]
je 0x140046ee7
mov eax, 2
test al, r8b
je 0x14004026e
mov rax, qword [rsi + 0x88]
cmp rdi, rax
je 0x140040266
cmp rdi, qword [rsi + 0x90]
je 0x140046ee7
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x14004022b
cmp rdi, rax
jbe 0x140046ee7
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x88]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035880
test eax, eax
je 0x140046ee7
mov r11, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
jmp 0x140040266
movsxd rdx, dword [rsi + 0x24]
mov rax, qword [rsi + 0x88]
lea rcx, [rdx + rax]
cmp rdi, rcx
jb 0x140046ee7
mov al, byte [rsi + 0x38]
mov rcx, rdi
sub rcx, rdx
cmp byte [rcx], al
jne 0x140046ee7
cmp dword [rsi + 0x24], 1
je 0x140040266
mov al, byte [rsi + 0x39]
cmp byte [rcx + 1], al
jne 0x140046ee7
inc r11
jmp 0x140043e24
cmp rdi, qword [rsi + 0x88]
jne 0x140046ee7
inc r11
jmp 0x140040294
movzx r8d, byte [r11 + 1]
mov dword [rbp + 0x120], r8d
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
jmp 0x14003ee82
cmp dword [rbp + 0x118], ebx
je 0x1400404ba
inc r11
mov eax, 1
movzx r9d, byte [r11]
mov r8d, r9d
cmp r9d, 0xc0
jb 0x140040390
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r9b, 0x20
jne 0x1400402f0
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140040390
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 0x10
jne 0x14004031a
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140040390
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 8
jne 0x140040344
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140040390
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 4
jne 0x14004036e
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140040390
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 0x140045958
cmp r8d, 0x80
jae 0x1400403dd
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 0x140046fca
mov r10d, dword [rbp + 0x110]
jmp 0x14003f164
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140040499
test dl, 0x20
jne 0x14004040a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040499
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 0x140040437
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x14004049e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004045a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040499
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004047d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040499
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 0x140046fca
mov r10d, dword [rbp + 0x110]
jmp 0x1400404fa
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x14003fdcd
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 0x140046fca
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
mov r8d, dword [rbp + 0x120]
jmp 0x14003ee5a
cmp r9d, 0x1e
je 0x1400405a3
jle 0x14003f7b0
cmp r9d, 0x24
jle 0x140040552
cmp r9d, 0x26
jle 0x1400407ad
cmp r9d, 0x27
jne 0x14003f7b0
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 0x14004080b
lea eax, [r9 - 0x1f]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x967a8]
movsx edx, byte [rcx + rax + 0x966e8]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r10d
test r10d, r10d
jne 0x14004080f
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x14004080f
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004068d
cmp r8d, 0xc0
jb 0x14004068d
test r8b, 0x20
jne 0x1400405ef
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004068d
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 0x14004061d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004068d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140040645
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004068d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004066d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004068d
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 0x1400406c8
cmp r8d, 0x100
jae 0x1400406a8
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 0x14003f15e
movzx eax, byte [r11 + 1]
add r11, 2
mov qword [rbp + 0xf8], r11
cmp eax, r8d
je 0x140046fca
jmp 0x140044327
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 0x14004080f
cmp r9d, 0x33
jg 0x140040c86
cmp r9d, 0x32
jge 0x140040c59
cmp r9d, 0x29
je 0x1400407ef
cmp r9d, 0x2a
je 0x1400407df
cmp r9d, 0x2b
je 0x1400407a5
jle 0x14003f7b0
cmp r9d, 0x31
jg 0x14003f7b0
lea eax, [r9 - 0x2c]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x967a8]
movsx edx, byte [rcx + rax + 0x966e8]
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 0x140040d29
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x140040d29
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 0x14004080f
mov r10d, 1
mov dword [rsp + 0x5c], r10d
jmp 0x1400406f2
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 0x140040a3c
mov eax, 1
mov r9, r11
mov qword [rbp - 0x78], r11
mov dword [rsp + 0x68], eax
cmp r8d, 0xc0
jb 0x140040912
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140040869
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140040909
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140040893
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140040909
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400408bd
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140040909
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400408e7
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140040909
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 0x140040a46
mov dword [rsp + 0x50], 1
cmp edx, 1
jl 0x14004098c
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140045958
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.140015420
test eax, eax
jne 0x140045958
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 0x14004093a
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x5c]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
cmp edx, eax
je 0x14003ee70
cmp dword [rsp + 0x60], ebx
jne 0x140044efd
mov qword [rsp + 0x50], rdi
cmp edx, eax
jge 0x140040a26
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x1400409f8
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.140015420
test eax, eax
jne 0x1400409f8
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 0x1400409b9
jmp 0x140040a26
cmp dword [rsi + 0xb0], ebx
je 0x140040a26
cmp rdi, qword [rsi + 0x90]
jb 0x140040a26
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040a26
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
cmp dword [rsp + 0x70], ebx
je 0x140044e25
mov r11, qword [rbp + 0xf8]
jmp 0x1400403d1
inc r11
mov qword [rbp + 0xf8], r11
mov r9d, dword [rbp + 0x120]
test r9b, 1
je 0x140040b98
mov r11, qword [rsi + 0x40]
movzx r9d, byte [r8 + r11]
mov r8d, 1
mov dword [rsp + 0x50], r9d
cmp edx, r8d
jl 0x140040a99
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x140046fca
inc r8d
cmp r8d, edx
jle 0x140040a70
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003ef28
cmp dword [rsp + 0x60], ebx
jne 0x140045005
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x140040b10
cmp rdi, qword [rsi + 0x90]
jae 0x140040ae6
movzx eax, byte [rdi]
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x140040b0b
inc edx
inc rdi
cmp edx, r10d
jl 0x140040ac4
jmp 0x140040b0b
cmp dword [rsi + 0xb0], ebx
je 0x140040b0b
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040b0b
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x140040a30
cmp rdi, rax
jb 0x140046fca
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.14003edb0
dec rdi
test eax, eax
jne 0x140044ddc
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x140040b31
jmp 0x140046fca
mov ecx, 1
cmp edx, ecx
jl 0x140040bc3
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp r8d, eax
jne 0x140046fca
inc ecx
cmp ecx, edx
jle 0x140040ba1
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003ef2f
cmp dword [rsp + 0x60], ebx
jne 0x140045126
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x140040c35
cmp rdi, qword [rsi + 0x90]
jae 0x140040c0b
movzx eax, byte [rdi]
cmp r8d, eax
jne 0x140040c30
inc edx
inc rdi
cmp edx, r10d
jl 0x140040bee
jmp 0x140040c30
cmp dword [rsi + 0xb0], ebx
je 0x140040c30
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040c30
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x1400450a7
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
mov rdx, qword [rbp + 0x100]
jmp 0x140044334
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 0x140040d13
sub r9d, 0x34
je 0x140040ce0
dec r9d
je 0x140040cc1
dec r9d
je 0x140040cb6
dec r9d
jne 0x14003f7b0
mov dword [rsp + 0x70], 1
mov edx, ebx
mov dword [rsp + 0x58], ebx
lea r10d, [r9 + 1]
inc r11
jmp 0x140040d1d
mov edx, 1
mov dword [rsp + 0x58], edx
jmp 0x140040cc7
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 0x140040d22
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 0x140040d19
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 0x14004111f
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
movzx r11d, byte [r11 + r9]
mov dword [rsp + 0x50], r11d
test eax, eax
je 0x140040ef2
mov r9d, 1
cmp edx, r9d
jl 0x140040f2b
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140040e56
test r8b, 0x20
jne 0x140040db8
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140040e56
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 0x140040de6
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140040e56
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140040e0e
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140040e56
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140040e36
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140040e56
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 0x140040e68
mov rcx, qword [rsi + 0x40]
movzx r8d, byte [r8 + rcx]
cmp r11d, r8d
je 0x140046fca
inc r9d
cmp r9d, edx
jle 0x140040d78
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
cmp edx, r10d
je 0x14003ee62
cmp dword [rsp + 0x60], ebx
jne 0x140045251
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp dword [rbp + 0x118], ebx
jne 0x140041029
cmp edx, r10d
jge 0x140041095
cmp rdi, qword [rsi + 0x90]
jae 0x14004106b
movzx eax, byte [rdi]
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140041090
inc edx
inc rdi
cmp edx, r10d
jl 0x140040ec5
jmp 0x140041090
mov r8d, 1
cmp edx, r8d
jl 0x140040e8e
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140046fca
inc r8d
cmp r8d, edx
jle 0x140040efd
jmp 0x140040e81
mov r9, qword [rsi + 0x40]
jmp 0x140040e95
mov ecx, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140041034
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x14004100e
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140040f7b
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
mov ecx, 2
shl eax, 6
jmp 0x14004100b
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140040fa1
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
mov ecx, 3
shl eax, 0xc
jmp 0x14004100b
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140040fc7
and r8d, 7
mov eax, r8d
mov r8d, ecx
mov ecx, 4
shl eax, 0x12
jmp 0x14004100b
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140040fed
and r8d, 3
mov eax, r8d
mov r8d, ecx
mov ecx, 5
shl eax, 0x18
jmp 0x14004100b
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 0x14004101c
movzx r8d, byte [r8 + r9]
cmp r11d, r8d
je 0x140041054
movsxd rax, ecx
add rdi, rax
inc edx
cmp edx, r10d
jl 0x140040f34
jmp 0x140041054
cmp dword [rsi + 0xb0], ebx
je 0x140041054
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041054
mov dword [rsi + 0x74], ecx
cmp dword [rsi + 0xb0], ecx
jg 0x14003fdfa
cmp dword [rsp + 0x70], ebx
jne 0x140040a30
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x1400451fe
cmp dword [rsi + 0xb0], ebx
je 0x140041090
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041090
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x14004143f
cmp rdi, rax
jb 0x140046fca
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.14003edb0
test eax, eax
jne 0x140044ddc
mov eax, dword [rbp + 0x118]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x1400410b6
jmp 0x140046fca
mov r9d, dword [rbp + 0x118]
test r9d, r9d
je 0x1400412a0
mov r9d, 1
cmp edx, r9d
jl 0x14004123f
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x14004121c
test r8b, 0x20
jne 0x14004117e
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004121c
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 0x1400411ac
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004121c
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400411d4
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004121c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400411fc
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004121c
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 0x140046fca
inc r9d
cmp r9d, edx
jle 0x14004113e
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
mov r9d, dword [rbp + 0x118]
mov eax, 2
cmp edx, r10d
je 0x14003ee4c
cmp dword [rsp + 0x60], ebx
jne 0x140045597
mov rax, rdi
mov qword [rsp + 0x50], rax
test r9d, r9d
jne 0x1400413c9
cmp edx, r10d
jge 0x140041435
cmp rdi, qword [rsi + 0x90]
jae 0x14004140b
movzx eax, byte [rdi]
cmp r11d, eax
je 0x140041430
inc edx
inc rdi
cmp edx, r10d
jl 0x140041278
jmp 0x140041430
mov ecx, 1
cmp edx, ecx
jl 0x1400412cb
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp r11d, eax
je 0x140046fca
inc ecx
cmp ecx, edx
jle 0x1400412a9
mov rcx, qword [rbp + 0xf8]
jmp 0x140041246
mov eax, 1
cmp rdi, qword [rsi + 0x90]
jae 0x1400413d4
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x1400413bd
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041321
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x1400413bd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x14004134a
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x1400413bd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041373
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x1400413bd
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004139c
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x1400413bd
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 0x1400413f4
cdqe
add rdi, rax
inc edx
cmp edx, r10d
jl 0x1400412d7
jmp 0x1400413f4
cmp dword [rsi + 0xb0], ebx
je 0x1400413f4
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400413f4
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jg 0x14003fdfa
cmp dword [rsp + 0x70], ebx
jne 0x140040a30
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x1400454c1
cmp dword [rsi + 0xb0], ebx
je 0x140041430
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041430
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x140045514
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x140044ae4
cmp r9d, 0x5e
jg 0x14004433e
je 0x140044c86
cmp r9d, 0x52
jg 0x140043c1f
je 0x1400468db
cmp r9d, 0x44
jg 0x14004158a
je 0x14004157d
cmp r9d, 0x39
jl 0x14003f7b0
cmp r9d, 0x3e
jle 0x140041530
cmp r9d, 0x40
jle 0x140041508
cmp r9d, 0x41
je 0x1400414dd
cmp r9d, 0x42
je 0x1400414cc
cmp r9d, 0x43
jne 0x14003f7b0
lea r10d, [r9 - 0x42]
mov eax, 0x7fffffff
inc r11
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
jmp 0x140041c8b
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
inc r11
jmp 0x140041c84
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 0x140041c93
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 0x1400414fb
lea eax, [r9 - 0x39]
inc r11
movzx r8d, al
mov ecx, eax
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x966e8]
movsx eax, byte [rcx + rax + 0x967a8]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
test eax, eax
jne 0x140041c93
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
jmp 0x140041c93
mov dword [rsp + 0x5c], 1
jmp 0x1400414d5
cmp r9d, 0x45
je 0x140041c6d
cmp r9d, 0x4d
jle 0x14003f7b0
cmp r9d, 0x4f
jle 0x1400419a7
cmp r9d, 0x50
je 0x140041774
cmp r9d, 0x51
jne 0x14003f7b0
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 0x1400415ff
mov rcx, qword [rsi + 0x10]
movsxd rax, r10d
cmp dword [rcx + rax*4], ebx
jl 0x1400415ff
mov edx, dword [rcx + rax*4 + 4]
sub edx, dword [rcx + rax*4]
jmp 0x140041612
cmp dword [rsi + 0x60], ebx
je 0x140041608
mov edx, ebx
jmp 0x140041612
mov edx, dword [rsi + 0x90]
sub edx, edi
inc edx
mov al, byte [r11]
mov dword [rsp + 0x60], edx
cmp al, 0x46
jb 0x140041749
cmp al, 0x4b
jbe 0x14004166e
cmp al, 0x4d
ja 0x140041749
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 0x1400416ae
movzx eax, byte [r11]
lea r8, [0x140000000]
inc r11
sub eax, 0x46
movzx r9d, al
movsx ecx, byte [rax + r8 + 0x966e8]
movsx eax, byte [rax + r8 + 0x967a8]
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 0x14003ee53
mov dword [rsp + 0x70], 1
cmp ecx, 1
jl 0x140041723
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035c80
test eax, eax
je 0x140045958
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 0x1400416da
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x1400403d1
cmp dword [rsp + 0x5c], ebx
je 0x14004585e
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x14004580e
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
call fcn.140035c80
test eax, eax
je 0x140045958
movsxd rax, dword [rsp + 0x60]
add rdi, rax
jmp 0x140040a30
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 0x140041841
cmp al, 0x4b
jbe 0x1400417f5
cmp al, 0x4d
ja 0x140041841
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 0x14004184e
movzx eax, byte [r11]
lea rdx, [0x140000000]
inc r11
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx ecx, byte [rax + rdx + 0x966e8]
movzx r8d, al
movsx eax, byte [rax + rdx + 0x967a8]
and r8d, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], r8d
test eax, eax
jne 0x140041852
mov eax, 0x7fffffff
mov dword [rsp + 0x68], eax
jmp 0x140041852
mov dword [rsp + 0x68], 1
mov ecx, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x50], 1
cmp ecx, 1
jl 0x140041981
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004194d
cmp r8d, 0xc0
jb 0x14004194d
test r8b, 0x20
jne 0x1400418af
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004194d
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 0x1400418dd
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004194d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041905
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004194d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004192d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004194d
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.1400352b0
test eax, eax
je 0x140046fca
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 0x140041863
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x1400403d1
cmp dword [rsp + 0x60], ebx
je 0x140045ae5
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x140045a95
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 0x140041a6f
cmp al, 0x4b
jbe 0x140041a1b
cmp al, 0x4d
ja 0x140041a6f
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 0x140041a78
movzx eax, byte [r11]
inc r11
lea rcx, [0x140000000]
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx r11d, byte [rax + rcx + 0x967a8]
movsx r10d, byte [rax + rcx + 0x966e8]
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 0x140041a82
mov eax, 0x7fffffff
mov r11d, eax
mov dword [rsp + 0x58], eax
jmp 0x140041a82
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 0x140041bd2
mov eax, 1
mov dword [rsp + 0x68], eax
cmp r10d, eax
jl 0x140041c27
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140041b84
test r8b, 0x20
jne 0x140041ae2
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140041b80
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 0x140041b10
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140041b80
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041b38
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140041b80
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041b60
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140041b80
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 0x140041b99
cmp r9d, 0x4e
je 0x140046fca
jmp 0x140041bc1
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 0x140046fca
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x140041aa2
jmp 0x140041c27
mov dword [rsp + 0x68], 1
cmp r10d, 1
jl 0x140041c2d
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
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 0x140046fca
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x140041be0
mov eax, dword [rbp + 0x118]
cmp r10d, r11d
je 0x140040a30
cmp dword [rsp + 0x60], ebx
je 0x140045efb
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 0x140045e48
inc eax
jmp 0x140045e09
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 0x140042ad0
test eax, eax
je 0x14004269c
cmp r9d, 0xd
jg 0x140042072
je 0x140042036
mov ecx, r9d
sub ecx, 6
je 0x140041f3b
dec ecx
je 0x140041ef3
dec ecx
je 0x140041ea1
dec ecx
je 0x140041e59
dec ecx
je 0x140041e07
dec ecx
je 0x140041dbf
dec ecx
jne 0x1400461be
lea r8d, [rcx + 1]
mov dword [rsp + 0x50], r8d
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140041d60
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035a10
test eax, eax
jne 0x140046fca
mov r8d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
jmp 0x140041d90
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140041d90
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140041d90
cmp dword [rsi + 0x24], 1
je 0x140046fca
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140046fca
mov rcx, qword [rsi + 0x90]
jmp 0x140041da1
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140041da9
inc rdi
cmp rdi, rcx
jb 0x140041d99
inc r8d
mov dword [rsp + 0x50], r8d
cmp r8d, r10d
jle 0x140041d1b
jmp 0x140042776
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
cmp byte [rdi], 0x80
jae 0x140046fca
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140041dce
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x14003fdcd
cmp byte [rdi], 0x80
jae 0x140041e3c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x140046fca
inc rdi
cmp rdi, rdx
jae 0x140041e4c
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140041e3c
inc r8d
cmp r8d, r10d
jle 0x140041e1d
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
cmp byte [rdi], 0x80
jae 0x140046fca
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140041e68
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x14003fdcd
cmp byte [rdi], 0x80
jae 0x140041ed6
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x140046fca
inc rdi
cmp rdi, rdx
jae 0x140041ee6
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140041ed6
inc r8d
cmp r8d, r10d
jle 0x140041eb7
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
cmp byte [rdi], 0x80
jae 0x140046fca
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140041f02
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x14004200f
test dl, 0x20
jne 0x140041f84
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004200f
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 0x140041fad
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004200f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140041fd0
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004200f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140041ff3
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004200f
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 0x140042025
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140041f4a
jmp 0x140042782
mov edx, 1
cmp r10d, edx
jl 0x140042ad0
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14003fdcd
jmp 0x14004205e
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042066
inc rdi
cmp rdi, rcx
jb 0x140042056
inc edx
cmp edx, r10d
jle 0x14004204b
jmp 0x140042782
mov ecx, r9d
sub ecx, 0xe
je 0x140042681
sub ecx, 3
je 0x14004254c
dec ecx
je 0x1400423fb
dec ecx
je 0x1400422c2
dec ecx
je 0x1400421af
dec ecx
jne 0x1400461be
lea r8d, [rcx + 1]
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042179
test dl, 0x20
jne 0x1400420ee
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042179
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 0x140042117
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042179
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004213a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042179
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004215d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042179
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 0x140046fca
cmp edx, 0xd
jbe 0x14004219e
cmp edx, 0x85
je 0x14004219e
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x1400420b4
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042283
test dl, 0x20
jne 0x1400421f8
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042283
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 0x140042221
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042283
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042244
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042283
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042267
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042283
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 0x1400422b1
cmp edx, 0xd
jbe 0x140046fca
cmp edx, 0x85
je 0x140046fca
cmp edx, 0x2027
jbe 0x1400422b1
cmp edx, 0x2029
jbe 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x1400421be
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042396
test dl, 0x20
jne 0x14004230b
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042396
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 0x140042334
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042396
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042357
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042396
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004237a
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042396
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 0x1400423ba
je 0x1400423ea
cmp edx, 9
je 0x1400423ea
cmp edx, 0x20
je 0x1400423ea
cmp edx, 0xa0
je 0x1400423ea
cmp edx, 0x1680
jmp 0x1400423e4
cmp edx, 0x2000
jb 0x140046fca
cmp edx, 0x200a
jbe 0x1400423ea
cmp edx, 0x202f
je 0x1400423ea
cmp edx, 0x205f
je 0x1400423ea
cmp edx, 0x3000
jne 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x1400422d1
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400424cf
test dl, 0x20
jne 0x140042444
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400424cf
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 0x14004246d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400424cf
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042490
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400424cf
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400424b3
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400424cf
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 0x140042503
je 0x140046fca
cmp edx, 9
je 0x140046fca
cmp edx, 0x20
je 0x140046fca
cmp edx, 0xa0
je 0x140046fca
cmp edx, 0x1680
jmp 0x140042535
cmp edx, 0x2000
jb 0x14004253b
cmp edx, 0x200a
jbe 0x140046fca
cmp edx, 0x202f
je 0x140046fca
cmp edx, 0x205f
je 0x140046fca
cmp edx, 0x3000
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x14004240a
jmp 0x140042782
mov r9d, 1
cmp r10d, r9d
jl 0x140042acb
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042623
test dl, 0x20
jne 0x140042598
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042623
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 0x1400425c1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042623
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400425e4
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042623
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042607
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042623
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 0x140042661
jbe 0x140046fca
cmp edx, 0xc
jbe 0x140042658
cmp edx, 0xd
je 0x140042672
cmp edx, 0x85
je 0x140042658
cmp edx, 0x2027
jbe 0x140046fca
cmp edx, 0x2029
ja 0x140046fca
cmp dword [rsi + 0x78], ebx
jne 0x140046fca
inc r9d
cmp r9d, r10d
jle 0x140042562
jmp 0x14004277d
cmp rdi, r8
jae 0x140042661
cmp byte [rdi], 0xa
jne 0x140042661
inc rdi
jmp 0x140042661
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x140046fca
jmp 0x14004291a
cmp r9d, 0xd
jg 0x140042922
je 0x140042904
mov ecx, r9d
sub ecx, 6
je 0x1400428c5
dec ecx
je 0x140042886
dec ecx
je 0x140042847
dec ecx
je 0x140042808
dec ecx
je 0x1400427c9
dec ecx
je 0x14004278d
dec ecx
jne 0x1400461be
mov dword [rsp + 0x50], 1
cmp r10d, 1
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140042734
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035a10
test eax, eax
jne 0x140046fca
mov r10d, dword [rsp + 0x58]
jmp 0x140042764
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140042764
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140042764
cmp dword [rsi + 0x24], 1
je 0x140046fca
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140046fca
mov eax, dword [rsp + 0x50]
inc rdi
inc eax
mov dword [rsp + 0x50], eax
cmp eax, r10d
jle 0x1400426fa
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rsp + 0x68]
mov eax, dword [rbp + 0x118]
jmp 0x140042ad0
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x14004279c
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
jne 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x1400427d8
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140042817
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
jne 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140042856
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x140042895
jmp 0x140042782
mov r8d, 1
cmp r10d, r8d
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
jne 0x140046fca
inc r8d
cmp r8d, r10d
jle 0x1400428d4
jmp 0x140042782
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x14003fdcd
add rdi, rcx
jmp 0x140042782
mov ecx, r9d
sub ecx, 0xe
je 0x140042904
sub ecx, 3
je 0x140042a67
dec ecx
je 0x140042a1d
dec ecx
je 0x1400429db
dec ecx
je 0x140042995
dec ecx
jne 0x1400461be
mov ecx, 1
cmp r10d, ecx
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x140046fca
cmp eax, 0xd
jle 0x140042989
cmp eax, 0x85
jne 0x140046fca
inc ecx
cmp ecx, r10d
jle 0x14004295d
jmp 0x140042782
mov ecx, 1
cmp r10d, ecx
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x1400429cf
cmp eax, 0xd
jle 0x140046fca
cmp eax, 0x85
je 0x140046fca
inc ecx
cmp ecx, r10d
jle 0x1400429a3
jmp 0x140042782
mov ecx, 1
cmp r10d, ecx
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x140042a11
cmp eax, 0x20
je 0x140042a11
cmp eax, 0xa0
jne 0x140046fca
inc ecx
cmp ecx, r10d
jle 0x1400429e9
jmp 0x140042782
mov ecx, 1
cmp r10d, ecx
jl 0x140042ad0
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x140046fca
cmp eax, 0x20
je 0x140046fca
cmp eax, 0xa0
je 0x140046fca
inc ecx
cmp ecx, r10d
jle 0x140042a2b
jmp 0x140042782
mov edx, 1
cmp r10d, edx
jl 0x140042ad0
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
je 0x140042ab0
jle 0x140046fca
cmp eax, 0xc
jle 0x140042aa7
cmp eax, 0xd
je 0x140042abc
cmp eax, 0x85
jne 0x140046fca
cmp dword [rsi + 0x78], ebx
jne 0x140046fca
inc edx
cmp edx, r10d
jle 0x140042a78
jmp 0x140042782
cmp rdi, rcx
jae 0x140042ab0
cmp byte [rdi], 0xa
jne 0x140042ab0
inc rdi
jmp 0x140042ab0
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x5c]
mov rdx, qword [rbp + 0x100]
mov ecx, dword [rbp + 0x138]
cmp r10d, r8d
je 0x14003ef42
cmp dword [rsp + 0x60], ebx
jne 0x140046241
mov ecx, dword [rbp + 0x118]
mov rax, rdi
mov qword [rsp + 0x50], rax
test ecx, ecx
je 0x14004375a
cmp r9d, 0xc
jg 0x140043296
je 0x14004312e
sub r9d, 6
je 0x140043036
dec r9d
je 0x140042f3a
dec r9d
je 0x140042e42
dec r9d
je 0x140042d46
dec r9d
je 0x140042c4e
dec r9d
jne 0x1400461be
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140042c1d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140042b9c
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140042c19
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140042bbd
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140042c19
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042bde
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140042c19
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042bff
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140042c19
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 0x140043743
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140042b5e
jmp 0x140043743
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140042d19
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140042c98
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140042d15
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140042cb9
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140042d15
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042cda
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140042d15
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042cfb
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140042d15
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 0x140042d2f
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jne 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140042c5a
jmp 0x140043743
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140042e11
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140042d90
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140042e0d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140042db1
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140042e0d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042dd2
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140042e0d
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042df3
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140042e0d
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 0x140043743
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
je 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140042d52
jmp 0x140043743
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140042f0d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140042e8c
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140042f09
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140042ead
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140042f09
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042ece
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140042f09
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042eef
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140042f09
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 0x140042f23
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jne 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140042e4e
jmp 0x140043743
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043005
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140042f84
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043001
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140042fa5
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043001
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042fc6
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043001
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042fe7
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043001
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 0x140043743
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140042f46
jmp 0x140043743
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043101
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043080
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400430fd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x1400430a1
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400430fd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400430c2
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400430fd
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400430e3
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400430fd
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 0x140043117
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043042
jmp 0x140043743
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x1400431e9
cmp r10d, r8d
jge 0x140043743
cmp rdi, qword [rsi + 0x90]
jae 0x1400436d6
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043184
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035a10
test eax, eax
jne 0x140043743
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x1400431b4
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400431b4
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400431b4
cmp dword [rsi + 0x24], 1
je 0x140043743
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140043743
mov rcx, qword [rsi + 0x90]
jmp 0x1400431c5
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x1400431cd
inc rdi
cmp rdi, rcx
jb 0x1400431bd
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x140043743
mov ecx, dword [rbp + 0x118]
jmp 0x140043145
cmp r10d, r8d
jge 0x140043743
cmp rdi, qword [rsi + 0x90]
jae 0x1400436d6
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043231
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035a10
test eax, eax
jne 0x140043743
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140043261
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043261
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043261
cmp dword [rsi + 0x24], 1
je 0x140043743
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140043743
mov rcx, qword [rsi + 0x90]
jmp 0x140043272
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x14004327a
inc rdi
cmp rdi, rcx
jb 0x14004326a
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x140043743
mov ecx, dword [rbp + 0x118]
jmp 0x1400431f2
cmp r9d, 0xd
je 0x140043705
cmp r9d, 0xe
je 0x1400436bf
cmp r9d, 0x11
je 0x140043559
jle 0x1400461be
cmp r9d, 0x13
jle 0x1400433e7
cmp r9d, 0x15
jg 0x1400461be
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043399
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043318
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043395
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043339
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043395
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004335a
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043395
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004337b
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043395
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 0x1400433bd
cmp edx, 0xd
jbe 0x1400433b6
cmp edx, 0x85
je 0x1400433b6
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x1400433bd
mov ecx, 1
jmp 0x1400433bf
mov ecx, ebx
cmp r9d, 0x14
mov eax, ebx
sete al
cmp ecx, eax
je 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x1400432da
jmp 0x140043743
cmp r10d, r8d
jge 0x140043743
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140043530
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400434b2
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043431
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400434ae
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043452
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400434ae
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043473
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400434ae
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043494
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400434ae
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 0x140043501
je 0x140043529
cmp edx, 9
je 0x140043529
cmp edx, 0x20
je 0x140043529
cmp edx, 0xa0
je 0x140043529
cmp edx, 0x1680
je 0x140043529
mov ecx, ebx
cmp r9d, 0x12
mov eax, ebx
sete al
cmp ecx, eax
je 0x140043743
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x1400433f3
jmp 0x140043743
cmp edx, 0x2000
jb 0x1400434d7
cmp edx, 0x200a
jbe 0x140043529
cmp edx, 0x202f
je 0x140043529
cmp edx, 0x205f
je 0x140043529
cmp edx, 0x3000
jne 0x1400434d7
mov ecx, 1
jmp 0x1400434d9
cmp dword [rsi + 0xb0], ebx
je 0x140043743
cmp rdi, qword [rsi + 0xa8]
jbe 0x140043743
mov dword [rsi + 0x74], r8d
cmp dword [rsi + 0xb0], r8d
jmp 0x1400436f5
cmp r10d, r8d
jge 0x140043743
mov r8, qword [rsi + 0x90]
mov r11d, dword [rsp + 0x5c]
mov eax, 1
cmp rdi, r8
jae 0x14004369b
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043636
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x1400435ad
and edx, 0x1f
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
mov eax, 2
jmp 0x140043636
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x1400435d1
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 3
jmp 0x140043636
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400435f5
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
mov eax, 4
jmp 0x140043636
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043619
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
mov eax, 5
jmp 0x140043636
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 0x140043651
inc rdi
cmp rdi, r8
jae 0x140043743
cmp byte [rdi], 0xa
jne 0x14004368a
inc rdi
jmp 0x14004368a
cmp edx, 0xa
je 0x140043685
cmp dword [rsi + 0x78], ebx
jne 0x140043743
cmp edx, 0xb
je 0x140043685
cmp edx, 0xc
je 0x140043685
cmp edx, 0x85
je 0x140043685
cmp edx, 0x2028
je 0x140043685
cmp edx, 0x2029
jne 0x140043743
cdqe
add rdi, rax
inc r10d
cmp r10d, r11d
jl 0x14004356e
jmp 0x140043743
cmp dword [rsi + 0xb0], ebx
je 0x140043743
cmp rdi, qword [rsi + 0xa8]
jbe 0x140043743
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jmp 0x1400436f5
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x1400436fd
mov rdi, qword [rsi + 0x90]
cmp dword [rsi + 0xb0], ebx
je 0x140043743
cmp rdi, qword [rsi + 0xa8]
jbe 0x140043743
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
jmp 0x140043743
mov eax, r8d
add rdi, rax
jmp 0x140043743
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x14004373c
cmp r10d, r8d
jge 0x140043743
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x1400436d6
jmp 0x14004372a
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140043732
inc rdi
cmp rdi, rcx
jb 0x140043722
inc r10d
cmp r10d, r8d
jl 0x14004371b
jmp 0x140043743
mov rdi, qword [rsi + 0x90]
cmp dword [rsp + 0x70], ebx
jne 0x140040a30
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x1400461ee
cmp r9d, 0xc
jg 0x140043a26
je 0x140043999
sub r9d, 6
je 0x140043962
dec r9d
je 0x14004392b
dec r9d
je 0x1400438f4
dec r9d
je 0x1400438c1
dec r9d
je 0x14004388e
dec r9d
jne 0x1400461be
cmp r10d, r8d
jge 0x140043c1a
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
je 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400437aa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x140040a30
cmp rdi, rax
jb 0x140046fca
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.14003edb0
dec rdi
test eax, eax
jne 0x140044ddc
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x1400437f5
jmp 0x140046fca
cmp dword [rsi + 0xb0], ebx
je 0x1400437cf
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400437cf
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
jmp 0x1400437cf
cmp r10d, r8d
jge 0x140043c1a
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140043897
jmp 0x1400437cf
cmp r10d, r8d
jge 0x140043c1a
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
je 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400438ca
jmp 0x1400437cf
cmp r10d, r8d
jge 0x140043c1a
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400438fd
jmp 0x1400437cf
cmp r10d, r8d
jge 0x140043c1a
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
je 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140043934
jmp 0x1400437cf
cmp r10d, r8d
jge 0x140043c1a
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jne 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004396b
jmp 0x1400437cf
cmp r10d, r8d
jge 0x1400437d4
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400439e1
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035a10
test eax, eax
jne 0x1400437cf
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140043a11
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140043a11
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140043a11
cmp dword [rsi + 0x24], 1
je 0x1400437cf
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x1400437cf
inc r10d
inc rdi
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jl 0x1400439a2
jmp 0x1400437cf
cmp r9d, 0xd
jl 0x1400461be
cmp r9d, 0xe
jle 0x140043bf3
cmp r9d, 0x11
je 0x140043b8c
cmp r9d, 0x12
je 0x140043b46
cmp r9d, 0x13
je 0x140043b08
cmp r9d, 0x14
je 0x140043ab0
cmp r9d, 0x15
jne 0x1400461be
cmp r10d, r8d
jge 0x1400437d4
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x140043aa0
cmp eax, 0xb
je 0x140043aa0
cmp eax, 0xc
je 0x140043aa0
cmp eax, 0xd
je 0x140043aa0
cmp eax, 0x85
jne 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140043a71
jmp 0x1400437cf
cmp r10d, r8d
jge 0x1400437d4
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x1400437cf
cmp eax, 0xb
je 0x1400437cf
cmp eax, 0xc
je 0x1400437cf
cmp eax, 0xd
je 0x1400437cf
cmp eax, 0x85
je 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140043ab9
jmp 0x1400437cf
cmp r10d, r8d
jge 0x1400437d4
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx eax, byte [rdi]
cmp eax, 9
je 0x140043b36
cmp eax, 0x20
je 0x140043b36
cmp eax, 0xa0
jne 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140043b11
jmp 0x1400437cf
cmp r10d, r8d
jge 0x1400437d4
cmp rdi, qword [rsi + 0x90]
jae 0x14004385c
movzx eax, byte [rdi]
cmp eax, 9
je 0x1400437cf
cmp eax, 0x20
je 0x1400437cf
cmp eax, 0xa0
je 0x1400437cf
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140043b4f
jmp 0x1400437cf
cmp r10d, r8d
jge 0x1400437d4
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x14004385c
movzx eax, byte [rdi]
cmp eax, 0xd
jne 0x140043bc0
inc rdi
cmp rdi, rcx
jae 0x1400437cf
cmp byte [rdi], 0xa
jne 0x140043be6
jmp 0x140043be3
cmp eax, 0xa
je 0x140043be3
cmp dword [rsi + 0x78], ebx
jne 0x1400437cf
cmp eax, 0xb
je 0x140043be3
cmp eax, 0xc
je 0x140043be3
cmp eax, 0x85
jne 0x1400437cf
inc rdi
inc r10d
cmp r10d, r8d
jl 0x140043b9c
jmp 0x1400437cf
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x140043c0f
mov rdi, qword [rsi + 0x90]
jmp 0x14004385c
mov eax, r8d
add rdi, rax
jmp 0x1400437cf
jmp 0x1400437d4
cmp r9d, 0x59
jg 0x140043f15
je 0x14004416d
cmp r9d, 0x53
je 0x140043e51
cmp r9d, 0x54
je 0x140043e30
jle 0x14003f7b0
cmp r9d, 0x57
jle 0x140043cda
cmp r9d, 0x58
jne 0x14003f7b0
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.14003edb0
cmp eax, 1
je 0x1400442bd
cmp eax, 0xfffffc19
je 0x1400442bd
test eax, eax
je 0x14004427c
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140044ddc
jmp 0x140044283
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 0x140043d15
mov rcx, qword [rbp + 0x128]
mov r11, qword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rbp + 0x128], rcx
jmp 0x140043d18
mov r11, rbx
cmp al, 0x58
je 0x140046b2d
cmp al, 0x59
je 0x140046b2d
cmp al, 0x5a
je 0x140046b2d
cmp al, 0x5b
je 0x140046b2d
cmp al, 0x5d
je 0x140046b2d
cmp al, 0x5f
je 0x140043d4c
cmp al, 0x62
jne 0x140043df6
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 0x140043d76
mov dword [rsi + 0x50], 1
jmp 0x140043db7
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 0x140043db7
lea eax, [r10 + 2]
mov dword [rbp + 0x110], eax
cmp qword [rsi + 0xd0], rbx
je 0x140043df6
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], r9d
jne 0x140043df6
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.140014740
jmp 0x140044abe
mov r9d, dword [rbp - 0x7c]
mov rcx, qword [rbp + 0xf8]
cmp byte [rcx], 0x55
mov r8d, r9d
mov dword [rbp + 0x120], r9d
je 0x140043e19
cmp rdi, r11
jne 0x140044af0
mov r11, qword [rbp + 0xf8]
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x140041446
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 0x140043e30
jmp 0x140044161
mov r8, qword [0x1400c0368]
test r8, r8
je 0x140043f0c
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 0x140046fca
js 0x140044ddc
mov r11, qword [rbp + 0xf8]
add r11, 6
jmp 0x14003fea5
sub r9d, 0x5a
je 0x140043c5d
dec r9d
je 0x14004416d
dec r9d
je 0x1400440ec
dec r9d
jne 0x14003f7b0
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.14003edb0
cmp eax, 1
je 0x140043ff2
test eax, eax
je 0x140043fb1
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140044ddc
jmp 0x140043fb8
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 0x140044009
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140043f4a
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x140044010
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x5d
je 0x140044020
cmp byte [r11], 0x54
jne 0x140046ef5
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 0x140044020
cmp byte [r11], 0x55
mov r10d, dword [rsi + 0xb4]
mov rdi, qword [rsi + 0xa0]
mov dword [rbp + 0x110], r10d
je 0x14004431c
cmp rdi, qword [rbp - 0x78]
je 0x14004431c
mov edx, dword [rbp + 0x120]
lea rcx, [r11 + 3]
cmp byte [rcx], 0x19
mov qword [rbp + 0x118], rcx
jne 0x14004408d
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 0x140044bc5
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.14003edb0
test eax, eax
jne 0x140044ddc
mov r11, qword [rsp + 0x78]
jmp 0x140044bba
cmp dword [rbp + 0x118], ebx
je 0x14004412a
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jle 0x14004414d
dec rdi
dec ecx
cmp rdi, qword [rsi + 0x88]
jb 0x140046fca
jmp 0x14004411c
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140044119
test ecx, ecx
jg 0x140044105
jmp 0x14004414d
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 0x140046fca
cmp rdi, qword [rsi + 0xa8]
jae 0x14004415d
mov qword [rsi + 0xa8], rdi
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x14004432e
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.14003edb0
cmp eax, 1
je 0x140046fca
cmp eax, 0xfffffc19
je 0x140046fca
cmp eax, 0xfffffc1c
je 0x140044239
cmp eax, 0xfffffc1b
je 0x140044239
cmp eax, 0xfffffc1a
je 0x140044239
test eax, eax
je 0x1400441f8
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140044ddc
jmp 0x1400441ff
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 0x14004425c
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044174
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 0x140044240
test byte [rbp + 0x130], 1
jne 0x140046b4b
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x14004431c
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 0x1400442d4
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140043c64
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x1400442db
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x55
je 0x140046fca
test byte [rbp + 0x130], 1
jne 0x140046b4b
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 0x1400442f2
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 0x14003ee82
cmp r9d, 0x6d
jg 0x140044997
je 0x140046efc
mov ecx, r9d
sub ecx, 0x5f
je 0x140044c63
dec ecx
je 0x14004449f
dec ecx
je 0x140044c86
dec ecx
je 0x140044c63
dec ecx
je 0x14004449f
sub ecx, 6
je 0x140044418
dec ecx
jne 0x140046b55
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 0x140044398
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.14003edb0
test eax, eax
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044ae4
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.14003edb0
test eax, eax
jne 0x140044ddc
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 0x14004446f
lea r11, [rdx + 3]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044add
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 0x140044583
mov r8, qword [0x1400c0368]
test r8, r8
je 0x140044578
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 0x140046ca0
js 0x140044ddc
mov r11, qword [rbp + 0xf8]
add r11, 6
mov qword [rbp + 0xf8], r11
movzx edx, byte [r11 + 3]
cmp edx, 0x66
je 0x1400447d9
cmp edx, 0x67
je 0x1400447d9
cmp edx, 0x64
je 0x14004465a
cmp edx, 0x65
je 0x14004465a
cmp edx, 0x68
jne 0x1400445cc
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
jmp 0x1400448ed
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.14003edb0
cmp eax, 1
je 0x140044c06
test eax, eax
je 0x140044646
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140044ddc
jmp 0x14004464d
mov r11, qword [rbp + 0xf8]
movsxd rax, dword [rsp + 0x50]
add r11, rax
jmp 0x1400448ed
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 0x140044686
mov rax, qword [rsi + 0x10]
movsxd rcx, r8d
cmp dword [rax + rcx*4], ebx
jge 0x1400448d0
mov dword [rsp + 0x60], ebx
cmp edx, 0x65
jne 0x140044983
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 0x1400446d6
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x1400446cc
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x1400446ab
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x140044983
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x140044758
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.1400177c0
test eax, eax
jne 0x140044747
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 0x140044737
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x1400448c9
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x140044747
mov rcx, qword [rbp - 0x78]
jmp 0x1400446f1
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 0x140044983
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.1400177c0
test eax, eax
jne 0x14004497c
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 0x1400447bb
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x1400448c9
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x14004497c
mov rcx, qword [rsp + 0x78]
jmp 0x140044773
cmp qword [rsi + 0xd0], rbx
je 0x1400445b1
movzx r8d, byte [r11 + 4]
movzx eax, byte [r11 + 5]
shl r8d, 8
or r8d, eax
cmp r8d, 0xffff
je 0x1400448d0
mov rax, qword [rsi + 0xd0]
cmp r8d, dword [rax + 8]
je 0x1400448d0
mov dword [rsp + 0x60], ebx
cmp edx, 0x67
jne 0x140044983
mov rdx, qword [rsi + 0x30]
mov r9d, ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x68], rdx
cmp dword [rsi + 0x28], ebx
jle 0x140044862
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x140044858
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x140044837
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x140044983
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x140044911
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.1400177c0
test eax, eax
jne 0x140044900
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 0x1400448c9
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x140044900
mov rcx, qword [rbp - 0x78]
jmp 0x140044881
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 0x140044c42
cmp byte [r11], 0x54
je 0x140044c42
add r11, 3
jmp 0x14004448c
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 0x140044983
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.1400177c0
test eax, eax
jne 0x14004497c
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 0x1400448c9
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x14004497c
mov rcx, qword [rsp + 0x78]
jmp 0x140044928
mov r11, qword [rbp + 0xf8]
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jmp 0x1400448dd
mov ecx, r9d
sub ecx, 0x6e
je 0x14004724e
dec ecx
je 0x1400471b7
dec ecx
je 0x140047113
dec ecx
je 0x14004706c
dec ecx
je 0x140046fdf
dec ecx
je 0x140046ca0
dec ecx
je 0x140044a7d
dec ecx
je 0x140044a05
dec ecx
jne 0x14003f7b0
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 0x1400449e3
lea r11, [rdx + 3]
jmp 0x140044add
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 0x140044a3e
mov dword [rsi + 0x50], 1
mov r10d, dword [rbp + 0x110]
add r11, 3
jmp 0x140044493
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 0x140044a2e
add r10d, 2
mov dword [rbp + 0x110], r10d
jmp 0x140044a35
cmp qword [rsi + 0xd0], rbx
je 0x140046f86
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], ebx
jne 0x140046f86
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.140014740
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 0x14004432e
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 0x140044b73
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.14003edb0
test eax, eax
jne 0x140044ddc
mov edx, dword [rbp + 0x130]
test edx, edx
jne 0x140046b04
mov r11, qword [rsp + 0x50]
jmp 0x140044dba
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.14003edb0
test eax, eax
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
add r11, 3
mov dword [rbp + 0x130], ebx
jmp 0x140044dba
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.14003edb0
test eax, eax
jne 0x140044ddc
mov r11, qword [rbp + 0x118]
jmp 0x140044bba
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 0x140044c3c
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 0x140044c26
add r11, 3
cmp dword [rsp + 0x5c], 0x63
mov qword [rbp + 0xf8], r11
je 0x140046ca8
mov dword [rbp + 0x130], ebx
jmp 0x140044dc1
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 0x140046d7e
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 0x140044d9c
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 + 0x96620]
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.14003edb0
test eax, eax
je 0x140044d40
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140044ddc
jmp 0x140044d47
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 0x140044cc6
mov edx, dword [rbp + 0x130]
movzx eax, byte [r11]
test edx, edx
jne 0x140046d00
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x96620]
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 0x14003edfe
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 0x140046fca
cmp rdi, qword [rsi + 0x90]
jb 0x140046fca
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046fca
mov dword [rsi + 0x74], r9d
cmp dword [rsi + 0xb0], r9d
jmp 0x14003fdf4
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.14003edb0
test eax, eax
jne 0x140044ddc
movsxd rax, dword [rsp + 0x68]
mov qword [rbp + 0x118], rax
jmp 0x140044e94
mov rax, qword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
je 0x140046fca
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.14003edb0
test eax, eax
je 0x140044e8d
jmp 0x140044ddc
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.14003edb0
test eax, eax
jne 0x140044ddc
movsxd rcx, dword [rsp + 0x68]
mov qword [rbp + 0x118], rcx
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x58], eax
jge 0x140046fca
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140045958
mov rdx, qword [rbp - 0x78]
mov r8, rcx
mov rcx, rdi
call fcn.140015420
test eax, eax
jne 0x140045958
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.14003edb0
mov rcx, qword [rbp + 0x118]
test eax, eax
je 0x140044f5c
jmp 0x140044ddc
mov eax, ecx
inc eax
jmp 0x140045050
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
jne 0x140046fca
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.14003edb0
test eax, eax
je 0x14004500b
jmp 0x140044ddc
cmp rdi, rax
jb 0x140046fca
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.14003edb0
dec rdi
test eax, eax
jne 0x140044ddc
mov eax, dword [rbp + 0x118]
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rbp + 0x120]
cmp rdi, qword [rsp + 0x50]
jae 0x1400450ba
jmp 0x140046fca
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 0x1400451a6
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
jne 0x140046fca
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.14003edb0
test eax, eax
je 0x140045148
jmp 0x140044ddc
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140046fca
jmp 0x1400451ee
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400451eb
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.14003edb0
test eax, eax
je 0x1400451d8
jmp 0x140044ddc
mov r9, qword [rbp + 0x108]
mov rdx, rcx
test eax, eax
mov eax, dword [rbp + 0x138]
mov rcx, rdi
je 0x1400453e2
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 0x1400453ba
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140045361
test dl, 0x20
jne 0x1400452d6
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140045361
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 0x1400452ff
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140045361
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140045322
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140045361
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140045345
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140045361
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 0x140045371
mov rax, qword [rsi + 0x40]
movzx edx, byte [rdx + rax]
cmp dword [rsp + 0x50], edx
je 0x140046fca
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.14003edb0
test eax, eax
je 0x14004528c
jmp 0x140044ddc
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 0x140045473
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
je 0x140046fca
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.14003edb0
test eax, eax
je 0x1400453ff
jmp 0x140044ddc
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140046fca
jmp 0x1400454b1
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400454ae
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.14003edb0
test eax, eax
je 0x14004549b
jmp 0x140044ddc
cmp rdi, rax
jb 0x140046fca
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.14003edb0
test eax, eax
jne 0x140044ddc
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x14004552b
jmp 0x140046fca
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 0x1400457ad
jmp 0x14004571d
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400456c0
test dl, 0x20
jne 0x140045631
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400456bc
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 0x14004565a
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400456bc
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004567d
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400456bc
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400456a0
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400456bc
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 0x140046fca
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.14003edb0
test eax, eax
je 0x1400455e9
jmp 0x140044ddc
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
je 0x140046fca
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.14003edb0
test eax, eax
je 0x14004572f
jmp 0x140044ddc
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x50], eax
jge 0x140046fca
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.140035c80
test eax, eax
je 0x140045958
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.14003edb0
test eax, eax
je 0x1400457bf
jmp 0x140044ddc
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x1400458de
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035c80
test eax, eax
je 0x1400458a5
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 0x140045867
jmp 0x1400458d3
cmp dword [rsi + 0xb0], ebx
je 0x1400458d3
cmp rdi, qword [rsi + 0x90]
jb 0x1400458d3
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400458d3
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
cmp rdi, qword [rsp + 0x78]
jb 0x140046fca
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.14003edb0
test eax, eax
jne 0x140044ddc
movsxd rax, dword [rsp + 0x60]
sub rdi, rax
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x78]
jae 0x1400458ec
jmp 0x140046fca
cmp dword [rsi + 0xb0], ebx
je 0x140046fca
cmp rdi, qword [rsi + 0x90]
jb 0x140046fca
jmp 0x14003fdd9
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x58], eax
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140045a6e
cmp r8d, 0xc0
jb 0x140045a6e
test r8b, 0x20
jne 0x1400459d0
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140045a6e
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 0x1400459fe
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140045a6e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140045a26
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140045a6e
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140045a4e
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140045a6e
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.1400352b0
test eax, eax
je 0x140046fca
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.14003edb0
test eax, eax
je 0x140045976
jmp 0x140044ddc
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x140045c34
mov dword [rsp + 0x50], 1
cmp rdi, qword [rsi + 0x90]
jae 0x140045c0f
movzx r8d, byte [rdi]
cmp dword [rbp + 0x118], ebx
je 0x140045bde
cmp r8d, 0xc0
jb 0x140045bde
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140045b48
and r8d, 0x1f
mov dword [rsp + 0x50], 2
mov eax, r8d
shl eax, 6
jmp 0x140045bd8
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140045b6e
and r8d, 0xf
mov dword [rsp + 0x50], 3
mov eax, r8d
shl eax, 0xc
jmp 0x140045bd8
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140045b94
and r8d, 7
mov dword [rsp + 0x50], 4
mov eax, r8d
shl eax, 0x12
jmp 0x140045bd8
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140045bba
and r8d, 3
mov dword [rsp + 0x50], 5
mov eax, r8d
shl eax, 0x18
jmp 0x140045bd8
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.1400352b0
test eax, eax
je 0x140045c34
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 0x140045af2
jmp 0x140045c34
cmp dword [rsi + 0xb0], ebx
je 0x140045c34
cmp rdi, qword [rsi + 0xa8]
jbe 0x140045c34
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140045c6c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x140046fca
cmp dword [rbp + 0x118], ebx
je 0x140045c64
jmp 0x140045c5c
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140045c59
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.14003edb0
test eax, eax
je 0x140045c3e
jmp 0x140044ddc
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140045dad
test r8b, 0x20
jne 0x140045d0f
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140045dad
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 0x140045d3d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140045dad
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140045d65
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140045dad
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140045d8d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140045dad
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 0x140045dbd
cmp dword [rsp + 0x5c], 0x4e
jmp 0x140045ddb
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 0x140046fca
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.14003edb0
test eax, eax
je 0x140045cbf
jmp 0x140044ddc
inc eax
jmp 0x140045ebc
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
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 0x140046fca
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.14003edb0
test eax, eax
je 0x140045e4c
jmp 0x140044ddc
mov r11, rdi
mov qword [rsp + 0x78], rdi
test eax, eax
jne 0x140046069
mov r9d, dword [rsp + 0x58]
cmp r10d, r9d
jge 0x140046149
cmp rdi, qword [rsi + 0x90]
jae 0x14004611b
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 0x140046140
inc r10d
inc rdi
cmp r10d, r9d
jl 0x140045f19
jmp 0x140046140
mov r11d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140046076
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140046031
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140045fa4
and r8d, 0x1f
mov r11d, 2
mov eax, r8d
shl eax, 6
jmp 0x14004602b
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140045fc8
and r8d, 0xf
mov r11d, 3
mov eax, r8d
shl eax, 0xc
jmp 0x14004602b
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140045fec
and r8d, 7
mov r11d, 4
mov eax, r8d
shl eax, 0x12
jmp 0x14004602b
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140046010
and r8d, 3
mov r11d, 5
mov eax, r8d
shl eax, 0x18
jmp 0x14004602b
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 0x140046040
cmp r9d, 0x4e
jmp 0x14004605e
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 0x140046098
movsxd rax, r11d
add rdi, rax
inc r10d
cmp r10d, dword [rsp + 0x58]
jl 0x140045f5e
jmp 0x140046098
cmp dword [rsi + 0xb0], ebx
je 0x140046098
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046098
mov dword [rsi + 0x74], r11d
cmp dword [rsi + 0xb0], r11d
jg 0x14003fdfa
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x1400460c8
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x140046fca
jmp 0x1400460b8
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400460b5
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.14003edb0
test eax, eax
je 0x1400460a2
jmp 0x140044ddc
cmp dword [rsi + 0xb0], ebx
je 0x140046140
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046140
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x14003fdfa
cmp rdi, r11
jb 0x140046fca
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.14003edb0
test eax, eax
jne 0x140044ddc
mov eax, dword [rbp + 0x118]
dec rdi
cmp rdi, qword [rsp + 0x78]
jae 0x140046157
jmp 0x140046fca
mov eax, 0xfffffff2
jmp 0x140044ddc
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140046fca
jmp 0x1400461de
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400461db
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.14003edb0
test eax, eax
je 0x1400461c8
jmp 0x140044ddc
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
test eax, eax
mov eax, ecx
mov rdx, r11
mov rcx, rdi
je 0x1400466ab
inc eax
jmp 0x140046659
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x1400462f6
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400462c6
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035a10
test eax, eax
jne 0x140046fca
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x1400462f6
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400462f6
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400462f6
cmp dword [rsi + 0x24], 1
je 0x140046fca
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140046fca
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400463ae
test dl, 0x20
jne 0x140046323
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400463ae
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 0x14004634c
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400463ae
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004636f
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400463ae
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140046392
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400463ae
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 0x14004647c
cmp r8d, 0xc
jge 0x140046631
mov ecx, r8d
sub ecx, 6
je 0x140046463
dec ecx
je 0x14004644a
dec ecx
je 0x140046431
dec ecx
je 0x140046418
dec ecx
je 0x1400463ff
dec ecx
jne 0x1400461be
cmp edx, 0x100
jae 0x140046fca
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x1400465e7
cmp edx, 0x100
jae 0x140046631
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x14004662b
cmp edx, 0x100
jae 0x140046fca
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x1400465e7
cmp edx, 0x100
jae 0x140046631
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x14004662b
cmp edx, 0x100
jae 0x140046fca
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x1400465e7
cmp edx, 0x100
jae 0x140046631
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x14004662b
mov ecx, r8d
sub ecx, 0x11
je 0x1400465ef
dec ecx
je 0x140046580
dec ecx
je 0x14004650d
dec ecx
je 0x1400464d2
dec ecx
jne 0x1400461be
cmp edx, 0xa
jb 0x140046fca
cmp edx, 0xd
jbe 0x140046631
cmp edx, 0x85
je 0x140046631
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140046fca
jmp 0x140046631
cmp edx, 0xa
jb 0x140046631
cmp edx, 0xd
jbe 0x140046fca
cmp edx, 0x85
je 0x140046fca
cmp edx, 0x2027
jbe 0x140046631
cmp edx, 0x2029
jbe 0x140046fca
jmp 0x140046631
mov eax, 0x180e
cmp edx, eax
ja 0x140046545
je 0x140046631
cmp edx, 9
je 0x140046631
cmp edx, 0x20
je 0x140046631
cmp edx, 0xa0
je 0x140046631
cmp edx, 0x1680
jmp 0x14004662b
cmp edx, 0x2000
jb 0x140046fca
cmp edx, 0x200a
jbe 0x140046631
cmp edx, 0x202f
je 0x140046631
cmp edx, 0x205f
je 0x140046631
cmp edx, 0x3000
jmp 0x14004662b
mov eax, 0x180e
cmp edx, eax
ja 0x1400465b5
je 0x140046fca
cmp edx, 9
je 0x140046fca
cmp edx, 0x20
je 0x140046fca
cmp edx, 0xa0
je 0x140046fca
cmp edx, 0x1680
jmp 0x1400465e7
cmp edx, 0x2000
jb 0x140046631
cmp edx, 0x200a
jbe 0x140046fca
cmp edx, 0x202f
je 0x140046fca
cmp edx, 0x205f
je 0x140046fca
cmp edx, 0x3000
je 0x140046fca
jmp 0x140046631
cmp edx, 0xa
je 0x140046631
jbe 0x140046fca
cmp edx, 0xc
jbe 0x140046628
cmp edx, 0xd
je 0x140046698
cmp edx, 0x85
je 0x140046628
cmp edx, 0x2027
jbe 0x140046fca
cmp edx, 0x2029
ja 0x140046fca
cmp dword [rsi + 0x78], ebx
jne 0x140046fca
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.14003edb0
test eax, eax
je 0x140046266
jmp 0x140044ddc
cmp rdi, qword [rsi + 0x90]
jae 0x140046631
cmp byte [rdi], 0xa
jne 0x140046631
inc rdi
jmp 0x140046631
inc eax
jmp 0x140046889
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x140046fca
cmp rdi, qword [rsi + 0x90]
jae 0x14003fdcd
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x14004673c
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x14004670c
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035a10
test eax, eax
jne 0x140046fca
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x14004673c
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x14004673c
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x14004673c
cmp dword [rsi + 0x24], 1
je 0x140046fca
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140046fca
movzx ecx, byte [rdi]
inc rdi
cmp r8d, 0xe
jg 0x1400467bd
cmp r8d, 0xc
jge 0x140046861
mov edx, r8d
sub edx, 6
je 0x1400467b0
dec edx
je 0x1400467a6
dec edx
je 0x140046799
dec edx
je 0x14004678c
dec edx
je 0x14004677f
dec edx
jne 0x1400461be
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x14004682f
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x14004685b
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x14004682f
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x14004685b
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x14004682f
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x14004685b
mov edx, r8d
sub edx, 0x11
je 0x140046837
dec edx
je 0x140046817
dec edx
je 0x140046805
dec edx
je 0x1400467ef
dec edx
jne 0x1400461be
cmp ecx, 0xa
jb 0x140046fca
cmp ecx, 0xd
jbe 0x140046861
cmp ecx, 0x85
jmp 0x14004685b
cmp ecx, 0xa
jb 0x140046861
cmp ecx, 0xd
jbe 0x140046fca
cmp ecx, 0x85
jmp 0x14004682f
cmp ecx, 9
je 0x140046861
cmp ecx, 0x20
je 0x140046861
cmp ecx, 0xa0
jmp 0x14004685b
cmp ecx, 9
je 0x140046fca
cmp ecx, 0x20
je 0x140046fca
cmp ecx, 0xa0
je 0x140046fca
jmp 0x140046861
cmp ecx, 0xa
je 0x140046861
jbe 0x140046fca
cmp ecx, 0xc
jbe 0x140046858
cmp ecx, 0xd
je 0x1400468c8
cmp ecx, 0x85
jne 0x140046fca
cmp dword [rsi + 0x78], ebx
jne 0x140046fca
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.14003edb0
test eax, eax
je 0x1400466b2
jmp 0x140044ddc
cmp rdi, qword [rsi + 0x90]
jae 0x140046861
cmp byte [rdi], 0xa
jne 0x140046861
inc rdi
jmp 0x140046861
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 0x140046907
mov dword [rbp - 0x68], ebx
jmp 0x140046917
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 0x140046952
lea rax, [rbp + 0x50]
mov qword [rbp - 0x58], rax
jmp 0x140046972
shl rcx, 2
call qword [0x1400a8e80]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x14004696f
mov eax, 0xfffffffa
jmp 0x140044ddc
mov ecx, dword [rbp - 0x50]
mov rdx, qword [rsi + 0x10]
movsxd r8, ecx
mov rcx, rax
shl r8, 2
call fcn.140014740
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 + 0x96620]
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.14003edb0
mov dword [rbp - 0x80], eax
cmp eax, 1
je 0x140046adc
cmp eax, 0xfffffc19
je 0x140046adc
test eax, eax
je 0x140046a3a
cmp eax, 0xfffffc1e
jne 0x140046a96
mov rcx, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], rcx
jne 0x140046a96
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.140014740
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 0x140046ab5
mov ecx, dword [rbp + 0x118]
mov r9d, dword [rbp - 0x7c]
mov r10d, dword [rbp + 0x110]
jmp 0x1400469b4
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x50]
cmp rcx, rdx
je 0x140044ddc
call qword [case.0x14007768e.0]
mov eax, dword [rbp - 0x80]
jmp 0x140044ddc
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x140046fca
call qword [case.0x14007768e.0]
jmp 0x140046fca
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x140046afa
call qword [case.0x14007768e.0]
mov ebx, 1
jmp 0x140046fca
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 0x140046cd2
mov rax, qword [rbp + 0x100]
mov qword [rsi + 0xa0], rdi
mov dword [rsi + 0xb4], r10d
mov qword [rsi + 0x98], rax
jmp 0x140046afa
mov eax, 1
jmp 0x140044ddc
dec ecx
je 0x140046bd6
dec ecx
jne 0x14003f7b0
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x96620]
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.14003edb0
test eax, eax
je 0x1400471a1
cmp eax, 0xfffffc1e
je 0x1400471a1
jmp 0x140044ddc
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 + 0x96620]
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.14003edb0
mov ecx, eax
mov dword [rbp + 0x118], eax
cmp eax, 0xfffffc1d
jne 0x140046c7e
mov rcx, qword [rbp + 0xf8]
mov rdx, qword [rsi + 0x98]
add rcx, 2
call fcn.1400177c0
test eax, eax
jne 0x140046c78
mov qword [rsi + 0x98], rdi
mov eax, 0xfffffc1c
jmp 0x140044ddc
mov ecx, dword [rbp + 0x118]
cmp qword [rsi + 0xe0], rbx
jne 0x140046c99
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, ecx
jmp 0x140044ddc
mov dword [rbp - 0x80], ebx
jmp 0x1400471a1
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.14003edb0
jmp 0x140044ddc
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 + 0x96620]
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.14003edb0
test eax, eax
jne 0x140044ddc
mov rcx, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rcx
jmp 0x140044ddc
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 + 0x96620]
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.14003edb0
mov r11d, eax
test eax, eax
je 0x140046e59
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov r8, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r8
jne 0x140044ddc
jmp 0x140046e60
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 0x140046ea9
mov ecx, dword [rbp - 0x7c]
mov r8d, dword [rbp - 0x80]
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x140046ddc
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 0x140046ef5
mov rax, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rax
xor eax, eax
jmp 0x140044ddc
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 + 0x96620]
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.14003edb0
test eax, eax
je 0x140046f6a
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, 0xfffffc1b
jmp 0x140044ddc
cmp rdi, rdx
jne 0x140046fa8
cmp dword [rsi + 0x6c], ebx
jne 0x140046fca
cmp dword [rsi + 0x70], ebx
je 0x140046fa8
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdx, rax
je 0x140046fca
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 0x140044ddc
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x96620]
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.14003edb0
test eax, eax
je 0x140047060
cmp eax, 0xfffffc1b
je 0x140047060
cmp eax, 0xfffffc1c
je 0x140047060
cmp eax, 0xfffffc1d
je 0x140047060
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov dword [rbp - 0x80], 0xfffffc1a
jmp 0x1400471a1
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x96620]
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.14003edb0
test eax, eax
jne 0x140044ddc
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 0x140044ddc
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x96620]
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.14003edb0
test eax, eax
jne 0x140044ddc
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 0x140044ddc
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x96620]
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.14003edb0
test eax, eax
je 0x140047232
cmp eax, 0xfffffc1b
je 0x140047232
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0x98], rax
mov eax, 0xfffffc1d
jmp 0x140044ddc
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x96620]
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.14003edb0
test eax, eax
je 0x1400472c1
cmp eax, 0xfffffc1b
je 0x1400472c1
cmp eax, 0xfffffc1e
jne 0x140044ddc
mov qword [rsi + 0x98], rdi
mov ebx, 0xfffffc1c
jmp 0x140046fca
mov eax, 0xffffffeb
jmp 0x140044ddc