Function at 0x14003fd00
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 0x140045d25
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 0x140048222
mov r8d, dword [rbp + 0x120]
mov dword [rbp - 0x7c], r8d
test byte [rbp + 0x130], dl
je 0x14003fd93
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 0x14003fdc6
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov ecx, dword [rbp + 0x138]
jmp 0x14003fdcb
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 0x1400423a2
je 0x140041c4a
cmp r9d, 0x18
jg 0x140040e08
je 0x1400410ba
cmp r9d, 0xb
jg 0x1400406ac
je 0x1400405c2
cmp r9d, 6
jg 0x1400401ef
je 0x140040100
test r9d, r9d
je 0x1400459cd
cmp r9d, 1
je 0x1400411be
cmp r9d, eax
je 0x1400400da
cmp r9d, 3
je 0x1400400cb
jle 0x140040700
cmp r9d, 5
jg 0x140040700
cmp dword [rbp + 0x118], ebx
je 0x140040020
cmp rdi, qword [rsi + 0x88]
je 0x14003ff6d
lea r8, [rdi - 1]
jmp 0x14003fea8
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x14003fdcb
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140045284
dec r8
mov al, byte [r8]
and al, 0xc0
cmp al, 0x80
je 0x14003fea5
cmp r8, qword [rsi + 0xa8]
jae 0x14003fec1
mov qword [rsi + 0xa8], r8
movzx edx, byte [r8]
cmp edx, 0xc0
jb 0x14003ff55
movzx ecx, byte [r8 + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003fee8
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x14003ff51
movzx eax, byte [r8 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003ff04
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x14003ff51
movzx eax, byte [r8 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003ff20
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x14003ff51
movzx eax, byte [r8 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003ff3c
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x14003ff51
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 0x14003ff6d
mov rax, qword [rsi + 0x48]
mov r8d, 1
test byte [rdx + rax], 0x10
jne 0x14003ff70
mov r8d, ebx
cmp rdi, qword [rsi + 0x90]
jae 0x140040060
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140040007
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x14003ff9e
and edx, 0x1f
mov eax, edx
shl eax, 6
jmp 0x140040003
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x14003ffb9
and edx, 0xf
mov eax, edx
shl eax, 0xc
jmp 0x140040003
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14003ffd4
and edx, 7
mov eax, edx
shl eax, 0x12
jmp 0x140040003
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14003ffef
and edx, 3
mov eax, edx
shl eax, 0x18
jmp 0x140040003
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 0x140040085
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x140040085
mov ecx, 1
jmp 0x14004009a
cmp rdi, qword [rsi + 0x88]
jne 0x14004002e
mov r8d, ebx
jmp 0x140040057
cmp rdi, qword [rsi + 0xa8]
ja 0x140040042
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 0x140040089
cmp dword [rsi + 0xb0], ebx
je 0x140040085
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040085
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
mov ecx, ebx
jmp 0x14004009a
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 0x1400400c0
cmp ecx, r8d
je 0x140047f1a
mov rdx, qword [rbp + 0x100]
jmp 0x140045277
cmp ecx, r8d
jne 0x140047f1a
jmp 0x1400400b4
mov rdx, rdi
mov qword [rbp + 0x100], rdx
jmp 0x1400411cb
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdi, rax
jne 0x140047e37
inc r11
mov qword [rbp + 0xf8], r11
jmp 0x140045284
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400401d1
cmp edx, 0xc0
jb 0x1400401d1
test dl, 0x20
jne 0x140040146
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400401d1
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 0x14004016f
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400401d1
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040192
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400401d1
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400401b5
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400401d1
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 0x1400401e7
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140047f1a
inc r11
jmp 0x140045a2d
sub r9d, 7
je 0x1400404d2
dec r9d
je 0x1400403e8
dec r9d
je 0x1400402fe
dec r9d
jne 0x140040700
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400402e5
cmp edx, 0xc0
jb 0x1400402e5
test dl, 0x20
jne 0x14004025a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400402e5
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 0x140040283
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400402e5
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400402a6
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400402e5
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400402c9
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400402e5
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 0x1400401e7
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x1400401e1
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400403cf
cmp edx, 0xc0
jb 0x1400403cf
test dl, 0x20
jne 0x140040344
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400403cf
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 0x14004036d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400403cf
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040390
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400403cf
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400403b3
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400403cf
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 0x140047f1a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x1400405b7
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400404b9
cmp edx, 0xc0
jb 0x1400404b9
test dl, 0x20
jne 0x14004042e
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400404b9
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 0x140040457
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400404b9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004047a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400404b9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x14004049d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400404b9
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 0x1400401e7
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x1400401e1
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400405a3
cmp edx, 0xc0
jb 0x1400405a3
test dl, 0x20
jne 0x140040518
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400405a3
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 0x140040541
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400405a3
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040564
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400405a3
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040587
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400405a3
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 0x140047f1a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x140047f1a
jmp 0x1400401e7
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040693
cmp edx, 0xc0
jb 0x140040693
test dl, 0x20
jne 0x140040608
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040693
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 0x140040631
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140040693
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040654
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040693
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040677
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040693
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 0x140047f1a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x1400405b7
sub r9d, 0xc
je 0x140040d54
dec r9d
je 0x140040dc2
dec r9d
je 0x140040d0a
sub r9d, 3
je 0x140040bd4
dec r9d
je 0x140040a84
dec r9d
je 0x140040934
dec r9d
je 0x14004081f
dec r9d
je 0x14004070a
mov eax, 2
cmp r9d, eax
je 0x140041001
mov eax, 0xfffffffb
jmp 0x140045d2c
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400407df
cmp edx, 0xc0
jb 0x1400407df
test dl, 0x20
jne 0x140040750
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400407df
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 0x14004077d
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x1400407e4
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400407a0
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400407df
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400407c3
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400407df
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 0x140047f1a
cmp edx, 0xd
jbe 0x140040f7a
cmp edx, 0x85
je 0x140040f7a
cmp edx, 0x2027
jbe 0x140047f1a
cmp edx, 0x2029
ja 0x140047f1a
jmp 0x140040f7a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400408f4
cmp edx, 0xc0
jb 0x1400408f4
test dl, 0x20
jne 0x140040865
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400408f4
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 0x140040892
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x1400408f9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400408b5
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400408f4
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400408d8
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400408f4
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 0x140040f7a
cmp edx, 0xd
jbe 0x140047f1a
cmp edx, 0x85
je 0x140047f1a
cmp edx, 0x2027
jbe 0x140040f7a
cmp edx, 0x2029
jbe 0x140047f1a
jmp 0x140040f7a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040a09
cmp edx, 0xc0
jb 0x140040a09
test dl, 0x20
jne 0x14004097a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040a09
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 0x1400409a7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040a0e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400409ca
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040a09
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400409ed
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040a09
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 0x140040a43
je 0x140040f7a
cmp edx, 9
je 0x140040f7a
cmp edx, 0x20
je 0x140040f7a
cmp edx, 0xa0
je 0x140040f7a
cmp edx, 0x1680
jmp 0x140040a79
cmp edx, 0x2000
jb 0x140047f1a
cmp edx, 0x200a
jbe 0x140040f7a
cmp edx, 0x202f
je 0x140040f7a
cmp edx, 0x205f
je 0x140040f7a
cmp edx, 0x3000
jne 0x140047f1a
jmp 0x140040f7a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040b59
cmp edx, 0xc0
jb 0x140040b59
test dl, 0x20
jne 0x140040aca
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040b59
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 0x140040af7
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040b5e
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040b1a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040b59
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040b3d
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040b59
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 0x140040b93
je 0x140047f1a
cmp edx, 9
je 0x140047f1a
cmp edx, 0x20
je 0x140047f1a
cmp edx, 0xa0
je 0x140047f1a
cmp edx, 0x1680
jmp 0x140040bc9
cmp edx, 0x2000
jb 0x140040f7a
cmp edx, 0x200a
jbe 0x140047f1a
cmp edx, 0x202f
je 0x140047f1a
cmp edx, 0x205f
je 0x140047f1a
cmp edx, 0x3000
je 0x140047f1a
jmp 0x140040f7a
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x140040cac
cmp edx, 0xc0
jb 0x140040cac
test dl, 0x20
jne 0x140040c1d
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140040cac
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 0x140040c4a
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x140040cb1
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140040c6d
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140040cac
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140040c90
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140040cac
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 0x140040cef
jbe 0x140047f1a
cmp edx, 0xc
jbe 0x140040ce6
cmp edx, 0xd
je 0x140040cfb
cmp edx, 0x85
je 0x140040ce6
cmp edx, 0x2027
jbe 0x140047f1a
cmp edx, 0x2029
ja 0x140047f1a
cmp dword [rsi + 0x78], ebx
jne 0x140047f1a
mov r8d, dword [rbp + 0x120]
jmp 0x140040f7a
cmp rdi, r8
jae 0x140040cef
cmp byte [rdi], 0xa
jne 0x140040cef
inc rdi
jmp 0x140040cef
mov rax, rdi
inc rdi
cmp rax, qword [rsi + 0x90]
jb 0x1400400f1
cmp dword [rsi + 0xb0], ebx
je 0x140047f1a
cmp rdi, qword [rsi + 0xa8]
jbe 0x140047f1a
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jle 0x140047f1a
mov ebx, 0xfffffff4
jmp 0x140047f1a
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040d92
cmp rdi, qword [rsi + 0x90]
jae 0x140040dc2
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035cb0
test eax, eax
jne 0x140047f1a
mov r11, qword [rbp + 0xf8]
jmp 0x140040dc2
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140040dc2
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140040dc2
cmp dword [rsi + 0x24], 1
je 0x140047f1a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047f1a
mov rcx, qword [rsi + 0x90]
mov rax, rdi
inc rdi
cmp rax, rcx
jae 0x140040d1d
cmp dword [rbp + 0x118], ebx
je 0x140040df2
jmp 0x140040ded
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140040df2
inc rdi
cmp rdi, rcx
jb 0x140040de2
inc r11
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x140045270
cmp r9d, 0x28
jg 0x140041658
je 0x140041636
cmp r9d, 0x1d
jg 0x140041456
je 0x1400411f0
sub r9d, 0x19
je 0x1400411d0
dec r9d
je 0x1400410f9
dec r9d
je 0x140040f19
dec r9d
jne 0x140040700
cmp dword [rbp + 0x118], ebx
je 0x140040ef1
mov r9d, 1
add r11, r9
mov edx, r9d
movzx eax, byte [r11]
mov qword [rbp + 0xf8], r11
cmp eax, 0xc0
jb 0x140040ea2
test al, 0x20
jne 0x140040e81
lea edx, [r9 + 1]
jmp 0x140040ea2
test al, 0x10
jne 0x140040e8c
mov edx, 3
jmp 0x140040ea2
test al, 8
jne 0x140040e97
mov edx, 4
jmp 0x140040ea2
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 0x140045d3f
mov ecx, dword [rbp + 0x138]
mov eax, 2
test edx, edx
jle 0x14003fdcb
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 0x140047f1a
test edx, edx
jg 0x140040ecb
jmp 0x140045a34
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x140040d1d
mov al, byte [rdi]
inc rdi
cmp byte [r11 + 1], al
jne 0x140047f1a
jmp 0x1400411dc
mov eax, 2
test al, r8b
je 0x140040fef
cmp rdi, qword [rsi + 0x90]
jae 0x140040fbf
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140040f89
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035cb0
test eax, eax
je 0x140047e37
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 0x14003fdaa
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140047e37
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140047e37
cmp dword [rsi + 0x24], 1
je 0x140040f6e
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140047e37
jmp 0x140040f6e
cmp dword [rsi + 0x58], ebx
jne 0x140047f1a
cmp dword [rsi + 0xb0], ebx
je 0x140040f73
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040f73
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
jmp 0x140040f73
cmp dword [rsi + 0x58], ebx
jne 0x140047f1a
cmp dword [rsi + 0x68], ebx
jne 0x1400410ba
cmp rdi, qword [rsi + 0x90]
jae 0x140041088
mov edx, dword [rsi + 0x20]
lea r9, [rsi + 0x24]
test edx, edx
je 0x14004103f
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035cb0
test eax, eax
je 0x140047f1a
mov r11, qword [rbp + 0xf8]
jmp 0x140041072
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140047f1a
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140047f1a
cmp dword [r9], 1
je 0x140041072
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
jne 0x140047f1a
movsxd rax, dword [r9]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
jne 0x140047f1a
cmp dword [rsi + 0xb0], ebx
je 0x140040df2
cmp rdi, qword [rsi + 0xa8]
jbe 0x140040df2
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
jmp 0x140040df2
cmp rdi, qword [rsi + 0x90]
jb 0x140047f1a
cmp dword [rsi + 0xb0], ebx
je 0x1400411cb
cmp rdi, qword [rsi + 0xa8]
jbe 0x1400411cb
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
jmp 0x1400411cb
cmp dword [rsi + 0x54], ebx
je 0x14004110b
cmp rdi, qword [rsi + 0x88]
je 0x140047e37
mov eax, 2
test al, r8b
je 0x1400411be
mov rax, qword [rsi + 0x88]
cmp rdi, rax
je 0x1400411b6
cmp rdi, qword [rsi + 0x90]
je 0x140047e37
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x14004117b
cmp rdi, rax
jbe 0x140047e37
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x88]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035b20
test eax, eax
je 0x140047e37
mov r11, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
jmp 0x1400411b6
movsxd rdx, dword [rsi + 0x24]
mov rax, qword [rsi + 0x88]
lea rcx, [rdx + rax]
cmp rdi, rcx
jb 0x140047e37
mov al, byte [rsi + 0x38]
mov rcx, rdi
sub rcx, rdx
cmp byte [rcx], al
jne 0x140047e37
cmp dword [rsi + 0x24], 1
je 0x1400411b6
mov al, byte [rsi + 0x39]
cmp byte [rcx + 1], al
jne 0x140047e37
inc r11
jmp 0x140044d74
cmp rdi, qword [rsi + 0x88]
jne 0x140047e37
inc r11
jmp 0x1400411e4
movzx r8d, byte [r11 + 1]
mov dword [rbp + 0x120], r8d
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
jmp 0x14003fdd2
cmp dword [rbp + 0x118], ebx
je 0x14004140a
inc r11
mov eax, 1
movzx r9d, byte [r11]
mov r8d, r9d
cmp r9d, 0xc0
jb 0x1400412e0
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r9b, 0x20
jne 0x140041240
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x1400412e0
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 0x10
jne 0x14004126a
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x1400412e0
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 8
jne 0x140041294
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x1400412e0
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r9b, 4
jne 0x1400412be
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x1400412e0
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 0x1400468a8
cmp r8d, 0x80
jae 0x14004132d
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 0x140047f1a
mov r10d, dword [rbp + 0x110]
jmp 0x1400400b4
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400413e9
test dl, 0x20
jne 0x14004135a
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400413e9
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 0x140041387
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 2
add rdi, rax
jmp 0x1400413ee
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400413aa
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400413e9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400413cd
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400413e9
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 0x140047f1a
mov r10d, dword [rbp + 0x110]
jmp 0x14004144a
mov rax, qword [rsi + 0x90]
sub rax, rdi
cmp rax, 1
jl 0x140040d1d
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 0x140047f1a
mov eax, 2
add r11, rax
mov qword [rbp + 0xf8], r11
mov r8d, dword [rbp + 0x120]
jmp 0x14003fdaa
cmp r9d, 0x1e
je 0x1400414f3
jle 0x140040700
cmp r9d, 0x24
jle 0x1400414a2
cmp r9d, 0x26
jle 0x1400416fd
cmp r9d, 0x27
jne 0x140040700
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 0x14004175b
lea eax, [r9 - 0x1f]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x9a9b8]
movsx edx, byte [rcx + rax + 0x9a8f8]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x5c], r10d
test r10d, r10d
jne 0x14004175f
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x14004175f
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400415dd
cmp r8d, 0xc0
jb 0x1400415dd
test r8b, 0x20
jne 0x14004153f
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x1400415dd
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 0x14004156d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x1400415dd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041595
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x1400415dd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400415bd
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x1400415dd
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 0x140041618
cmp r8d, 0x100
jae 0x1400415f8
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 0x1400400ae
movzx eax, byte [r11 + 1]
add r11, 2
mov qword [rbp + 0xf8], r11
cmp eax, r8d
je 0x140047f1a
jmp 0x140045277
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 0x14004175f
cmp r9d, 0x33
jg 0x140041bd6
cmp r9d, 0x32
jge 0x140041ba9
cmp r9d, 0x29
je 0x14004173f
cmp r9d, 0x2a
je 0x14004172f
cmp r9d, 0x2b
je 0x1400416f5
jle 0x140040700
cmp r9d, 0x31
jg 0x140040700
lea eax, [r9 - 0x2c]
inc r11
mov ecx, eax
movzx r8d, al
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x9a9b8]
movsx edx, byte [rcx + rax + 0x9a8f8]
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 0x140041c79
mov eax, 0x7fffffff
mov r10d, eax
mov dword [rsp + 0x5c], eax
jmp 0x140041c79
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 0x14004175f
mov r10d, 1
mov dword [rsp + 0x5c], r10d
jmp 0x140041642
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 0x14004198c
mov eax, 1
mov r9, r11
mov qword [rbp - 0x78], r11
mov dword [rsp + 0x68], eax
cmp r8d, 0xc0
jb 0x140041862
movzx ecx, byte [r11 + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x1400417b9
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x140041859
movzx eax, byte [r11 + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x1400417e3
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x140041859
movzx eax, byte [r11 + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x14004180d
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x140041859
movzx eax, byte [r11 + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041837
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x140041859
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 0x140041996
mov dword [rsp + 0x50], 1
cmp edx, 1
jl 0x1400418dc
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x1400468a8
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.1400148b0
test eax, eax
jne 0x1400468a8
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 0x14004188a
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x5c]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
cmp edx, eax
je 0x14003fdc0
cmp dword [rsp + 0x60], ebx
jne 0x140045e4d
mov qword [rsp + 0x50], rdi
cmp edx, eax
jge 0x140041976
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x140041948
mov r8, rcx
mov rdx, r9
mov rcx, rdi
call fcn.1400148b0
test eax, eax
jne 0x140041948
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 0x140041909
jmp 0x140041976
cmp dword [rsi + 0xb0], ebx
je 0x140041976
cmp rdi, qword [rsi + 0x90]
jb 0x140041976
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041976
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
cmp dword [rsp + 0x70], ebx
je 0x140045d75
mov r11, qword [rbp + 0xf8]
jmp 0x140041321
inc r11
mov qword [rbp + 0xf8], r11
mov r9d, dword [rbp + 0x120]
test r9b, 1
je 0x140041ae8
mov r11, qword [rsi + 0x40]
movzx r9d, byte [r8 + r11]
mov r8d, 1
mov dword [rsp + 0x50], r9d
cmp edx, r8d
jl 0x1400419e9
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x140047f1a
inc r8d
cmp r8d, edx
jle 0x1400419c0
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003fe78
cmp dword [rsp + 0x60], ebx
jne 0x140045f55
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x140041a60
cmp rdi, qword [rsi + 0x90]
jae 0x140041a36
movzx eax, byte [rdi]
movzx ecx, byte [rax + r11]
cmp r9d, ecx
jne 0x140041a5b
inc edx
inc rdi
cmp edx, r10d
jl 0x140041a14
jmp 0x140041a5b
cmp dword [rsi + 0xb0], ebx
je 0x140041a5b
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041a5b
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x140041980
cmp rdi, rax
jb 0x140047f1a
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.14003fd00
dec rdi
test eax, eax
jne 0x140045d2c
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x140041a81
jmp 0x140047f1a
mov ecx, 1
cmp edx, ecx
jl 0x140041b13
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp r8d, eax
jne 0x140047f1a
inc ecx
cmp ecx, edx
jle 0x140041af1
mov ecx, dword [rbp + 0x138]
mov eax, 2
cmp edx, r10d
je 0x14003fe7f
cmp dword [rsp + 0x60], ebx
jne 0x140046076
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp edx, r10d
jge 0x140041b85
cmp rdi, qword [rsi + 0x90]
jae 0x140041b5b
movzx eax, byte [rdi]
cmp r8d, eax
jne 0x140041b80
inc edx
inc rdi
cmp edx, r10d
jl 0x140041b3e
jmp 0x140041b80
cmp dword [rsi + 0xb0], ebx
je 0x140041b80
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041b80
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x140045ff7
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
mov rdx, qword [rbp + 0x100]
jmp 0x140045284
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 0x140041c63
sub r9d, 0x34
je 0x140041c30
dec r9d
je 0x140041c11
dec r9d
je 0x140041c06
dec r9d
jne 0x140040700
mov dword [rsp + 0x70], 1
mov edx, ebx
mov dword [rsp + 0x58], ebx
lea r10d, [r9 + 1]
inc r11
jmp 0x140041c6d
mov edx, 1
mov dword [rsp + 0x58], edx
jmp 0x140041c17
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 0x140041c72
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 0x140041c69
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 0x14004206f
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
movzx r11d, byte [r11 + r9]
mov dword [rsp + 0x50], r11d
test eax, eax
je 0x140041e42
mov r9d, 1
cmp edx, r9d
jl 0x140041e7b
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140041da6
test r8b, 0x20
jne 0x140041d08
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140041da6
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 0x140041d36
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140041da6
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041d5e
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140041da6
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041d86
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140041da6
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 0x140041db8
mov rcx, qword [rsi + 0x40]
movzx r8d, byte [r8 + rcx]
cmp r11d, r8d
je 0x140047f1a
inc r9d
cmp r9d, edx
jle 0x140041cc8
mov r9, qword [rsi + 0x40]
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
cmp edx, r10d
je 0x14003fdb2
cmp dword [rsp + 0x60], ebx
jne 0x1400461a1
mov rax, rdi
mov qword [rsp + 0x50], rax
cmp dword [rbp + 0x118], ebx
jne 0x140041f79
cmp edx, r10d
jge 0x140041fe5
cmp rdi, qword [rsi + 0x90]
jae 0x140041fbb
movzx eax, byte [rdi]
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140041fe0
inc edx
inc rdi
cmp edx, r10d
jl 0x140041e15
jmp 0x140041fe0
mov r8d, 1
cmp edx, r8d
jl 0x140041dde
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
movzx ecx, byte [rax + r9]
cmp r11d, ecx
je 0x140047f1a
inc r8d
cmp r8d, edx
jle 0x140041e4d
jmp 0x140041dd1
mov r9, qword [rsi + 0x40]
jmp 0x140041de5
mov ecx, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140041f84
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140041f5e
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140041ecb
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
mov ecx, 2
shl eax, 6
jmp 0x140041f5b
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140041ef1
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
mov ecx, 3
shl eax, 0xc
jmp 0x140041f5b
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140041f17
and r8d, 7
mov eax, r8d
mov r8d, ecx
mov ecx, 4
shl eax, 0x12
jmp 0x140041f5b
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140041f3d
and r8d, 3
mov eax, r8d
mov r8d, ecx
mov ecx, 5
shl eax, 0x18
jmp 0x140041f5b
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 0x140041f6c
movzx r8d, byte [r8 + r9]
cmp r11d, r8d
je 0x140041fa4
movsxd rax, ecx
add rdi, rax
inc edx
cmp edx, r10d
jl 0x140041e84
jmp 0x140041fa4
cmp dword [rsi + 0xb0], ebx
je 0x140041fa4
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041fa4
mov dword [rsi + 0x74], ecx
cmp dword [rsi + 0xb0], ecx
jg 0x140040d4a
cmp dword [rsp + 0x70], ebx
jne 0x140041980
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x14004614e
cmp dword [rsi + 0xb0], ebx
je 0x140041fe0
cmp rdi, qword [rsi + 0xa8]
jbe 0x140041fe0
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x14004238f
cmp rdi, rax
jb 0x140047f1a
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.14003fd00
test eax, eax
jne 0x140045d2c
mov eax, dword [rbp + 0x118]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x140042006
jmp 0x140047f1a
mov r9d, dword [rbp + 0x118]
test r9d, r9d
je 0x1400421f0
mov r9d, 1
cmp edx, r9d
jl 0x14004218f
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x14004216c
test r8b, 0x20
jne 0x1400420ce
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004216c
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 0x1400420fc
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004216c
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140042124
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004216c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004214c
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004216c
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 0x140047f1a
inc r9d
cmp r9d, edx
jle 0x14004208e
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
mov r9d, dword [rbp + 0x118]
mov eax, 2
cmp edx, r10d
je 0x14003fd9c
cmp dword [rsp + 0x60], ebx
jne 0x1400464e7
mov rax, rdi
mov qword [rsp + 0x50], rax
test r9d, r9d
jne 0x140042319
cmp edx, r10d
jge 0x140042385
cmp rdi, qword [rsi + 0x90]
jae 0x14004235b
movzx eax, byte [rdi]
cmp r11d, eax
je 0x140042380
inc edx
inc rdi
cmp edx, r10d
jl 0x1400421c8
jmp 0x140042380
mov ecx, 1
cmp edx, ecx
jl 0x14004221b
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp r11d, eax
je 0x140047f1a
inc ecx
cmp ecx, edx
jle 0x1400421f9
mov rcx, qword [rbp + 0xf8]
jmp 0x140042196
mov eax, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140042324
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x14004230d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140042271
and r8d, 0x1f
mov eax, r8d
mov r8d, ecx
shl eax, 6
or r8d, eax
mov eax, 2
jmp 0x14004230d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x14004229a
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
mov eax, 3
jmp 0x14004230d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x1400422c3
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
mov eax, 4
jmp 0x14004230d
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x1400422ec
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
mov eax, 5
jmp 0x14004230d
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 0x140042344
cdqe
add rdi, rax
inc edx
cmp edx, r10d
jl 0x140042227
jmp 0x140042344
cmp dword [rsi + 0xb0], ebx
je 0x140042344
cmp rdi, qword [rsi + 0xa8]
jbe 0x140042344
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jg 0x140040d4a
cmp dword [rsp + 0x70], ebx
jne 0x140041980
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046411
cmp dword [rsi + 0xb0], ebx
je 0x140042380
cmp rdi, qword [rsi + 0xa8]
jbe 0x140042380
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
je 0x140046464
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x140045a34
cmp r9d, 0x5e
jg 0x14004528e
je 0x140045bd6
cmp r9d, 0x52
jg 0x140044b6f
je 0x14004782b
cmp r9d, 0x44
jg 0x1400424da
je 0x1400424cd
cmp r9d, 0x39
jl 0x140040700
cmp r9d, 0x3e
jle 0x140042480
cmp r9d, 0x40
jle 0x140042458
cmp r9d, 0x41
je 0x14004242d
cmp r9d, 0x42
je 0x14004241c
cmp r9d, 0x43
jne 0x140040700
lea r10d, [r9 - 0x42]
mov eax, 0x7fffffff
inc r11
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
jmp 0x140042bdb
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
inc r11
jmp 0x140042bd4
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 0x140042be3
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 0x14004244b
lea eax, [r9 - 0x39]
inc r11
movzx r8d, al
mov ecx, eax
lea rax, [0x140000000]
movsx r10d, byte [rcx + rax + 0x9a8f8]
movsx eax, byte [rcx + rax + 0x9a9b8]
and r8d, 1
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x5c], eax
test eax, eax
jne 0x140042be3
mov eax, 0x7fffffff
mov dword [rsp + 0x5c], eax
jmp 0x140042be3
mov dword [rsp + 0x5c], 1
jmp 0x140042425
cmp r9d, 0x45
je 0x140042bbd
cmp r9d, 0x4d
jle 0x140040700
cmp r9d, 0x4f
jle 0x1400428f7
cmp r9d, 0x50
je 0x1400426c4
cmp r9d, 0x51
jne 0x140040700
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 0x14004254f
mov rcx, qword [rsi + 0x10]
movsxd rax, r10d
cmp dword [rcx + rax*4], ebx
jl 0x14004254f
mov edx, dword [rcx + rax*4 + 4]
sub edx, dword [rcx + rax*4]
jmp 0x140042562
cmp dword [rsi + 0x60], ebx
je 0x140042558
mov edx, ebx
jmp 0x140042562
mov edx, dword [rsi + 0x90]
sub edx, edi
inc edx
mov al, byte [r11]
mov dword [rsp + 0x60], edx
cmp al, 0x46
jb 0x140042699
cmp al, 0x4b
jbe 0x1400425be
cmp al, 0x4d
ja 0x140042699
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 0x1400425fe
movzx eax, byte [r11]
lea r8, [0x140000000]
inc r11
sub eax, 0x46
movzx r9d, al
movsx ecx, byte [rax + r8 + 0x9a8f8]
movsx eax, byte [rax + r8 + 0x9a9b8]
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 0x14003fda3
mov dword [rsp + 0x70], 1
cmp ecx, 1
jl 0x140042673
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035f20
test eax, eax
je 0x1400468a8
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 0x14004262a
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x140041321
cmp dword [rsp + 0x5c], ebx
je 0x1400467ae
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x14004675e
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
call fcn.140035f20
test eax, eax
je 0x1400468a8
movsxd rax, dword [rsp + 0x60]
add rdi, rax
jmp 0x140041980
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 0x140042791
cmp al, 0x4b
jbe 0x140042745
cmp al, 0x4d
ja 0x140042791
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 0x14004279e
movzx eax, byte [r11]
lea rdx, [0x140000000]
inc r11
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx ecx, byte [rax + rdx + 0x9a8f8]
movzx r8d, al
movsx eax, byte [rax + rdx + 0x9a9b8]
and r8d, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], r8d
test eax, eax
jne 0x1400427a2
mov eax, 0x7fffffff
mov dword [rsp + 0x68], eax
jmp 0x1400427a2
mov dword [rsp + 0x68], 1
mov ecx, 1
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x50], 1
cmp ecx, 1
jl 0x1400428d1
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x14004289d
cmp r8d, 0xc0
jb 0x14004289d
test r8b, 0x20
jne 0x1400427ff
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x14004289d
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 0x14004282d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x14004289d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140042855
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x14004289d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004287d
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x14004289d
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.140035550
test eax, eax
je 0x140047f1a
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 0x1400427b3
mov r11, qword [rbp + 0xf8]
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x140041321
cmp dword [rsp + 0x60], ebx
je 0x140046a35
mov eax, dword [rbp + 0x138]
mov rdx, r11
inc eax
jmp 0x1400469e5
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 0x1400429bf
cmp al, 0x4b
jbe 0x14004296b
cmp al, 0x4d
ja 0x1400429bf
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 0x1400429c8
movzx eax, byte [r11]
inc r11
lea rcx, [0x140000000]
sub eax, 0x46
mov qword [rbp + 0xf8], r11
movsx r11d, byte [rax + rcx + 0x9a9b8]
movsx r10d, byte [rax + rcx + 0x9a8f8]
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 0x1400429d2
mov eax, 0x7fffffff
mov r11d, eax
mov dword [rsp + 0x58], eax
jmp 0x1400429d2
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 0x140042b22
mov eax, 1
mov dword [rsp + 0x68], eax
cmp r10d, eax
jl 0x140042b77
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140042ad4
test r8b, 0x20
jne 0x140042a32
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140042ad0
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 0x140042a60
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140042ad0
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140042a88
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140042ad0
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140042ab0
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140042ad0
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 0x140042ae9
cmp r9d, 0x4e
je 0x140047f1a
jmp 0x140042b11
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 0x140047f1a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x1400429f2
jmp 0x140042b77
mov dword [rsp + 0x68], 1
cmp r10d, 1
jl 0x140042b7d
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
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 0x140047f1a
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
cmp eax, r10d
jle 0x140042b30
mov eax, dword [rbp + 0x118]
cmp r10d, r11d
je 0x140041980
cmp dword [rsp + 0x60], ebx
je 0x140046e4b
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 0x140046d98
inc eax
jmp 0x140046d59
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 0x140043a20
test eax, eax
je 0x1400435ec
cmp r9d, 0xd
jg 0x140042fc2
je 0x140042f86
mov ecx, r9d
sub ecx, 6
je 0x140042e8b
dec ecx
je 0x140042e43
dec ecx
je 0x140042df1
dec ecx
je 0x140042da9
dec ecx
je 0x140042d57
dec ecx
je 0x140042d0f
dec ecx
jne 0x14004710e
lea r8d, [rcx + 1]
mov dword [rsp + 0x50], r8d
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140042cb0
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035cb0
test eax, eax
jne 0x140047f1a
mov r8d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
jmp 0x140042ce0
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140042ce0
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140042ce0
cmp dword [rsi + 0x24], 1
je 0x140047f1a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047f1a
mov rcx, qword [rsi + 0x90]
jmp 0x140042cf1
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042cf9
inc rdi
cmp rdi, rcx
jb 0x140042ce9
inc r8d
mov dword [rsp + 0x50], r8d
cmp r8d, r10d
jle 0x140042c6b
jmp 0x1400436c6
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
cmp byte [rdi], 0x80
jae 0x140047f1a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140042d1e
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x140040d1d
cmp byte [rdi], 0x80
jae 0x140042d8c
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x140047f1a
inc rdi
cmp rdi, rdx
jae 0x140042d9c
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140042d8c
inc r8d
cmp r8d, r10d
jle 0x140042d6d
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
cmp byte [rdi], 0x80
jae 0x140047f1a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140042db8
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
mov rdx, qword [rsi + 0x90]
cmp rdi, rdx
jae 0x140040d1d
cmp byte [rdi], 0x80
jae 0x140042e26
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x140047f1a
inc rdi
cmp rdi, rdx
jae 0x140042e36
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140042e26
inc r8d
cmp r8d, r10d
jle 0x140042e07
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
cmp byte [rdi], 0x80
jae 0x140047f1a
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140042e52
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140042f5f
test dl, 0x20
jne 0x140042ed4
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140042f5f
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 0x140042efd
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140042f5f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140042f20
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140042f5f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140042f43
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140042f5f
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 0x140042f75
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140042e9a
jmp 0x1400436d2
mov edx, 1
cmp r10d, edx
jl 0x140043a20
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x140040d1d
jmp 0x140042fae
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140042fb6
inc rdi
cmp rdi, rcx
jb 0x140042fa6
inc edx
cmp edx, r10d
jle 0x140042f9b
jmp 0x1400436d2
mov ecx, r9d
sub ecx, 0xe
je 0x1400435d1
sub ecx, 3
je 0x14004349c
dec ecx
je 0x14004334b
dec ecx
je 0x140043212
dec ecx
je 0x1400430ff
dec ecx
jne 0x14004710e
lea r8d, [rcx + 1]
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400430c9
test dl, 0x20
jne 0x14004303e
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400430c9
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 0x140043067
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400430c9
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x14004308a
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400430c9
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400430ad
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400430c9
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 0x140047f1a
cmp edx, 0xd
jbe 0x1400430ee
cmp edx, 0x85
je 0x1400430ee
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140043004
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400431d3
test dl, 0x20
jne 0x140043148
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400431d3
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 0x140043171
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400431d3
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043194
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400431d3
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400431b7
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400431d3
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 0x140043201
cmp edx, 0xd
jbe 0x140047f1a
cmp edx, 0x85
je 0x140047f1a
cmp edx, 0x2027
jbe 0x140043201
cmp edx, 0x2029
jbe 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x14004310e
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400432e6
test dl, 0x20
jne 0x14004325b
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400432e6
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 0x140043284
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400432e6
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400432a7
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400432e6
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400432ca
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400432e6
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 0x14004330a
je 0x14004333a
cmp edx, 9
je 0x14004333a
cmp edx, 0x20
je 0x14004333a
cmp edx, 0xa0
je 0x14004333a
cmp edx, 0x1680
jmp 0x140043334
cmp edx, 0x2000
jb 0x140047f1a
cmp edx, 0x200a
jbe 0x14004333a
cmp edx, 0x202f
je 0x14004333a
cmp edx, 0x205f
je 0x14004333a
cmp edx, 0x3000
jne 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140043221
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x14004341f
test dl, 0x20
jne 0x140043394
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004341f
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 0x1400433bd
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004341f
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400433e0
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004341f
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043403
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004341f
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 0x140043453
je 0x140047f1a
cmp edx, 9
je 0x140047f1a
cmp edx, 0x20
je 0x140047f1a
cmp edx, 0xa0
je 0x140047f1a
cmp edx, 0x1680
jmp 0x140043485
cmp edx, 0x2000
jb 0x14004348b
cmp edx, 0x200a
jbe 0x140047f1a
cmp edx, 0x202f
je 0x140047f1a
cmp edx, 0x205f
je 0x140047f1a
cmp edx, 0x3000
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x14004335a
jmp 0x1400436d2
mov r9d, 1
cmp r10d, r9d
jl 0x140043a1b
mov r8, qword [rsi + 0x90]
cmp rdi, r8
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140043573
test dl, 0x20
jne 0x1400434e8
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x140043573
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 0x140043511
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x140043573
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043534
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x140043573
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043557
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x140043573
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 0x1400435b1
jbe 0x140047f1a
cmp edx, 0xc
jbe 0x1400435a8
cmp edx, 0xd
je 0x1400435c2
cmp edx, 0x85
je 0x1400435a8
cmp edx, 0x2027
jbe 0x140047f1a
cmp edx, 0x2029
ja 0x140047f1a
cmp dword [rsi + 0x78], ebx
jne 0x140047f1a
inc r9d
cmp r9d, r10d
jle 0x1400434b2
jmp 0x1400436cd
cmp rdi, r8
jae 0x1400435b1
cmp byte [rdi], 0xa
jne 0x1400435b1
inc rdi
jmp 0x1400435b1
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x140047f1a
jmp 0x14004386a
cmp r9d, 0xd
jg 0x140043872
je 0x140043854
mov ecx, r9d
sub ecx, 6
je 0x140043815
dec ecx
je 0x1400437d6
dec ecx
je 0x140043797
dec ecx
je 0x140043758
dec ecx
je 0x140043719
dec ecx
je 0x1400436dd
dec ecx
jne 0x14004710e
mov dword [rsp + 0x50], 1
cmp r10d, 1
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140043684
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035cb0
test eax, eax
jne 0x140047f1a
mov r10d, dword [rsp + 0x58]
jmp 0x1400436b4
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400436b4
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400436b4
cmp dword [rsi + 0x24], 1
je 0x140047f1a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047f1a
mov eax, dword [rsp + 0x50]
inc rdi
inc eax
mov dword [rsp + 0x50], eax
cmp eax, r10d
jle 0x14004364a
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rsp + 0x68]
mov eax, dword [rbp + 0x118]
jmp 0x140043a20
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x1400436ec
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 0x10
jne 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140043728
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140043767
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 1
jne 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x1400437a6
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
je 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x1400437e5
jmp 0x1400436d2
mov r8d, 1
cmp r10d, r8d
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
inc rdi
mov dl, byte [rcx + rax]
and dl, 4
jne 0x140047f1a
inc r8d
cmp r8d, r10d
jle 0x140043824
jmp 0x1400436d2
mov rax, qword [rsi + 0x90]
movsxd rcx, r10d
sub rax, rcx
cmp rdi, rax
ja 0x140040d1d
add rdi, rcx
jmp 0x1400436d2
mov ecx, r9d
sub ecx, 0xe
je 0x140043854
sub ecx, 3
je 0x1400439b7
dec ecx
je 0x14004396d
dec ecx
je 0x14004392b
dec ecx
je 0x1400438e5
dec ecx
jne 0x14004710e
mov ecx, 1
cmp r10d, ecx
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x140047f1a
cmp eax, 0xd
jle 0x1400438d9
cmp eax, 0x85
jne 0x140047f1a
inc ecx
cmp ecx, r10d
jle 0x1400438ad
jmp 0x1400436d2
mov ecx, 1
cmp r10d, ecx
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
jl 0x14004391f
cmp eax, 0xd
jle 0x140047f1a
cmp eax, 0x85
je 0x140047f1a
inc ecx
cmp ecx, r10d
jle 0x1400438f3
jmp 0x1400436d2
mov ecx, 1
cmp r10d, ecx
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x140043961
cmp eax, 0x20
je 0x140043961
cmp eax, 0xa0
jne 0x140047f1a
inc ecx
cmp ecx, r10d
jle 0x140043939
jmp 0x1400436d2
mov ecx, 1
cmp r10d, ecx
jl 0x140043a20
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp eax, 9
je 0x140047f1a
cmp eax, 0x20
je 0x140047f1a
cmp eax, 0xa0
je 0x140047f1a
inc ecx
cmp ecx, r10d
jle 0x14004397b
jmp 0x1400436d2
mov edx, 1
cmp r10d, edx
jl 0x140043a20
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp eax, 0xa
je 0x140043a00
jle 0x140047f1a
cmp eax, 0xc
jle 0x1400439f7
cmp eax, 0xd
je 0x140043a0c
cmp eax, 0x85
jne 0x140047f1a
cmp dword [rsi + 0x78], ebx
jne 0x140047f1a
inc edx
cmp edx, r10d
jle 0x1400439c8
jmp 0x1400436d2
cmp rdi, rcx
jae 0x140043a00
cmp byte [rdi], 0xa
jne 0x140043a00
inc rdi
jmp 0x140043a00
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x5c]
mov rdx, qword [rbp + 0x100]
mov ecx, dword [rbp + 0x138]
cmp r10d, r8d
je 0x14003fe92
cmp dword [rsp + 0x60], ebx
jne 0x140047191
mov ecx, dword [rbp + 0x118]
mov rax, rdi
mov qword [rsp + 0x50], rax
test ecx, ecx
je 0x1400446aa
cmp r9d, 0xc
jg 0x1400441e6
je 0x14004407e
sub r9d, 6
je 0x140043f86
dec r9d
je 0x140043e8a
dec r9d
je 0x140043d92
dec r9d
je 0x140043c96
dec r9d
je 0x140043b9e
dec r9d
jne 0x14004710e
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043b6d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043aec
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043b69
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043b0d
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043b69
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043b2e
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043b69
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043b4f
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043b69
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 0x140044693
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
je 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043aae
jmp 0x140044693
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043c69
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043be8
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043c65
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043c09
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043c65
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043c2a
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043c65
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043c4b
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043c65
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 0x140043c7f
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jne 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043baa
jmp 0x140044693
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043d61
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043ce0
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043d5d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043d01
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043d5d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043d22
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043d5d
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043d43
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043d5d
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 0x140044693
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
je 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043ca2
jmp 0x140044693
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043e5d
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043ddc
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043e59
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043dfd
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043e59
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043e1e
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043e59
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043e3f
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043e59
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 0x140043e73
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jne 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043d9e
jmp 0x140044693
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140043f55
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043ed4
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x140043f51
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043ef5
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x140043f51
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140043f16
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x140043f51
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140043f37
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x140043f51
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 0x140044693
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
je 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043e96
jmp 0x140044693
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140044051
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140043fd0
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x14004404d
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140043ff1
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x14004404d
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140044012
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x14004404d
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140044033
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x14004404d
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 0x140044067
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jne 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140043f92
jmp 0x140044693
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x140044139
cmp r10d, r8d
jge 0x140044693
cmp rdi, qword [rsi + 0x90]
jae 0x140044626
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x1400440d4
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035cb0
test eax, eax
jne 0x140044693
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140044104
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140044104
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140044104
cmp dword [rsi + 0x24], 1
je 0x140044693
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140044693
mov rcx, qword [rsi + 0x90]
jmp 0x140044115
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x14004411d
inc rdi
cmp rdi, rcx
jb 0x14004410d
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x140044693
mov ecx, dword [rbp + 0x118]
jmp 0x140044095
cmp r10d, r8d
jge 0x140044693
cmp rdi, qword [rsi + 0x90]
jae 0x140044626
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140044181
mov r8, qword [rsi + 0x90]
mov dword [rsp + 0x20], ecx
lea r9, [rsi + 0x24]
mov rcx, rdi
call fcn.140035cb0
test eax, eax
jne 0x140044693
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x1400441b1
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x1400441b1
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x1400441b1
cmp dword [rsi + 0x24], 1
je 0x140044693
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140044693
mov rcx, qword [rsi + 0x90]
jmp 0x1400441c2
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x1400441ca
inc rdi
cmp rdi, rcx
jb 0x1400441ba
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jge 0x140044693
mov ecx, dword [rbp + 0x118]
jmp 0x140044142
cmp r9d, 0xd
je 0x140044655
cmp r9d, 0xe
je 0x14004460f
cmp r9d, 0x11
je 0x1400444a9
jle 0x14004710e
cmp r9d, 0x13
jle 0x140044337
cmp r9d, 0x15
jg 0x14004710e
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x1400442e9
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140044268
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400442e5
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140044289
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400442e5
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400442aa
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400442e5
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400442cb
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400442e5
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 0x14004430d
cmp edx, 0xd
jbe 0x140044306
cmp edx, 0x85
je 0x140044306
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x14004430d
mov ecx, 1
jmp 0x14004430f
mov ecx, ebx
cmp r9d, 0x14
mov eax, ebx
sete al
cmp ecx, eax
je 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x14004422a
jmp 0x140044693
cmp r10d, r8d
jge 0x140044693
mov r11d, r8d
mov r8d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140044480
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140044402
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x140044381
and edx, 0x1f
mov r8d, 2
mov eax, edx
shl eax, 6
jmp 0x1400443fe
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x1400443a2
and edx, 0xf
mov r8d, 3
mov eax, edx
shl eax, 0xc
jmp 0x1400443fe
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400443c3
and edx, 7
mov r8d, 4
mov eax, edx
shl eax, 0x12
jmp 0x1400443fe
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400443e4
and edx, 3
mov r8d, 5
mov eax, edx
shl eax, 0x18
jmp 0x1400443fe
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 0x140044451
je 0x140044479
cmp edx, 9
je 0x140044479
cmp edx, 0x20
je 0x140044479
cmp edx, 0xa0
je 0x140044479
cmp edx, 0x1680
je 0x140044479
mov ecx, ebx
cmp r9d, 0x12
mov eax, ebx
sete al
cmp ecx, eax
je 0x140044693
movsxd rax, r8d
inc r10d
add rdi, rax
cmp r10d, r11d
jl 0x140044343
jmp 0x140044693
cmp edx, 0x2000
jb 0x140044427
cmp edx, 0x200a
jbe 0x140044479
cmp edx, 0x202f
je 0x140044479
cmp edx, 0x205f
je 0x140044479
cmp edx, 0x3000
jne 0x140044427
mov ecx, 1
jmp 0x140044429
cmp dword [rsi + 0xb0], ebx
je 0x140044693
cmp rdi, qword [rsi + 0xa8]
jbe 0x140044693
mov dword [rsi + 0x74], r8d
cmp dword [rsi + 0xb0], r8d
jmp 0x140044645
cmp r10d, r8d
jge 0x140044693
mov r8, qword [rsi + 0x90]
mov r11d, dword [rsp + 0x5c]
mov eax, 1
cmp rdi, r8
jae 0x1400445eb
movzx edx, byte [rdi]
cmp edx, 0xc0
jb 0x140044586
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x1400444fd
and edx, 0x1f
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
mov eax, 2
jmp 0x140044586
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 0x10
jne 0x140044521
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
mov eax, 3
jmp 0x140044586
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140044545
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
mov eax, 4
jmp 0x140044586
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140044569
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
mov eax, 5
jmp 0x140044586
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 0x1400445a1
inc rdi
cmp rdi, r8
jae 0x140044693
cmp byte [rdi], 0xa
jne 0x1400445da
inc rdi
jmp 0x1400445da
cmp edx, 0xa
je 0x1400445d5
cmp dword [rsi + 0x78], ebx
jne 0x140044693
cmp edx, 0xb
je 0x1400445d5
cmp edx, 0xc
je 0x1400445d5
cmp edx, 0x85
je 0x1400445d5
cmp edx, 0x2028
je 0x1400445d5
cmp edx, 0x2029
jne 0x140044693
cdqe
add rdi, rax
inc r10d
cmp r10d, r11d
jl 0x1400444be
jmp 0x140044693
cmp dword [rsi + 0xb0], ebx
je 0x140044693
cmp rdi, qword [rsi + 0xa8]
jbe 0x140044693
mov dword [rsi + 0x74], eax
cmp dword [rsi + 0xb0], eax
jmp 0x140044645
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x14004464d
mov rdi, qword [rsi + 0x90]
cmp dword [rsi + 0xb0], ebx
je 0x140044693
cmp rdi, qword [rsi + 0xa8]
jbe 0x140044693
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
jmp 0x140044693
mov eax, r8d
add rdi, rax
jmp 0x140044693
mov eax, 0x7fffffff
cmp r8d, eax
jge 0x14004468c
cmp r10d, r8d
jge 0x140044693
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x140044626
jmp 0x14004467a
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
jne 0x140044682
inc rdi
cmp rdi, rcx
jb 0x140044672
inc r10d
cmp r10d, r8d
jl 0x14004466b
jmp 0x140044693
mov rdi, qword [rsi + 0x90]
cmp dword [rsp + 0x70], ebx
jne 0x140041980
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x14004713e
cmp r9d, 0xc
jg 0x140044976
je 0x1400448e9
sub r9d, 6
je 0x1400448b2
dec r9d
je 0x14004487b
dec r9d
je 0x140044844
dec r9d
je 0x140044811
dec r9d
je 0x1400447de
dec r9d
jne 0x14004710e
cmp r10d, r8d
jge 0x140044b6a
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
je 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400446fa
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x70], ebx
jne 0x140041980
cmp rdi, rax
jb 0x140047f1a
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.14003fd00
dec rdi
test eax, eax
jne 0x140045d2c
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
jae 0x140044745
jmp 0x140047f1a
cmp dword [rsi + 0xb0], ebx
je 0x14004471f
cmp rdi, qword [rsi + 0xa8]
jbe 0x14004471f
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044b6a
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jne 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400447e7
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044b6a
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
je 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004481a
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044b6a
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jne 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x14004484d
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044b6a
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
je 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044884
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044b6a
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jne 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400448bb
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044724
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140044931
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035cb0
test eax, eax
jne 0x14004471f
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
jmp 0x140044961
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140044961
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140044961
cmp dword [rsi + 0x24], 1
je 0x14004471f
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x14004471f
inc r10d
inc rdi
mov dword [rsp + 0x58], r10d
cmp r10d, r8d
jl 0x1400448f2
jmp 0x14004471f
cmp r9d, 0xd
jl 0x14004710e
cmp r9d, 0xe
jle 0x140044b43
cmp r9d, 0x11
je 0x140044adc
cmp r9d, 0x12
je 0x140044a96
cmp r9d, 0x13
je 0x140044a58
cmp r9d, 0x14
je 0x140044a00
cmp r9d, 0x15
jne 0x14004710e
cmp r10d, r8d
jge 0x140044724
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x1400449f0
cmp eax, 0xb
je 0x1400449f0
cmp eax, 0xc
je 0x1400449f0
cmp eax, 0xd
je 0x1400449f0
cmp eax, 0x85
jne 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x1400449c1
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044724
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx eax, byte [rdi]
cmp eax, 0xa
je 0x14004471f
cmp eax, 0xb
je 0x14004471f
cmp eax, 0xc
je 0x14004471f
cmp eax, 0xd
je 0x14004471f
cmp eax, 0x85
je 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044a09
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044724
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx eax, byte [rdi]
cmp eax, 9
je 0x140044a86
cmp eax, 0x20
je 0x140044a86
cmp eax, 0xa0
jne 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044a61
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044724
cmp rdi, qword [rsi + 0x90]
jae 0x1400447ac
movzx eax, byte [rdi]
cmp eax, 9
je 0x14004471f
cmp eax, 0x20
je 0x14004471f
cmp eax, 0xa0
je 0x14004471f
inc r10d
inc rdi
cmp r10d, r8d
jl 0x140044a9f
jmp 0x14004471f
cmp r10d, r8d
jge 0x140044724
mov rcx, qword [rsi + 0x90]
cmp rdi, rcx
jae 0x1400447ac
movzx eax, byte [rdi]
cmp eax, 0xd
jne 0x140044b10
inc rdi
cmp rdi, rcx
jae 0x14004471f
cmp byte [rdi], 0xa
jne 0x140044b36
jmp 0x140044b33
cmp eax, 0xa
je 0x140044b33
cmp dword [rsi + 0x78], ebx
jne 0x14004471f
cmp eax, 0xb
je 0x140044b33
cmp eax, 0xc
je 0x140044b33
cmp eax, 0x85
jne 0x14004471f
inc rdi
inc r10d
cmp r10d, r8d
jl 0x140044aec
jmp 0x14004471f
mov eax, dword [rsi + 0x90]
sub r8d, r10d
sub eax, edi
cmp r8d, eax
jbe 0x140044b5f
mov rdi, qword [rsi + 0x90]
jmp 0x1400447ac
mov eax, r8d
add rdi, rax
jmp 0x14004471f
jmp 0x140044724
cmp r9d, 0x59
jg 0x140044e65
je 0x1400450bd
cmp r9d, 0x53
je 0x140044da1
cmp r9d, 0x54
je 0x140044d80
jle 0x140040700
cmp r9d, 0x57
jle 0x140044c2a
cmp r9d, 0x58
jne 0x140040700
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.14003fd00
cmp eax, 1
je 0x14004520d
cmp eax, 0xfffffc19
je 0x14004520d
test eax, eax
je 0x1400451cc
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140045d2c
jmp 0x1400451d3
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 0x140044c65
mov rcx, qword [rbp + 0x128]
mov r11, qword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rbp + 0x128], rcx
jmp 0x140044c68
mov r11, rbx
cmp al, 0x58
je 0x140047a7d
cmp al, 0x59
je 0x140047a7d
cmp al, 0x5a
je 0x140047a7d
cmp al, 0x5b
je 0x140047a7d
cmp al, 0x5d
je 0x140047a7d
cmp al, 0x5f
je 0x140044c9c
cmp al, 0x62
jne 0x140044d46
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 0x140044cc6
mov dword [rsi + 0x50], 1
jmp 0x140044d07
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 0x140044d07
lea eax, [r10 + 2]
mov dword [rbp + 0x110], eax
cmp qword [rsi + 0xd0], rbx
je 0x140044d46
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], r9d
jne 0x140044d46
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.140014990
jmp 0x140045a0e
mov r9d, dword [rbp - 0x7c]
mov rcx, qword [rbp + 0xf8]
cmp byte [rcx], 0x55
mov r8d, r9d
mov dword [rbp + 0x120], r9d
je 0x140044d69
cmp rdi, r11
jne 0x140045a40
mov r11, qword [rbp + 0xf8]
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x140042396
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 0x140044d80
jmp 0x1400450b1
mov r8, qword [0x1400c43e8]
test r8, r8
je 0x140044e5c
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 0x140047f1a
js 0x140045d2c
mov r11, qword [rbp + 0xf8]
add r11, 6
jmp 0x140040df5
sub r9d, 0x5a
je 0x140044bad
dec r9d
je 0x1400450bd
dec r9d
je 0x14004503c
dec r9d
jne 0x140040700
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.14003fd00
cmp eax, 1
je 0x140044f42
test eax, eax
je 0x140044f01
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140045d2c
jmp 0x140044f08
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 0x140044f59
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044e9a
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x140044f60
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x5d
je 0x140044f70
cmp byte [r11], 0x54
jne 0x140047e45
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 0x140044f70
cmp byte [r11], 0x55
mov r10d, dword [rsi + 0xb4]
mov rdi, qword [rsi + 0xa0]
mov dword [rbp + 0x110], r10d
je 0x14004526c
cmp rdi, qword [rbp - 0x78]
je 0x14004526c
mov edx, dword [rbp + 0x120]
lea rcx, [r11 + 3]
cmp byte [rcx], 0x19
mov qword [rbp + 0x118], rcx
jne 0x140044fdd
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 0x140045b15
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.14003fd00
test eax, eax
jne 0x140045d2c
mov r11, qword [rsp + 0x78]
jmp 0x140045b0a
cmp dword [rbp + 0x118], ebx
je 0x14004507a
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jle 0x14004509d
dec rdi
dec ecx
cmp rdi, qword [rsi + 0x88]
jb 0x140047f1a
jmp 0x14004506c
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140045069
test ecx, ecx
jg 0x140045055
jmp 0x14004509d
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 0x140047f1a
cmp rdi, qword [rsi + 0xa8]
jae 0x1400450ad
mov qword [rsi + 0xa8], rdi
add r11, 3
mov qword [rbp + 0xf8], r11
jmp 0x14004527e
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.14003fd00
cmp eax, 1
je 0x140047f1a
cmp eax, 0xfffffc19
je 0x140047f1a
cmp eax, 0xfffffc1c
je 0x140045189
cmp eax, 0xfffffc1b
je 0x140045189
cmp eax, 0xfffffc1a
je 0x140045189
test eax, eax
je 0x140045148
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140045d2c
jmp 0x14004514f
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 0x1400451ac
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x1400450c4
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 0x140045190
test byte [rbp + 0x130], 1
jne 0x140047a9b
mov r10d, dword [rbp + 0x110]
mov rdx, qword [rbp + 0x100]
jmp 0x14004526c
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 0x140045224
mov eax, dword [rsp + 0x50]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140044bb4
mov rdx, qword [rsi + 0x98]
mov r11, qword [rbp + 0xf8]
mov qword [rbp + 0x100], rdx
jmp 0x14004522b
mov rdx, qword [rbp + 0x100]
cmp byte [r11], 0x55
je 0x140047f1a
test byte [rbp + 0x130], 1
jne 0x140047a9b
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 0x140045242
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 0x14003fdd2
cmp r9d, 0x6d
jg 0x1400458e7
je 0x140047e4c
mov ecx, r9d
sub ecx, 0x5f
je 0x140045bb3
dec ecx
je 0x1400453ef
dec ecx
je 0x140045bd6
dec ecx
je 0x140045bb3
dec ecx
je 0x1400453ef
sub ecx, 6
je 0x140045368
dec ecx
jne 0x140047aa5
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 0x1400452e8
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.14003fd00
test eax, eax
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140045a34
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.14003fd00
test eax, eax
jne 0x140045d2c
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 0x1400453bf
lea r11, [rdx + 3]
mov r10d, dword [rbp + 0x110]
mov r8d, dword [rbp + 0x120]
jmp 0x140045a2d
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 0x1400454d3
mov r8, qword [0x1400c43e8]
test r8, r8
je 0x1400454c8
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 0x140047bf0
js 0x140045d2c
mov r11, qword [rbp + 0xf8]
add r11, 6
mov qword [rbp + 0xf8], r11
movzx edx, byte [r11 + 3]
cmp edx, 0x66
je 0x140045729
cmp edx, 0x67
je 0x140045729
cmp edx, 0x64
je 0x1400455aa
cmp edx, 0x65
je 0x1400455aa
cmp edx, 0x68
jne 0x14004551c
movzx eax, byte [r11 + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [r11 + 2]
or rcx, rax
add r11, rcx
jmp 0x14004583d
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.14003fd00
cmp eax, 1
je 0x140045b56
test eax, eax
je 0x140045596
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140045d2c
jmp 0x14004559d
mov r11, qword [rbp + 0xf8]
movsxd rax, dword [rsp + 0x50]
add r11, rax
jmp 0x14004583d
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 0x1400455d6
mov rax, qword [rsi + 0x10]
movsxd rcx, r8d
cmp dword [rax + rcx*4], ebx
jge 0x140045820
mov dword [rsp + 0x60], ebx
cmp edx, 0x65
jne 0x1400458d3
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 0x140045626
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x14004561c
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x1400455fb
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x1400458d3
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x1400456a8
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.140017a20
test eax, eax
jne 0x140045697
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 0x140045687
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x140045819
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x140045697
mov rcx, qword [rbp - 0x78]
jmp 0x140045641
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 0x1400458d3
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.140017a20
test eax, eax
jne 0x1400458cc
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 0x14004570b
mov rax, qword [rsi + 0x10]
movsxd rcx, ecx
cmp dword [rax + rcx*4], ebx
jge 0x140045819
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x1400458cc
mov rcx, qword [rsp + 0x78]
jmp 0x1400456c3
cmp qword [rsi + 0xd0], rbx
je 0x140045501
movzx r8d, byte [r11 + 4]
movzx eax, byte [r11 + 5]
shl r8d, 8
or r8d, eax
cmp r8d, 0xffff
je 0x140045820
mov rax, qword [rsi + 0xd0]
cmp r8d, dword [rax + 8]
je 0x140045820
mov dword [rsp + 0x60], ebx
cmp edx, 0x67
jne 0x1400458d3
mov rdx, qword [rsi + 0x30]
mov r9d, ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x68], rdx
cmp dword [rsi + 0x28], ebx
jle 0x1400457b2
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, r8d
je 0x1400457a8
movsxd rax, dword [rsi + 0x2c]
inc r9d
add rdx, rax
cmp r9d, dword [rsi + 0x28]
jl 0x140045787
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x68], rdx
cmp r9d, dword [rsi + 0x28]
jge 0x1400458d3
mov r8, rdx
cmp rdx, qword [rsi + 0x30]
jbe 0x140045861
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.140017a20
test eax, eax
jne 0x140045850
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 0x140045819
mov dword [rsp + 0x60], ebx
cmp r8, qword [rsi + 0x30]
jbe 0x140045850
mov rcx, qword [rbp - 0x78]
jmp 0x1400457d1
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 0x140045b92
cmp byte [r11], 0x54
je 0x140045b92
add r11, 3
jmp 0x1400453dc
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 0x1400458d3
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.140017a20
test eax, eax
jne 0x1400458cc
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 0x140045819
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], ebx
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsi + 0x28]
jge 0x1400458cc
mov rcx, qword [rsp + 0x78]
jmp 0x140045878
mov r11, qword [rbp + 0xf8]
movzx ecx, byte [r11 + 1]
movzx eax, byte [r11 + 2]
shl ecx, 8
or ecx, eax
jmp 0x14004582d
mov ecx, r9d
sub ecx, 0x6e
je 0x14004819e
dec ecx
je 0x140048107
dec ecx
je 0x140048063
dec ecx
je 0x140047fbc
dec ecx
je 0x140047f2f
dec ecx
je 0x140047bf0
dec ecx
je 0x1400459cd
dec ecx
je 0x140045955
dec ecx
jne 0x140040700
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 0x140045933
lea r11, [rdx + 3]
jmp 0x140045a2d
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 0x14004598e
mov dword [rsi + 0x50], 1
mov r10d, dword [rbp + 0x110]
add r11, 3
jmp 0x1400453e3
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 0x14004597e
add r10d, 2
mov dword [rbp + 0x110], r10d
jmp 0x140045985
cmp qword [rsi + 0xd0], rbx
je 0x140047ed6
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x78], rcx
cmp dword [rcx + 8], ebx
jne 0x140047ed6
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.140014990
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 0x14004527e
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 0x140045ac3
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.14003fd00
test eax, eax
jne 0x140045d2c
mov edx, dword [rbp + 0x130]
test edx, edx
jne 0x140047a54
mov r11, qword [rsp + 0x50]
jmp 0x140045d0a
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.14003fd00
test eax, eax
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
add r11, 3
mov dword [rbp + 0x130], ebx
jmp 0x140045d0a
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.14003fd00
test eax, eax
jne 0x140045d2c
mov r11, qword [rbp + 0x118]
jmp 0x140045b0a
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 0x140045b8c
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 0x140045b76
add r11, 3
cmp dword [rsp + 0x5c], 0x63
mov qword [rbp + 0xf8], r11
je 0x140047bf8
mov dword [rbp + 0x130], ebx
jmp 0x140045d11
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 0x140047cce
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 0x140045cec
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 + 0x9a830]
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.14003fd00
test eax, eax
je 0x140045c90
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov r11, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r11
jne 0x140045d2c
jmp 0x140045c97
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 0x140045c16
mov edx, dword [rbp + 0x130]
movzx eax, byte [r11]
test edx, edx
jne 0x140047c50
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x9a830]
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 0x14003fd4e
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 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jb 0x140047f1a
cmp rdi, qword [rsi + 0xa8]
jbe 0x140047f1a
mov dword [rsi + 0x74], r9d
cmp dword [rsi + 0xb0], r9d
jmp 0x140040d44
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.14003fd00
test eax, eax
jne 0x140045d2c
movsxd rax, dword [rsp + 0x68]
mov qword [rbp + 0x118], rax
jmp 0x140045de4
mov rax, qword [rbp + 0x118]
cmp rdi, qword [rsp + 0x50]
je 0x140047f1a
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.14003fd00
test eax, eax
je 0x140045ddd
jmp 0x140045d2c
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.14003fd00
test eax, eax
jne 0x140045d2c
movsxd rcx, dword [rsp + 0x68]
mov qword [rbp + 0x118], rcx
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x58], eax
jge 0x140047f1a
mov rax, qword [rsi + 0x90]
sub rax, rcx
cmp rdi, rax
ja 0x1400468a8
mov rdx, qword [rbp - 0x78]
mov r8, rcx
mov rcx, rdi
call fcn.1400148b0
test eax, eax
jne 0x1400468a8
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.14003fd00
mov rcx, qword [rbp + 0x118]
test eax, eax
je 0x140045eac
jmp 0x140045d2c
mov eax, ecx
inc eax
jmp 0x140045fa0
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
jne 0x140047f1a
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.14003fd00
test eax, eax
je 0x140045f5b
jmp 0x140045d2c
cmp rdi, rax
jb 0x140047f1a
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.14003fd00
dec rdi
test eax, eax
jne 0x140045d2c
mov eax, dword [rbp + 0x118]
mov r11, qword [rbp + 0xf8]
mov r9d, dword [rbp + 0x120]
cmp rdi, qword [rsp + 0x50]
jae 0x14004600a
jmp 0x140047f1a
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 0x1400460f6
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
jne 0x140047f1a
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.14003fd00
test eax, eax
je 0x140046098
jmp 0x140045d2c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140047f1a
jmp 0x14004613e
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x14004613b
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.14003fd00
test eax, eax
je 0x140046128
jmp 0x140045d2c
mov r9, qword [rbp + 0x108]
mov rdx, rcx
test eax, eax
mov eax, dword [rbp + 0x138]
mov rcx, rdi
je 0x140046332
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 0x14004630a
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400462b1
test dl, 0x20
jne 0x140046226
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400462b1
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 0x14004624f
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400462b1
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x140046272
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400462b1
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x140046295
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400462b1
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 0x1400462c1
mov rax, qword [rsi + 0x40]
movzx edx, byte [rdx + rax]
cmp dword [rsp + 0x50], edx
je 0x140047f1a
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.14003fd00
test eax, eax
je 0x1400461dc
jmp 0x140045d2c
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 0x1400463c3
mov r8d, dword [rsp + 0x58]
cmp r8d, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx ecx, byte [rdi]
mov rax, qword [rsi + 0x40]
inc rdi
movzx edx, byte [rcx + rax]
cmp dword [rsp + 0x50], edx
je 0x140047f1a
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.14003fd00
test eax, eax
je 0x14004634f
jmp 0x140045d2c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140047f1a
jmp 0x140046401
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x1400463fe
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.14003fd00
test eax, eax
je 0x1400463eb
jmp 0x140045d2c
cmp rdi, rax
jb 0x140047f1a
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.14003fd00
test eax, eax
jne 0x140045d2c
mov eax, dword [rbp + 0x118]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rbp + 0x120]
dec rdi
cmp rdi, qword [rsp + 0x50]
jae 0x14004647b
jmp 0x140047f1a
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 0x1400466fd
jmp 0x14004666d
mov eax, dword [rsp + 0x58]
cmp eax, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x140046610
test dl, 0x20
jne 0x140046581
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x14004660c
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 0x1400465aa
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x14004660c
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400465cd
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x14004660c
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400465f0
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x14004660c
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 0x140047f1a
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.14003fd00
test eax, eax
je 0x140046539
jmp 0x140045d2c
mov ecx, dword [rsp + 0x58]
cmp ecx, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx eax, byte [rdi]
inc rdi
cmp dword [rsp + 0x50], eax
je 0x140047f1a
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.14003fd00
test eax, eax
je 0x14004667f
jmp 0x140045d2c
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x50], eax
jge 0x140047f1a
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.140035f20
test eax, eax
je 0x1400468a8
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.14003fd00
test eax, eax
je 0x14004670f
jmp 0x140045d2c
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x14004682e
mov eax, dword [rbp + 0x120]
mov r8d, edx
mov r9, rsi
mov rdx, rdi
mov ecx, r10d
mov dword [rsp + 0x20], eax
call fcn.140035f20
test eax, eax
je 0x1400467f5
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 0x1400467b7
jmp 0x140046823
cmp dword [rsi + 0xb0], ebx
je 0x140046823
cmp rdi, qword [rsi + 0x90]
jb 0x140046823
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046823
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
cmp rdi, qword [rsp + 0x78]
jb 0x140047f1a
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.14003fd00
test eax, eax
jne 0x140045d2c
movsxd rax, dword [rsp + 0x60]
sub rdi, rax
mov eax, dword [rbp + 0x118]
cmp rdi, qword [rsp + 0x78]
jae 0x14004683c
jmp 0x140047f1a
cmp dword [rsi + 0xb0], ebx
je 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jb 0x140047f1a
jmp 0x140040d29
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x58], eax
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp dword [rbp + 0x118], ebx
je 0x1400469be
cmp r8d, 0xc0
jb 0x1400469be
test r8b, 0x20
jne 0x140046920
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x1400469be
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 0x14004694e
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x1400469be
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046976
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x1400469be
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x14004699e
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x1400469be
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.140035550
test eax, eax
je 0x140047f1a
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.14003fd00
test eax, eax
je 0x1400468c6
jmp 0x140045d2c
mov qword [rsp + 0x78], rdi
cmp ecx, eax
jge 0x140046b84
mov dword [rsp + 0x50], 1
cmp rdi, qword [rsi + 0x90]
jae 0x140046b5f
movzx r8d, byte [rdi]
cmp dword [rbp + 0x118], ebx
je 0x140046b2e
cmp r8d, 0xc0
jb 0x140046b2e
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140046a98
and r8d, 0x1f
mov dword [rsp + 0x50], 2
mov eax, r8d
shl eax, 6
jmp 0x140046b28
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140046abe
and r8d, 0xf
mov dword [rsp + 0x50], 3
mov eax, r8d
shl eax, 0xc
jmp 0x140046b28
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046ae4
and r8d, 7
mov dword [rsp + 0x50], 4
mov eax, r8d
shl eax, 0x12
jmp 0x140046b28
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140046b0a
and r8d, 3
mov dword [rsp + 0x50], 5
mov eax, r8d
shl eax, 0x18
jmp 0x140046b28
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.140035550
test eax, eax
je 0x140046b84
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 0x140046a42
jmp 0x140046b84
cmp dword [rsi + 0xb0], ebx
je 0x140046b84
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046b84
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140046bbc
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x140047f1a
cmp dword [rbp + 0x118], ebx
je 0x140046bb4
jmp 0x140046bac
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140046ba9
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.14003fd00
test eax, eax
je 0x140046b8e
jmp 0x140045d2c
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
movzx r8d, byte [rdi]
inc rdi
cmp r8d, 0xc0
jb 0x140046cfd
test r8b, 0x20
jne 0x140046c5f
movzx eax, byte [rdi]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
inc rdi
jmp 0x140046cfd
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 0x140046c8d
and r8d, 0xf
mov eax, r8d
mov r8d, ecx
shl eax, 0xc
or r8d, eax
add rdi, 2
jmp 0x140046cfd
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046cb5
and r8d, 7
mov eax, r8d
mov r8d, ecx
shl eax, 0x12
or r8d, eax
add rdi, 3
jmp 0x140046cfd
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140046cdd
and r8d, 3
mov eax, r8d
mov r8d, ecx
shl eax, 0x18
or r8d, eax
add rdi, 4
jmp 0x140046cfd
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 0x140046d0d
cmp dword [rsp + 0x5c], 0x4e
jmp 0x140046d2b
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 0x140047f1a
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.14003fd00
test eax, eax
je 0x140046c0f
jmp 0x140045d2c
inc eax
jmp 0x140046e0c
mov r9d, dword [rsp + 0x50]
cmp r9d, dword [rsp + 0x58]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
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 0x140047f1a
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.14003fd00
test eax, eax
je 0x140046d9c
jmp 0x140045d2c
mov r11, rdi
mov qword [rsp + 0x78], rdi
test eax, eax
jne 0x140046fb9
mov r9d, dword [rsp + 0x58]
cmp r10d, r9d
jge 0x140047099
cmp rdi, qword [rsi + 0x90]
jae 0x14004706b
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 0x140047090
inc r10d
inc rdi
cmp r10d, r9d
jl 0x140046e69
jmp 0x140047090
mov r11d, 1
cmp rdi, qword [rsi + 0x90]
jae 0x140046fc6
movzx r8d, byte [rdi]
cmp r8d, 0xc0
jb 0x140046f81
movzx ecx, byte [rdi + 1]
and ecx, 0x3f
test r8b, 0x20
jne 0x140046ef4
and r8d, 0x1f
mov r11d, 2
mov eax, r8d
shl eax, 6
jmp 0x140046f7b
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 0x10
jne 0x140046f18
and r8d, 0xf
mov r11d, 3
mov eax, r8d
shl eax, 0xc
jmp 0x140046f7b
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 8
jne 0x140046f3c
and r8d, 7
mov r11d, 4
mov eax, r8d
shl eax, 0x12
jmp 0x140046f7b
movzx eax, byte [rdi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test r8b, 4
jne 0x140046f60
and r8d, 3
mov r11d, 5
mov eax, r8d
shl eax, 0x18
jmp 0x140046f7b
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 0x140046f90
cmp r9d, 0x4e
jmp 0x140046fae
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 0x140046fe8
movsxd rax, r11d
add rdi, rax
inc r10d
cmp r10d, dword [rsp + 0x58]
jl 0x140046eae
jmp 0x140046fe8
cmp dword [rsi + 0xb0], ebx
je 0x140046fe8
cmp rdi, qword [rsi + 0xa8]
jbe 0x140046fe8
mov dword [rsi + 0x74], r11d
cmp dword [rsi + 0xb0], r11d
jg 0x140040d4a
mov eax, dword [rbp + 0x138]
inc eax
jmp 0x140047018
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x78]
je 0x140047f1a
jmp 0x140047008
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x140047005
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.14003fd00
test eax, eax
je 0x140046ff2
jmp 0x140045d2c
cmp dword [rsi + 0xb0], ebx
je 0x140047090
cmp rdi, qword [rsi + 0xa8]
jbe 0x140047090
mov dword [rsi + 0x74], 1
cmp dword [rsi + 0xb0], 1
jg 0x140040d4a
cmp rdi, r11
jb 0x140047f1a
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.14003fd00
test eax, eax
jne 0x140045d2c
mov eax, dword [rbp + 0x118]
dec rdi
cmp rdi, qword [rsp + 0x78]
jae 0x1400470a7
jmp 0x140047f1a
mov eax, 0xfffffff2
jmp 0x140045d2c
mov rax, rdi
dec rdi
cmp rax, qword [rsp + 0x50]
je 0x140047f1a
jmp 0x14004712e
dec rdi
mov al, byte [rdi]
and al, 0xc0
cmp al, 0x80
je 0x14004712b
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.14003fd00
test eax, eax
je 0x140047118
jmp 0x140045d2c
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
test eax, eax
mov eax, ecx
mov rdx, r11
mov rcx, rdi
je 0x1400475fb
inc eax
jmp 0x1400475a9
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x140047246
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x140047216
mov eax, dword [rbp + 0x118]
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035cb0
test eax, eax
jne 0x140047f1a
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x140047246
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x140047246
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x140047246
cmp dword [rsi + 0x24], 1
je 0x140047f1a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047f1a
movzx edx, byte [rdi]
inc rdi
cmp edx, 0xc0
jb 0x1400472fe
test dl, 0x20
jne 0x140047273
movzx eax, byte [rdi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc rdi
jmp 0x1400472fe
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 0x14004729c
and edx, 0xf
mov eax, edx
mov edx, ecx
shl eax, 0xc
or edx, eax
add rdi, 2
jmp 0x1400472fe
movzx eax, byte [rdi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 8
jne 0x1400472bf
and edx, 7
mov eax, edx
mov edx, ecx
shl eax, 0x12
or edx, eax
add rdi, 3
jmp 0x1400472fe
movzx eax, byte [rdi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
test dl, 4
jne 0x1400472e2
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 0x18
or edx, eax
add rdi, 4
jmp 0x1400472fe
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 0x1400473cc
cmp r8d, 0xc
jge 0x140047581
mov ecx, r8d
sub ecx, 6
je 0x1400473b3
dec ecx
je 0x14004739a
dec ecx
je 0x140047381
dec ecx
je 0x140047368
dec ecx
je 0x14004734f
dec ecx
jne 0x14004710e
cmp edx, 0x100
jae 0x140047f1a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x140047537
cmp edx, 0x100
jae 0x140047581
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 0x10
jmp 0x14004757b
cmp edx, 0x100
jae 0x140047f1a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x140047537
cmp edx, 0x100
jae 0x140047581
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 1
jmp 0x14004757b
cmp edx, 0x100
jae 0x140047f1a
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x140047537
cmp edx, 0x100
jae 0x140047581
mov rax, qword [rsi + 0x48]
test byte [rdx + rax], 4
jmp 0x14004757b
mov ecx, r8d
sub ecx, 0x11
je 0x14004753f
dec ecx
je 0x1400474d0
dec ecx
je 0x14004745d
dec ecx
je 0x140047422
dec ecx
jne 0x14004710e
cmp edx, 0xa
jb 0x140047f1a
cmp edx, 0xd
jbe 0x140047581
cmp edx, 0x85
je 0x140047581
lea eax, [rdx - 0x2028]
cmp eax, 1
ja 0x140047f1a
jmp 0x140047581
cmp edx, 0xa
jb 0x140047581
cmp edx, 0xd
jbe 0x140047f1a
cmp edx, 0x85
je 0x140047f1a
cmp edx, 0x2027
jbe 0x140047581
cmp edx, 0x2029
jbe 0x140047f1a
jmp 0x140047581
mov eax, 0x180e
cmp edx, eax
ja 0x140047495
je 0x140047581
cmp edx, 9
je 0x140047581
cmp edx, 0x20
je 0x140047581
cmp edx, 0xa0
je 0x140047581
cmp edx, 0x1680
jmp 0x14004757b
cmp edx, 0x2000
jb 0x140047f1a
cmp edx, 0x200a
jbe 0x140047581
cmp edx, 0x202f
je 0x140047581
cmp edx, 0x205f
je 0x140047581
cmp edx, 0x3000
jmp 0x14004757b
mov eax, 0x180e
cmp edx, eax
ja 0x140047505
je 0x140047f1a
cmp edx, 9
je 0x140047f1a
cmp edx, 0x20
je 0x140047f1a
cmp edx, 0xa0
je 0x140047f1a
cmp edx, 0x1680
jmp 0x140047537
cmp edx, 0x2000
jb 0x140047581
cmp edx, 0x200a
jbe 0x140047f1a
cmp edx, 0x202f
je 0x140047f1a
cmp edx, 0x205f
je 0x140047f1a
cmp edx, 0x3000
je 0x140047f1a
jmp 0x140047581
cmp edx, 0xa
je 0x140047581
jbe 0x140047f1a
cmp edx, 0xc
jbe 0x140047578
cmp edx, 0xd
je 0x1400475e8
cmp edx, 0x85
je 0x140047578
cmp edx, 0x2027
jbe 0x140047f1a
cmp edx, 0x2029
ja 0x140047f1a
cmp dword [rsi + 0x78], ebx
jne 0x140047f1a
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.14003fd00
test eax, eax
je 0x1400471b6
jmp 0x140045d2c
cmp rdi, qword [rsi + 0x90]
jae 0x140047581
cmp byte [rdi], 0xa
jne 0x140047581
inc rdi
jmp 0x140047581
inc eax
jmp 0x1400477d9
mov r9d, dword [rsp + 0x58]
cmp r9d, dword [rsp + 0x5c]
jge 0x140047f1a
cmp rdi, qword [rsi + 0x90]
jae 0x140040d1d
mov r8d, dword [rsp + 0x68]
cmp r8d, 0xc
jne 0x14004768c
mov edx, dword [rsi + 0x20]
test edx, edx
je 0x14004765c
mov r8, qword [rsi + 0x90]
lea r9, [rsi + 0x24]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035cb0
test eax, eax
jne 0x140047f1a
mov r8d, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x58]
jmp 0x14004768c
movsxd rax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x90]
sub rcx, rax
cmp rdi, rcx
ja 0x14004768c
mov al, byte [rsi + 0x38]
cmp byte [rdi], al
jne 0x14004768c
cmp dword [rsi + 0x24], 1
je 0x140047f1a
mov al, byte [rsi + 0x39]
cmp byte [rdi + 1], al
je 0x140047f1a
movzx ecx, byte [rdi]
inc rdi
cmp r8d, 0xe
jg 0x14004770d
cmp r8d, 0xc
jge 0x1400477b1
mov edx, r8d
sub edx, 6
je 0x140047700
dec edx
je 0x1400476f6
dec edx
je 0x1400476e9
dec edx
je 0x1400476dc
dec edx
je 0x1400476cf
dec edx
jne 0x14004710e
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x14004777f
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 0x10
jmp 0x1400477ab
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x14004777f
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 1
jmp 0x1400477ab
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x14004777f
mov rax, qword [rsi + 0x48]
test byte [rcx + rax], 4
jmp 0x1400477ab
mov edx, r8d
sub edx, 0x11
je 0x140047787
dec edx
je 0x140047767
dec edx
je 0x140047755
dec edx
je 0x14004773f
dec edx
jne 0x14004710e
cmp ecx, 0xa
jb 0x140047f1a
cmp ecx, 0xd
jbe 0x1400477b1
cmp ecx, 0x85
jmp 0x1400477ab
cmp ecx, 0xa
jb 0x1400477b1
cmp ecx, 0xd
jbe 0x140047f1a
cmp ecx, 0x85
jmp 0x14004777f
cmp ecx, 9
je 0x1400477b1
cmp ecx, 0x20
je 0x1400477b1
cmp ecx, 0xa0
jmp 0x1400477ab
cmp ecx, 9
je 0x140047f1a
cmp ecx, 0x20
je 0x140047f1a
cmp ecx, 0xa0
je 0x140047f1a
jmp 0x1400477b1
cmp ecx, 0xa
je 0x1400477b1
jbe 0x140047f1a
cmp ecx, 0xc
jbe 0x1400477a8
cmp ecx, 0xd
je 0x140047818
cmp ecx, 0x85
jne 0x140047f1a
cmp dword [rsi + 0x78], ebx
jne 0x140047f1a
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.14003fd00
test eax, eax
je 0x140047602
jmp 0x140045d2c
cmp rdi, qword [rsi + 0x90]
jae 0x1400477b1
cmp byte [rdi], 0xa
jne 0x1400477b1
inc rdi
jmp 0x1400477b1
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 0x140047857
mov dword [rbp - 0x68], ebx
jmp 0x140047867
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 0x1400478a2
lea rax, [rbp + 0x50]
mov qword [rbp - 0x58], rax
jmp 0x1400478c2
shl rcx, 2
call qword [0x1400ace70]
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x1400478bf
mov eax, 0xfffffffa
jmp 0x140045d2c
mov ecx, dword [rbp - 0x50]
mov rdx, qword [rsi + 0x10]
movsxd r8, ecx
mov rcx, rax
shl r8, 2
call fcn.140014990
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 + 0x9a830]
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.14003fd00
mov dword [rbp - 0x80], eax
cmp eax, 1
je 0x140047a2c
cmp eax, 0xfffffc19
je 0x140047a2c
test eax, eax
je 0x14004798a
cmp eax, 0xfffffc1e
jne 0x1400479e6
mov rcx, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], rcx
jne 0x1400479e6
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.140014990
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 0x140047a05
mov ecx, dword [rbp + 0x118]
mov r9d, dword [rbp - 0x7c]
mov r10d, dword [rbp + 0x110]
jmp 0x140047904
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x50]
cmp rcx, rdx
je 0x140045d2c
call qword [case.0x140072c4e.0]
mov eax, dword [rbp - 0x80]
jmp 0x140045d2c
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x140047f1a
call qword [case.0x140072c4e.0]
jmp 0x140047f1a
mov rax, qword [rbp - 0x70]
mov qword [rsi + 0xd0], rax
mov rcx, qword [rbp - 0x58]
lea rax, [rbp + 0x50]
cmp rcx, rax
je 0x140047a4a
call qword [case.0x140072c4e.0]
mov ebx, 1
jmp 0x140047f1a
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 0x140047c22
mov rax, qword [rbp + 0x100]
mov qword [rsi + 0xa0], rdi
mov dword [rsi + 0xb4], r10d
mov qword [rsi + 0x98], rax
jmp 0x140047a4a
mov eax, 1
jmp 0x140045d2c
dec ecx
je 0x140047b26
dec ecx
jne 0x140040700
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x9a830]
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.14003fd00
test eax, eax
je 0x1400480f1
cmp eax, 0xfffffc1e
je 0x1400480f1
jmp 0x140045d2c
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 + 0x9a830]
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.14003fd00
mov ecx, eax
mov dword [rbp + 0x118], eax
cmp eax, 0xfffffc1d
jne 0x140047bce
mov rcx, qword [rbp + 0xf8]
mov rdx, qword [rsi + 0x98]
add rcx, 2
call fcn.140017a20
test eax, eax
jne 0x140047bc8
mov qword [rsi + 0x98], rdi
mov eax, 0xfffffc1c
jmp 0x140045d2c
mov ecx, dword [rbp + 0x118]
cmp qword [rsi + 0xe0], rbx
jne 0x140047be9
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, ecx
jmp 0x140045d2c
mov dword [rbp - 0x80], ebx
jmp 0x1400480f1
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.14003fd00
jmp 0x140045d2c
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 + 0x9a830]
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.14003fd00
test eax, eax
jne 0x140045d2c
mov rcx, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rcx
jmp 0x140045d2c
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 + 0x9a830]
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.14003fd00
mov r11d, eax
test eax, eax
je 0x140047da9
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov r8, qword [rbp + 0xf8]
cmp qword [rsi + 0x98], r8
jne 0x140045d2c
jmp 0x140047db0
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 0x140047df9
mov ecx, dword [rbp - 0x7c]
mov r8d, dword [rbp - 0x80]
mov r11, qword [rbp + 0xf8]
mov r10d, dword [rbp + 0x110]
jmp 0x140047d2c
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 0x140047e45
mov rax, qword [rbp + 0x108]
mov qword [rsi + 0xe0], rax
xor eax, eax
jmp 0x140045d2c
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 + 0x9a830]
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.14003fd00
test eax, eax
je 0x140047eba
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0xe0], rax
mov eax, 0xfffffc1b
jmp 0x140045d2c
cmp rdi, rdx
jne 0x140047ef8
cmp dword [rsi + 0x6c], ebx
jne 0x140047f1a
cmp dword [rsi + 0x70], ebx
je 0x140047ef8
movsxd rax, dword [rsi + 0xbc]
add rax, qword [rsi + 0x88]
cmp rdx, rax
je 0x140047f1a
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 0x140045d2c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x9a830]
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.14003fd00
test eax, eax
je 0x140047fb0
cmp eax, 0xfffffc1b
je 0x140047fb0
cmp eax, 0xfffffc1c
je 0x140047fb0
cmp eax, 0xfffffc1d
je 0x140047fb0
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov dword [rbp - 0x80], 0xfffffc1a
jmp 0x1400480f1
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x9a830]
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.14003fd00
test eax, eax
jne 0x140045d2c
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 0x140045d2c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x9a830]
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.14003fd00
test eax, eax
jne 0x140045d2c
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 0x140045d2c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx eax, byte [rax + rdx + 0x9a830]
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.14003fd00
test eax, eax
je 0x140048182
cmp eax, 0xfffffc1b
je 0x140048182
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov rax, qword [rbp + 0xf8]
add rax, 2
mov qword [rsi + 0x98], rax
mov eax, 0xfffffc1d
jmp 0x140045d2c
movzx eax, byte [r11]
mov ecx, dword [rbp + 0x138]
mov r9, qword [rbp + 0x108]
inc ecx
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x9a830]
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.14003fd00
test eax, eax
je 0x140048211
cmp eax, 0xfffffc1b
je 0x140048211
cmp eax, 0xfffffc1e
jne 0x140045d2c
mov qword [rsi + 0x98], rdi
mov ebx, 0xfffffc1c
jmp 0x140047f1a
mov eax, 0xffffffeb
jmp 0x140045d2c