Function at 0x1800925c0
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x138]
sub rsp, 0x238
mov rax, qword [0x18012c3a8]
xor rax, rsp
mov qword [rbp + 0x128], rax
mov r15d, dword [rcx]
xor esi, esi
mov r10, qword [rdx]
mov r14d, 0xfffffffe
mov rax, qword [rbp + 0x1a0]
mov rdi, r9
mov r11, qword [rbp + 0x1d0]
mov r13d, esi
mov qword [rbp + 0xa8], rcx
mov r12d, r14d
mov qword [rbp + 0xb0], rax
mov ecx, r15d
mov rax, qword [rbp + 0x1a8]
mov qword [rbp - 0x30], r9
mov r9, r8
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x1b0]
shr ecx, 9
mov rbx, qword [r9]
and ecx, 1
mov qword [rbp + 0xc0], rax
mov r9d, r15d
mov rax, qword [rbp + 0x1b8]
mov dword [rbp + 0x84], ecx
xor ecx, 1
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0x1c0]
shr r9d, 0xb
mov dword [rbp + 0x80], ecx
and r9d, 1
mov ecx, r15d
mov qword [rbp + 0xa0], rax
mov qword [rbp - 0x48], r8
mov eax, esi
mov r8, qword [rbp + 0x1d8]
and ecx, 1
mov qword [rbp + 0xd0], rdx
mov edx, esi
mov qword [rbp + 0x38], rax
mov qword [rbp - 0x58], r11
mov qword [rbp - 0x28], r8
mov dword [rbp - 0x68], r15d
mov dword [rbp + 0x68], esi
mov dword [rbp + 0x40], esi
mov qword [rbp - 0x70], r10
mov qword [rbp + 0x98], r10
mov dword [rbp - 0x78], edx
mov dword [rbp + 0x64], esi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x18], rsi
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x48], rsi
mov dword [rbp - 0x64], r9d
mov dword [rbp], esi
mov dword [rbp + 0x30], esi
mov dword [rbp - 0x3c], esi
mov dword [rbp - 0x10], esi
mov dword [rbp - 8], r14d
mov dword [rbp - 0x20], r14d
mov dword [rbp - 0x40], r14d
mov dword [rbp - 0x38], r14d
mov dword [rbp + 0x44], ecx
mov qword [rbp + 0x90], r10
jmp 0x180092718
mov rax, qword [rbp + 0x38]
mov r15d, dword [rbp - 0x68]
movzx esi, byte [rbx]
test esi, esi
jne 0x180092734
test rax, rax
je 0x180092734
mov rbx, rax
mov qword [rbp - 0x80], rax
xor eax, eax
mov qword [rbp + 0x38], rax
movzx esi, byte [rbx]
movsxd rcx, dword [r11 + 0x6c]
add rcx, qword [r11 + 0x20]
test r8, r8
je 0x180092804
lea rax, [rcx - 0x64]
cmp r10, rax
ja 0x180096530
cmp r10, qword [rbp + 0x90]
mov eax, 0x7fffffeb
mov edx, dword [r8]
cmovb r10, qword [rbp + 0x90]
sub eax, edx
movsxd rcx, eax
mov rax, r10
sub rax, qword [rbp + 0x90]
mov qword [rbp - 0x70], r10
cmp rcx, rax
jl 0x180096525
mov eax, r10d
sub eax, dword [rbp + 0x90]
add eax, edx
mov dword [r8], eax
test r13, r13
je 0x1800927ed
mov rcx, qword [rbp + 0x98]
cmp r13, rcx
jbe 0x1800927f8
mov r8, r10
mov rdx, r13
sub r8, r13
call fcn.1800ab630
mov rcx, qword [rbp + 0x98]
mov r10, qword [rbp - 0x70]
mov rax, rcx
mov rbx, qword [rbp - 0x80]
sub rax, r13
mov r11, qword [rbp - 0x58]
add r10, rax
mov r9d, dword [rbp - 0x64]
mov r13, rcx
mov r8, qword [rbp - 0x28]
mov edx, dword [rbp - 0x78]
mov qword [rbp - 0x70], r10
mov qword [rbp + 0x90], r10
mov qword [rbp - 0x18], rcx
jmp 0x18009280e
mov r10, qword [rbp + 0x98]
mov qword [rbp - 0x70], r10
mov edx, dword [rbp - 0x78]
mov qword [rbp + 0x90], r10
jmp 0x18009280e
cmp qword [r11 + 0x40], rcx
ja 0x1800968be
test esi, esi
je 0x1800929e7
cmp esi, 0x5c
jne 0x180092843
cmp byte [rbx + 1], 0x45
lea rax, [rbx + 1]
jne 0x180092843
mov rdi, qword [rbp - 0x30]
xor esi, esi
mov rbx, rax
mov edx, esi
mov rax, qword [rbp + 0x38]
inc rbx
mov dword [rbp - 0x78], edx
mov qword [rbp - 0x80], rbx
jmp 0x180092718
test edx, edx
je 0x1800929b7
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x180092881
test r8, r8
jne 0x18009287b
movzx eax, byte [rdx + 3]
movzx ecx, byte [rdx + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r11 + 0x30]
mov eax, ebx
mov byte [rdx + 5], bl
sar eax, 8
mov byte [rdx + 4], al
mov rbx, qword [rbp - 0x80]
xor eax, eax
mov qword [rbp + 0x78], rax
bt r15d, 0xe
jae case.0x180092c5b.12
mov word [r10], 0xff76
mov eax, ebx
sub eax, dword [r11 + 0x30]
sar eax, 8
mov byte [r10 + 2], al
sub bl, byte [r11 + 0x30]
mov byte [r10 + 3], bl
mov word [r10 + 4], 0
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0x78], r10
add r10, 6
cmp dword [rbp - 0x64], 0
mov eax, 1
mov edx, eax
mov byte [rbp + 0xd8], sil
je 0x180092904
cmp esi, 0xc0
jb 0x180092904
movzx eax, byte [rbx + 1]
inc rbx
and al, 0xc0
cmp al, 0x80
jne 0x180092904
nop
mov ecx, edx
inc edx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
mov byte [rbp + rcx + 0xd8], al
lea rax, [rbx + 1]
movzx ecx, byte [rax]
mov rbx, rax
and cl, 0xc0
cmp cl, 0x80
je 0x1800928e0
mov r15, qword [r11 + 0x40]
mov r13, r10
sub r15, qword [r11 + 0x20]
mov qword [rbp + 0x48], r15
mov r15d, dword [rbp - 0x68]
test r15b, 1
mov qword [rbp - 0x18], r10
setne al
add al, 0x1d
mov byte [r10], al
inc r10
mov qword [rbp - 0x70], r10
test edx, edx
je 0x180092957
lea rcx, [rbp + 0xd8]
mov r8d, edx
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [r10], al
inc r10
sub r8, 1
jne 0x180092940
mov qword [rbp - 0x70], r10
movzx eax, byte [rbp + 0xd8]
cmp al, 0xd
je 0x180092966
cmp al, 0xa
jne 0x180092971
or dword [r11 + 0x94], 0x800
mov esi, dword [rbp - 0x38]
mov edi, dword [rbp - 0x3c]
mov r14d, dword [rbp - 0x40]
mov dword [rbp], edi
mov dword [rbp - 8], r14d
cmp esi, 0xfffffffe
jne 0x1800964d6
mov ecx, dword [rbp + 0x44]
or r8d, 0xffffffff
mov dword [rbp - 0x20], r8d
mov r12d, r8d
cmp edx, 1
je 0x1800964bf
test ecx, ecx
je 0x1800964bf
mov dword [rbp - 0x40], r8d
mov dword [rbp - 0x38], r8d
jmp 0x180096502
cmp esi, 0x5c
jne 0x1800929e7
cmp byte [rbx + 1], 0x51
lea rax, [rbx + 1]
jne 0x1800929e7
mov rdi, qword [rbp - 0x30]
mov rbx, rax
mov rax, qword [rbp + 0x38]
mov ecx, 1
inc rbx
mov dword [rbp - 0x78], ecx
mov qword [rbp - 0x80], rbx
mov edx, ecx
jmp 0x180092718
and r15d, 8
je 0x180092b0d
mov rcx, qword [r11 + 0x18]
mov r14, rbx
test byte [rsi + rcx], 1
je 0x180092a15
nop
inc rbx
mov qword [rbp - 0x80], rbx
movzx esi, byte [rbx]
test byte [rsi + rcx], 1
jne 0x180092a00
mov rax, rbx
jmp 0x180092a18
mov rax, r14
cmp esi, 0x23
jne 0x180092aed
lea rbx, [rax + 1]
mov qword [rbp - 0x80], rbx
movzx r8d, byte [rbx]
test r8b, r8b
je 0x180092aed
nop word [rax + rax]
mov edx, dword [r11 + 0xb4]
mov rcx, qword [r11 + 0x38]
test edx, edx
je 0x180092a80
cmp rbx, rcx
jae 0x180092aad
lea rdi, [r11 + 0xb8]
mov dword [rsp + 0x20], r9d
mov r8, rcx
mov r9, rdi
mov rcx, rbx
call fcn.1800a39c0
mov rbx, qword [rbp - 0x80]
mov r11, qword [rbp - 0x58]
test eax, eax
jne 0x180092ae1
mov r9d, dword [rbp - 0x64]
jmp 0x180092aad
movsxd rdx, dword [r11 + 0xb8]
sub rcx, rdx
mov rax, rdx
cmp rbx, rcx
ja 0x180092aad
cmp r8b, byte [r11 + 0xbc]
jne 0x180092aad
cmp edx, 1
je 0x180092ae3
movzx eax, byte [r11 + 0xbd]
cmp byte [rbx + 1], al
je 0x180092ae3
inc rbx
mov qword [rbp - 0x80], rbx
test r9d, r9d
je 0x180092ad2
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x180092ad2
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
je 0x180092ac2
movzx r8d, byte [rbx]
test r8b, r8b
jne 0x180092a40
jmp 0x180092aed
mov edx, dword [rdi]
movsxd rax, edx
add rbx, rax
mov qword [rbp - 0x80], rbx
mov r10, qword [rbp - 0x70]
cmp rbx, r14
mov r14d, dword [rbp - 8]
mov rdi, qword [rbp - 0x30]
mov r9d, dword [rbp - 0x64]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x28]
ja 0x180092710
cmp esi, 0x28
jne 0x180092b5b
cmp byte [rbx + 1], 0x3f
jne 0x180092b7a
cmp byte [rbx + 2], 0x23
jne 0x180092b7a
add rbx, 3
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
je 0x180092b42
nop dword [rax]
cmp al, 0x29
je 0x180092b4d
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x180092b30
mov dword [rdi], 0x12
jmp 0x1800968c5
cmp byte [rbx], 0
je 0x180092b42
mov r15d, dword [rbp - 0x68]
jmp 0x180096506
lea eax, [rsi - 0x2a]
cmp eax, 1
jbe 0x180092bde
cmp esi, 0x3f
je 0x180092bde
cmp esi, 0x7b
jne 0x180092b7a
lea rcx, [rbx + 1]
call fcn.1800985f0
test eax, eax
jne 0x180092bde
mov r8, qword [rbp + 0x78]
xor eax, eax
mov edx, eax
mov rax, qword [rbp + 0x38]
test r8, r8
je 0x180092be7
mov r9, qword [rbp - 0x28]
test rax, rax
jne 0x180092beb
mov ecx, dword [rbp + 0x68]
mov eax, ecx
dec ecx
mov dword [rbp + 0x68], ecx
test eax, eax
jg 0x180092c5d
test r9, r9
jne 0x180092bd1
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r11 + 0x30]
mov eax, ebx
mov byte [r8 + 5], bl
sar eax, 8
mov byte [r8 + 4], al
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbp + 0x38]
xor r8d, r8d
mov qword [rbp + 0x78], r8
jmp 0x180092bee
mov rax, qword [rbp + 0x38]
mov edx, 1
mov r9, qword [rbp - 0x28]
xor r8d, r8d
test dword [rbp - 0x68], 0x4000
je 0x180092c30
test edx, edx
jne 0x180092c30
test rax, rax
jne 0x180092c30
mov word [r10], 0xff76
mov eax, ebx
sub eax, dword [r11 + 0x30]
sar eax, 8
mov byte [r10 + 2], al
sub bl, byte [r11 + 0x30]
mov byte [r10 + 3], bl
mov word [r10 + 4], dx
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0x78], r10
add r10, 6
mov qword [rbp - 0x70], r10
cmp esi, 0x7c
ja case.0x180092c5b.12
lea rcx, [0x180000000]
mov eax, esi
movzx eax, byte [rcx + rax + 0x96928]
mov ecx, dword [rcx + rax*4 + 0x968f4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp + 0x38]
jmp 0x180092beb
mov r15d, dword [rbp - 0x68]
mov r13, r8
mov qword [rbp - 0x18], r8
test r15b, 2
je 0x180092c96
cmp dword [rbp - 0x38], 0xfffffffe
jne 0x180092c86
or eax, 0xffffffff
mov dword [rbp - 0x38], eax
mov r12d, eax
mov dword [rbp - 0x20], eax
mov byte [r10], 0x1c
inc r10
mov qword [rbp - 0x70], r10
jmp 0x180096502
mov byte [r10], 0x1b
inc r10
mov qword [rbp - 0x70], r10
jmp 0x180096502
mov r15d, dword [rbp - 0x68]
mov r13, r8
test r15b, 2
mov qword [rbp - 0x18], r8
setne al
add al, 0x19
mov byte [r10], al
inc r10
mov qword [rbp - 0x70], r10
jmp 0x180096502
mov esi, dword [rbp - 0x38]
mov eax, 0xffffffff
mov r15, qword [r11 + 0x40]
cmp esi, 0xfffffffe
mov ecx, dword [rbp - 0x3c]
mov r13, r10
mov r14d, dword [rbp - 0x40]
cmove esi, eax
sub r15, qword [r11 + 0x20]
mov r12d, esi
mov eax, dword [rbp - 0x10]
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x48], r15
mov r15d, dword [rbp - 0x68]
mov eax, r15d
shr eax, 2
and al, 1
mov qword [rbp - 0x18], r10
or al, 0xc
mov dword [rbp - 0x38], esi
mov byte [r10], al
inc r10
mov qword [rbp - 0x70], r10
mov dword [rbp - 0x20], esi
mov dword [rbp], ecx
mov dword [rbp - 8], r14d
jmp 0x180096502
test dword [r11 + 0x90], 0x2000000
je case.0x180092c5b.12
mov dword [rdi], 0x40
jmp 0x1800968c5
lea rcx, [rbx + 1]
mov r8d, 6
lea rdx, [0x1800e6e80]
call fcn.1800af0b0
test eax, eax
jne 0x180092d63
lea rbx, str._b__w_
jmp 0x180092d87
mov rcx, qword [rbp - 0x80]
lea rdx, str._:_:__
inc rcx
mov r8d, 6
call fcn.1800af0b0
test eax, eax
jne 0x180092daf
lea rbx, str._b___w_
mov rax, qword [rbp - 0x80]
mov r11, qword [rbp - 0x58]
add rax, 7
mov r10, qword [rbp - 0x70]
mov r9d, dword [rbp - 0x64]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x28]
mov qword [rbp + 0x38], rax
mov qword [rbp - 0x80], rbx
jmp 0x180092714
mov rax, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x80]
mov r13, rdi
movzx r9d, byte [rbx + 1]
lea rcx, [rbx + 1]
mov r15, qword [rax + 0x40]
sub r15, qword [rax + 0x20]
mov qword [rbp - 0x18], rdi
mov qword [rbp + 0x48], r15
cmp r9b, 0x3d
ja 0x180092e40
movzx eax, r9b
movabs rdx, 0x2400400000000000
bt rdx, rax
jae 0x180092e40
movzx eax, byte [rcx + 1]
inc rcx
test al, al
je 0x180092e40
nop dword [rax]
cmp al, 0x5c
jne 0x180092e16
movzx edx, byte [rcx + 1]
cmp dl, 0x5d
je 0x180092e11
cmp dl, al
jne 0x180092e22
inc rcx
jmp 0x180092e35
cmp al, 0x5b
jne 0x180092e22
cmp byte [rcx + 1], r9b
je 0x180092e40
jmp 0x180092e26
cmp al, 0x5d
je 0x180092e40
cmp al, r9b
jne 0x180092e35
cmp byte [rcx + 1], 0x5d
je 0x180096545
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x180092e00
xor eax, eax
mov ecx, eax
mov dword [rbp - 0x50], eax
mov eax, 1
nop dword [rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx r14d, byte [rbx]
cmp r14d, 0x5c
jne 0x180092e96
cmp byte [rbx + 1], 0x45
lea rcx, [rbx + 1]
jne 0x180092e73
mov rbx, rcx
mov ecx, dword [rbp - 0x50]
jmp 0x180092e50
mov r8d, 3
lea rdx, [0x1800e6e90]
call fcn.1800af0b0
mov rbx, qword [rbp - 0x80]
test eax, eax
jne 0x180092f05
mov ecx, dword [rbp - 0x50]
add rbx, 3
jmp 0x180092e47
test ecx, ecx
jne 0x180092ea7
cmp r14d, 0x5e
jne 0x180092ea7
mov ecx, eax
mov dword [rbp - 0x50], eax
jmp 0x180092e50
cmp r14d, 0x5d
jne 0x180092f05
mov r11, qword [rbp - 0x58]
test dword [r11 + 0x90], 0x2000000
je 0x180092f09
mov r10, qword [rbp - 0x70]
test ecx, ecx
mov esi, dword [rbp - 0x38]
mov ecx, 0xd
mov r14d, dword [rbp - 8]
mov eax, 0x9d
mov r15d, dword [rbp - 0x68]
cmovne eax, ecx
mov byte [r10], al
inc r10
mov eax, 0xffffffff
mov qword [rbp - 0x70], r10
cmp esi, 0xfffffffe
cmove esi, eax
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x38], esi
mov r12d, esi
mov dword [rbp + 0x30], eax
mov dword [rbp - 0x20], esi
jmp 0x180096502
mov r11, qword [rbp - 0x58]
xor edx, edx
lea r15, [rdi + 4]
xor eax, eax
mov dword [rbp - 0x1c], edx
mov qword [rbp], r15
mov r10d, edx
mov qword [rbp + 0x28], r15
mov r8, r15
mov qword [rbp + 0x10], r15
mov edi, edx
mov qword [rbp + 0xe0], rax
mov esi, edx
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
test r14d, r14d
je 0x180093a7a
mov rax, qword [rbp + 0x38]
nop dword [rax]
nop word [rax + rax]
cmp dword [rbp - 0x64], 0
mov r12d, esi
mov r9, rax
mov qword [rbp + 8], rax
mov r13d, esi
mov dword [rbp + 0x20], edi
je 0x180093076
cmp r14d, 0xc0
jb 0x180093076
movzx r14d, byte [rbx]
cmp r14d, 0xc0
jb 0x180093076
test r14b, 0x20
jne 0x180092fbb
movzx ecx, byte [rbx + 1]
inc rbx
and r14d, 0x1f
mov qword [rbp - 0x80], rbx
and ecx, 0x3f
mov eax, r14d
shl eax, 6
jmp 0x180093070
movzx ecx, byte [rbx + 1]
and ecx, 0x3f
shl ecx, 6
test r14b, 0x10
jne 0x180092fe7
movzx eax, byte [rbx + 2]
lea rdx, [rbx + 2]
and eax, 0x3f
and r14d, 0xf
or ecx, eax
mov eax, r14d
shl eax, 0xc
jmp 0x180093069
movzx eax, byte [rbx + 2]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r14b, 8
jne 0x180093012
movzx eax, byte [rbx + 3]
lea rdx, [rbx + 3]
and eax, 0x3f
and r14d, 7
or ecx, eax
mov eax, r14d
shl eax, 0x12
jmp 0x180093069
movzx eax, byte [rbx + 3]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r14b, 4
jne 0x180093047
and r14d, 3
lea rdx, [rbx + 4]
mov eax, r14d
mov rbx, rdx
shl eax, 0x18
mov r14d, ecx
or r14d, eax
movzx eax, byte [rdx]
and eax, 0x3f
mov qword [rbp - 0x80], rdx
jmp 0x180093073
movzx eax, byte [rbx + 4]
lea rdx, [rbx + 5]
and eax, 0x3f
and r14d, 1
or ecx, eax
movzx eax, byte [rdx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r14d
shl eax, 0x1e
mov rbx, rdx
mov qword [rbp - 0x80], rdx
mov r14d, ecx
or r14d, eax
cmp r15, r8
mov eax, 1
cmova r10d, eax
mov rax, qword [rbp - 0x28]
mov dword [rbp - 0x60], r10d
test rax, rax
je 0x1800930a5
cmp r15, r8
jbe 0x1800930a5
sub r15d, r8d
mov qword [rbp], r8
add dword [rax], r15d
mov r15, r8
mov qword [rbp + 0x28], r8
mov edx, dword [rbp - 0x78]
test edx, edx
je 0x1800930d7
cmp r14d, 0x5c
jne 0x1800936a1
cmp byte [rbx + 1], 0x45
lea rax, [rbx + 1]
jne 0x1800936a1
mov r13d, dword [rbp - 0x68]
xor edx, edx
mov ecx, edx
mov dword [rbp - 0x78], edx
mov rbx, rax
jmp 0x180093a45
cmp r14d, 0x5b
jne 0x180093380
movzx r9d, byte [rbx + 1]
lea rcx, [rbx + 1]
movabs rsi, 0x2400400000000000
cmp r9b, 0x3d
ja 0x1800936ab
movzx eax, r9b
bt rsi, rax
jae 0x1800936ab
movzx eax, byte [rcx + 1]
inc rcx
mov qword [rbp - 8], rcx
movzx r8d, r9b
test al, al
je 0x1800936ab
cmp al, 0x5c
jne 0x18009313d
lea rdx, [rcx + 1]
movzx ecx, byte [rcx + 1]
cmp cl, 0x5d
je 0x180093138
cmp cl, al
jne 0x180093149
mov rcx, rdx
jmp 0x18009315c
cmp al, 0x5b
jne 0x18009314d
cmp byte [rcx + 1], r8b
je 0x18009316b
jmp 0x180093151
mov rcx, qword [rbp - 8]
cmp al, 0x5d
je 0x18009316b
cmp al, r8b
jne 0x18009315c
cmp byte [rcx + 1], 0x5d
je 0x180093173
movzx eax, byte [rcx + 1]
inc rcx
mov qword [rbp - 8], rcx
test al, al
jne 0x180093123
mov edx, dword [rbp - 0x78]
jmp 0x1800936ab
mov r12, qword [r11 + 0x10]
cmp r9b, 0x3a
jne 0x180096561
lea r14, [rbx + 2]
mov qword [rbp - 0x80], r14
movzx r13d, byte [r14]
cmp r13b, 0x5e
jne 0x1800931a1
inc r14
mov dword [rbp - 0x1c], 1
mov qword [rbp - 0x80], r14
mov esi, ecx
lea rdi, str.alpha
sub esi, r14d
lea rcx, [0x180000000]
xor eax, eax
mov r15d, eax
mov ebx, eax
nop dword [rax + rax]
movzx eax, byte [rbx + rcx + 0xe6aa8]
cmp esi, eax
jne 0x1800931e5
mov r8d, esi
mov rdx, rdi
mov rcx, r14
call fcn.1800af0b0
test eax, eax
je 0x180093216
lea rcx, [0x180000000]
movzx eax, byte [rbx + rcx + 0xe6aa8]
inc rdi
inc rbx
add rdi, rax
inc r15d
cmp byte [rbx + rcx + 0xe6aa8], 0
jne 0x1800931c0
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x1e
mov rbx, qword [rbp - 0x80]
jmp 0x1800968c5
test r15d, r15d
js 0x180093203
test byte [rbp - 0x68], 1
je 0x180093231
cmp r15d, 2
mov r11d, 0
cmovle rbx, r11
jmp 0x180093234
xor r11d, r11d
lea r8, [0x180000000]
lea rax, [rbx + rbx*2]
lea rcx, [rax*4]
movsxd rax, dword [rcx + r8 + 0xe6ac0]
mov r9d, dword [rcx + r8 + 0xe6ac4]
mov r10d, dword [rcx + r8 + 0xe6ac8]
movups xmm0, xmmword [rax + r12]
movups xmm1, xmmword [rax + r12 + 0x10]
movups xmmword [rbp + 0x108], xmm0
movups xmmword [rbp + 0x118], xmm1
test r9d, r9d
js 0x1800932d6
mov r8d, r11d
test r10d, r10d
js 0x1800932b3
nop word [rax + rax]
mov eax, r8d
lea rdx, [rbp + 0x108]
add rdx, rax
lea eax, [r9 + r8]
inc r8d
movzx eax, byte [rax + r12]
or byte [rdx], al
cmp r8d, 0x20
jb 0x180093290
jmp 0x1800932d6
mov eax, r8d
lea rdx, [rbp + 0x108]
add rdx, rax
lea eax, [r9 + r8]
inc r8d
movzx eax, byte [rax + r12]
not al
and byte [rdx], al
cmp r8d, 0x20
jb 0x1800932b3
mov eax, r10d
neg eax
test r10d, r10d
cmovns eax, r10d
cmp eax, 1
jne 0x1800932f0
and byte [rbp + 0x109], 0xc3
jmp 0x1800932fc
cmp eax, 2
jne 0x1800932fc
and byte [rbp + 0x113], 0x7f
mov rcx, r11
mov edx, 0x20
cmp r13b, 0x5e
jne 0x180093330
nop word [rax + rax]
movzx eax, byte [rbp + rcx + 0x108]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx + 0xdf], al
sub rdx, 1
jne 0x180093310
jmp 0x180093349
movzx eax, byte [rbp + rcx + 0x108]
or byte [rbp + rcx + 0xe0], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180093330
mov rbx, qword [rbp - 8]
mov r12d, 1
mov r15, qword [rbp]
inc rbx
mov r8, qword [rbp + 0x10]
mov edi, r12d
mov r9, qword [rbp + 8]
xor edx, edx
mov r10d, dword [rbp - 0x60]
lea esi, [r12 + 1]
mov r11, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x68]
jmp 0x180093a4b
cmp r14d, 0x5c
jne 0x1800936a1
mov ebx, dword [rbp - 0x68]
lea rdx, [rbp + 0x70]
mov r9d, dword [r11 + 0x70]
lea rcx, [rbp - 0x80]
mov r8, qword [rbp - 0x30]
mov r14d, 1
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebx
call fcn.180091390
mov r8, qword [rbp - 0x30]
cmp dword [r8], 0
jne 0x18009320d
test eax, eax
jne 0x1800933c9
mov r14d, dword [rbp + 0x70]
jmp 0x1800933d2
cmp eax, 5
jne 0x1800933ec
lea r14d, [rax + 3]
mov rbx, qword [rbp - 0x80]
movabs rsi, 0x2400400000000000
mov r11, qword [rbp - 0x58]
mov edx, dword [rbp - 0x78]
jmp 0x1800936af
cmp eax, 0xc
je 0x18009658d
cmp eax, 0x1a
jne 0x18009343b
mov rbx, qword [rbp - 0x80]
cmp byte [rbx + 1], 0x5c
jne 0x180093417
cmp byte [rbx + 2], 0x45
jne 0x180093417
mov r11, qword [rbp - 0x58]
add rbx, 2
jmp 0x1800934a4
mov r8, qword [rbp + 0x10]
mov ecx, r14d
mov r9, qword [rbp + 8]
mov r12d, ecx
mov r10d, dword [rbp - 0x60]
xor edx, edx
mov r11, qword [rbp - 0x58]
mov r13d, dword [rbp - 0x68]
mov dword [rbp - 0x78], ecx
jmp 0x180093a4b
mov r11, qword [rbp - 0x58]
cmp eax, 0x19
je 0x1800934a0
mov rdx, qword [r11 + 0x10]
inc edi
add esi, 2
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x18009346d.12
lea r9, [0x180000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x969a8]
add rcx, r9
jmp rcx
lea rax, [rbp + 0xe0]
sub rdx, rax
lea rcx, [rbp + 0xe0]
lea r8, [rdx + 0x40]
mov edx, 0x20
nop dword [rax]
movzx eax, byte [r8 + rcx]
or byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, r14
jne 0x180093490
mov rbx, qword [rbp - 0x80]
mov r10d, dword [rbp - 0x60]
xor edx, edx
mov r9, qword [rbp + 8]
mov r12, r14
mov r8, qword [rbp + 0x10]
mov ecx, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x68]
jmp 0x180093a4b
lea rax, [rbp + 0xe0]
mov dword [rbp - 0x1c], r14d
sub rdx, rax
lea rcx, [rbp + 0xe0]
lea r8, [rdx + 0x40]
mov edx, 0x20
nop
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub rdx, r14
jne 0x1800934e0
jmp 0x1800934a0
lea rax, [rbp + 0xe0]
sub rdx, rax
lea rcx, [rbp + 0xe0]
lea r8, [rdx + 0xa0]
mov edx, 0x20
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
or byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, r14
jne 0x180093520
jmp 0x1800934a0
lea rax, [rbp + 0xe0]
mov dword [rbp - 0x1c], r14d
sub rdx, rax
lea rcx, [rbp + 0xe0]
lea r8, [rdx + 0xa0]
mov edx, 0x20
nop word [rax + rax]
movzx eax, byte [rcx + r8]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub rdx, r14
jne 0x180093560
jmp 0x1800934a0
lea rax, [rbp + 0xe0]
mov r8d, 0x20
sub rdx, rax
lea rcx, [rbp + 0xe0]
nop
movzx eax, byte [rcx + rdx]
or byte [rcx], al
lea rcx, [rcx + 1]
sub r8, r14
jne 0x180093590
jmp 0x1800934a0
lea rax, [rbp + 0xe0]
mov dword [rbp - 0x1c], r14d
sub rdx, rax
lea rcx, [rbp + 0xe0]
mov r8d, 0x20
nop
movzx eax, byte [rcx + rdx]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
sub r8, r14
jne 0x1800935c0
jmp 0x1800934a0
lea rax, [0x1800e70a0]
mov dword [rsp + 0x28], 0xffffffff
lea rdx, [rbp + 0x28]
mov r9, r11
mov qword [rsp + 0x20], rax
mov r8d, ebx
lea rcx, [rbp + 0xe0]
call fcn.1800908b0
mov r15, qword [rbp + 0x28]
mov r11, qword [rbp - 0x58]
mov qword [rbp], r15
jmp 0x1800934a0
lea rax, [0x1800e70a0]
mov r9, r11
mov r8d, ebx
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0xe0]
call fcn.180090a70
mov r15, qword [rbp + 0x28]
mov r11, qword [rbp - 0x58]
mov qword [rbp], r15
jmp 0x1800934a0
lea rax, [0x1800e70f0]
jmp 0x1800935de
lea rax, [0x1800e70f0]
mov r9, r11
mov r8d, ebx
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0xe0]
call fcn.180090a70
mov r15, qword [rbp + 0x28]
mov r11, qword [rbp - 0x58]
mov qword [rbp], r15
jmp 0x1800934a0
test bl, 0x40
mov rbx, qword [rbp - 0x80]
jne 0x180096581
movzx r14d, byte [rbx]
movabs rsi, 0x2400400000000000
mov edx, dword [rbp - 0x78]
jmp 0x1800936af
movabs rsi, 0x2400400000000000
mov r8, qword [rbp - 0x30]
cmp byte [rbx + 1], 0x5c
jne 0x1800936dd
xor r9d, r9d
nop dword [rax + rax]
cmp byte [rbx + 2], 0x45
lea rax, [rbx + 2]
jne 0x1800936da
mov qword [rbp - 0x80], rax
mov edx, r9d
cmp byte [rax + 1], 0x5c
mov rbx, rax
je 0x1800936c0
mov dword [rbp - 0x78], edx
mov rcx, rbx
cmp r14d, 0xd
je 0x1800936ec
cmp r14d, 0xa
jne 0x1800936f7
or dword [r11 + 0x94], 0x800
test edx, edx
jne 0x1800939d8
cmp byte [rbx + 1], 0x2d
jne 0x1800939d8
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
jne 0x180093729
cmp byte [rbx + 1], 0x45
jne 0x18009378c
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
je 0x180093716
mov r10d, 1
movzx eax, byte [rbx]
test al, al
je 0x1800939d1
test edx, edx
jne 0x180093746
cmp al, 0x5d
je 0x1800939d1
mov edi, dword [rbp - 0x64]
movzx r9d, al
mov dword [rbp], r9d
mov eax, r9d
test edi, edi
je 0x180093898
cmp r9d, 0xc0
jb 0x180093898
test r9b, 0x20
jne 0x1800937d0
movzx ecx, byte [rbx + 1]
inc rbx
and r9d, 0x1f
mov qword [rbp - 0x80], rbx
and ecx, 0x3f
mov eax, r9d
shl eax, 6
jmp 0x18009388b
cmp byte [rbx], 0x5c
jne 0x180093729
cmp byte [rbx + 1], 0x51
mov rax, rbx
jne 0x180093729
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
jne 0x1800937bf
cmp byte [rax + 3], 0x45
jne 0x1800937bf
lea rbx, [rax + 4]
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
je 0x180093791
jmp 0x180093729
mov r10d, 1
mov edx, r10d
mov dword [rbp - 0x78], edx
jmp 0x18009372f
movzx ecx, byte [rbx + 1]
and ecx, 0x3f
shl ecx, 6
test r9b, 0x10
jne 0x1800937fc
movzx eax, byte [rbx + 2]
lea rdx, [rbx + 2]
and eax, 0x3f
and r9d, 0xf
or ecx, eax
mov eax, r9d
shl eax, 0xc
jmp 0x180093881
movzx eax, byte [rbx + 2]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r9b, 8
jne 0x180093827
movzx eax, byte [rbx + 3]
lea rdx, [rbx + 3]
and eax, 0x3f
and r9d, 7
or ecx, eax
mov eax, r9d
shl eax, 0x12
jmp 0x180093881
movzx eax, byte [rbx + 3]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r9b, 4
jne 0x18009385f
and r9d, 3
lea rdx, [rbx + 4]
mov eax, r9d
mov rbx, rdx
shl eax, 0x18
mov r9d, ecx
or r9d, eax
movzx eax, byte [rdx]
mov qword [rbp - 0x80], rdx
and eax, 0x3f
mov edx, dword [rbp - 0x78]
jmp 0x18009388e
movzx eax, byte [rbx + 4]
lea rdx, [rbx + 5]
and eax, 0x3f
and r9d, 1
or ecx, eax
movzx eax, byte [rdx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r9d
shl eax, 0x1e
mov rbx, rdx
mov qword [rbp - 0x80], rdx
mov edx, dword [rbp - 0x78]
mov r9d, ecx
or r9d, eax
mov dword [rbp], r9d
mov eax, r9d
test edx, edx
jne 0x18009399d
cmp eax, 0x5c
jne 0x1800938f1
mov r15d, dword [rbp - 0x68]
lea rdx, [rbp]
mov r9d, dword [r11 + 0x70]
lea rcx, [rbp - 0x80]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r15d
call fcn.180091390
mov rcx, qword [rbp - 0x30]
cmp dword [rcx], 0
jne 0x18009320d
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x1800938eb
cmp eax, 5
jne 0x18009659d
lea r9d, [rax + 3]
jmp 0x18009396b
mov r9d, dword [rbp]
jmp 0x18009396b
cmp eax, 0x5b
jne 0x18009399d
movzx r10d, byte [rbx + 1]
cmp r10b, 0x3d
ja 0x18009399d
movzx eax, r10b
bt rsi, rax
jae 0x18009399d
movzx eax, byte [rbx + 2]
lea rdx, [rbx + 2]
test al, al
je 0x18009399a
cmp al, 0x5c
jne 0x180093939
movzx ecx, byte [rdx + 1]
cmp cl, 0x5d
je 0x180093934
cmp cl, al
jne 0x180093945
inc rdx
jmp 0x180093958
cmp al, 0x5b
jne 0x180093945
cmp byte [rdx + 1], r10b
je 0x180093963
jmp 0x180093949
cmp al, 0x5d
je 0x180093963
cmp al, r10b
jne 0x180093958
cmp byte [rdx + 1], 0x5d
je 0x1800965a8
movzx eax, byte [rdx + 1]
inc rdx
test al, al
jne 0x180093923
mov rcx, qword [rbp - 0x30]
mov r15d, dword [rbp - 0x68]
mov edx, dword [rbp - 0x78]
cmp r9d, r14d
jb 0x1800965b7
je 0x1800939db
mov esi, 2
cmp r9d, 0xd
je 0x18009398a
cmp r9d, 0xa
jne 0x1800939a7
mov rax, qword [rbp - 0x58]
or dword [rax + 0x94], 0x800
jmp 0x1800939ab
mov edx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x30]
mov r15d, dword [rbp - 0x68]
jmp 0x18009396e
mov rax, qword [rbp - 0x58]
mov dword [rsp + 0x28], r9d
lea rdx, [rbp + 0x28]
mov r9, rax
mov dword [rsp + 0x20], r14d
mov r8d, r15d
lea rcx, [rbp + 0xe0]
call fcn.180090c70
mov r13d, dword [rbp - 0x68]
jmp 0x180093a1f
mov rbx, rcx
mov qword [rbp - 0x80], rcx
mov edi, dword [rbp - 0x64]
cmp r13d, 2
lea esi, [r13 + 1]
cmovge esi, r12d
test edx, edx
jne 0x1800939fa
cmp esi, 1
jne 0x1800939fa
cmp byte [rbx + 1], 0x5d
je 0x180093bb3
mov r13d, dword [rbp - 0x68]
lea rdx, [rbp + 0x28]
mov r9, qword [rbp - 0x58]
lea rcx, [rbp + 0xe0]
mov r8d, r13d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.180090c70
mov r15, qword [rbp + 0x28]
mov edi, eax
add edi, dword [rbp + 0x20]
mov ecx, dword [rbp - 0x78]
xor edx, edx
mov r11, qword [rbp - 0x58]
mov r10d, dword [rbp - 0x60]
mov r9, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov rbx, qword [rbp - 0x80]
mov qword [rbp], r15
mov r12d, 1
inc rbx
mov qword [rbp - 0x80], rbx
movzx r14d, byte [rbx]
test r14d, r14d
jne 0x180093a89
cmp qword [rbp + 0x38], 0
je 0x180093a7a
lea rbx, [r9 + 1]
mov qword [rbp + 0x38], rdx
mov qword [rbp - 0x80], rbx
mov rax, rdx
movzx r14d, byte [rbx]
test r14d, r14d
jne 0x180093a8d
mov rax, qword [rbp - 0x30]
mov dword [rax], 6
jmp 0x1800968c5
mov rax, qword [rbp + 0x38]
cmp r14d, 0x5d
jne 0x180092f60
test ecx, ecx
jne 0x180092f60
mov eax, dword [rbp - 0x38]
cmp r15, r8
mov r14d, dword [rbp - 0x40]
mov ecx, 0xffffffff
cmova r10d, r12d
mov dword [rbp - 8], r14d
cmp eax, 0xfffffffe
cmove eax, ecx
mov ecx, dword [rbp - 0x10]
mov dword [rbp - 0x38], eax
mov r12d, eax
mov dword [rbp - 0x20], eax
test r10d, r10d
mov eax, dword [rbp - 0x3c]
mov r10d, dword [rbp - 0x1c]
mov dword [rbp], eax
mov dword [rbp + 0x30], ecx
je 0x180093c8e
mov eax, r13d
and eax, 0x20000000
test r10d, r10d
je 0x180093af3
test eax, eax
je 0x180093c8e
mov ecx, dword [rbp - 0x64]
mov esi, dword [rbp - 0x50]
test ecx, ecx
je 0x180093b39
test r10d, r10d
je 0x180093b39
test esi, esi
jne 0x180093b39
test eax, eax
jne 0x180093b39
mov byte [r15], 2
inc r15
test ecx, ecx
je 0x180093b39
mov rdx, r15
mov ecx, 0x100
call fcn.1800a3d00
mov eax, eax
mov ecx, 0x10ffff
add r15, rax
mov rdx, r15
call fcn.1800a3d00
mov eax, eax
add r15, rax
mov rcx, qword [rbp - 0x70]
mov byte [r15], 0
inc r15
test esi, esi
setne al
mov byte [rcx], 0x70
mov byte [rcx + 3], al
test edi, edi
jle 0x180093c62
lea rbx, [rcx + 4]
or al, 2
mov byte [rcx + 3], al
mov r8, r15
lea rcx, [rbx + 0x20]
sub r8, rbx
mov rdx, rbx
call fcn.1800ab630
test esi, esi
je 0x180093b8e
lea rcx, [rbp + 0xe0]
mov edx, 0x20
not byte [rcx]
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180093b82
movups xmm0, xmmword [rbp + 0xe0]
lea r10, [r15 + 0x20]
movups xmm1, xmmword [rbp + 0xf0]
mov qword [rbp - 0x70], r10
mov r15, r10
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm1
jmp 0x180093c69
inc rbx
cmp dword [rbp - 0x50], 0
mov qword [rbp - 0x80], rbx
je 0x180093c1f
mov r9d, dword [rbp - 0x38]
mov eax, 0xffffffff
mov rcx, qword [rbp - 0x70]
cmp r9d, 0xfffffffe
mov r15d, dword [rbp - 0x68]
cmove r9d, eax
test r15b, 1
mov dword [rbp - 0x38], r9d
mov r12d, r9d
setne al
mov dword [rbp - 0x20], r9d
add al, 0x1f
lea rbx, [rcx + 1]
mov byte [rcx], al
test edi, edi
je 0x180093c13
cmp r14d, 0x7f
jbe 0x180093c13
mov rdx, rbx
mov ecx, r14d
call fcn.1800a3d00
mov r10d, eax
add r10, rbx
jmp 0x180093cf0
mov byte [rbx], r14b
lea r10, [rbx + 1]
jmp 0x180093cf3
test edi, edi
je 0x180093c47
cmp r14d, 0x7f
jbe 0x180093c47
lea rdx, [rbp + 0xd8]
mov ecx, r14d
call fcn.1800a3d00
mov r11, qword [rbp - 0x58]
mov edx, eax
mov r10, qword [rbp - 0x70]
jmp 0x180092904
mov r11, qword [rbp - 0x58]
mov eax, 1
mov r10, qword [rbp - 0x70]
mov edx, eax
mov byte [rbp + 0xd8], r14b
jmp 0x180092904
mov r10, r15
mov qword [rbp - 0x70], r15
mov r13, qword [rbp - 0x18]
mov eax, r15d
mov r11, qword [rbp - 0x58]
sub eax, r13d
sar eax, 8
sub r15b, r13b
mov byte [r13 + 2], r15b
mov r15d, dword [rbp - 0x68]
mov byte [r13 + 1], al
jmp 0x180096502
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x180093c9d
sub r15d, r8d
add dword [rcx], r15d
mov esi, dword [rbp - 0x50]
cmp esi, r10d
mov r10, qword [rbp - 0x70]
setne al
add al, 0x6e
mov byte [r10], al
test rcx, rcx
jne 0x180093ce8
test esi, esi
je 0x180093cd0
lea rcx, [rbp + 0xe0]
mov edx, 0x20
not byte [rcx]
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180093cc4
movups xmm0, xmmword [rbp + 0xe0]
movups xmm1, xmmword [rbp + 0xf0]
movups xmmword [r10 + 1], xmm0
movups xmmword [r10 + 0x11], xmm1
mov r15d, dword [rbp - 0x68]
add r10, 0x21
mov edx, dword [rbp - 0x78]
mov qword [rbp - 0x70], r10
mov eax, dword [rbp - 0x10]
mov ecx, dword [rbp - 0x3c]
mov r14d, dword [rbp - 0x40]
mov rbx, qword [rbp - 0x80]
mov r11, qword [rbp - 0x58]
mov r13, qword [rbp - 0x18]
mov dword [rbp + 0x30], eax
mov dword [rbp], ecx
mov dword [rbp - 8], r14d
jmp 0x180096509
test edx, edx
je case.0x180092c5b.12
or eax, 0xffffffff
inc rbx
mov dword [rbp - 0x50], eax
mov ecx, r8d
mov dword [rbp - 0x60], ecx
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x180093d69
nop word [rax + rax]
cmp al, 0x39
ja 0x180093d69
lea ecx, [rcx + rcx*4]
movzx eax, al
lea ecx, [rcx - 0x18]
inc rbx
lea ecx, [rax + rcx*2]
mov dword [rbp - 0x60], ecx
cmp ecx, 0xffff
jg 0x1800965c2
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x180093d40
cmp al, 0x7d
jne 0x180093d72
mov dword [rbp - 0x50], ecx
jmp 0x180093dbb
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x7d
je 0x180093dbb
mov edx, r8d
mov dword [rbp - 0x50], edx
cmp al, 0x30
jb 0x180093db3
cmp al, 0x39
ja 0x180093db0
lea edx, [rdx + rdx*4]
movzx eax, al
lea edx, [rdx - 0x18]
inc rbx
lea edx, [rax + rdx*2]
mov dword [rbp - 0x50], edx
cmp edx, 0xffff
jg 0x1800965c2
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x180093d87
mov ecx, dword [rbp - 0x60]
cmp edx, ecx
jl 0x1800965cd
cmp dword [rdi], 0
mov qword [rbp - 0x80], rbx
jne 0x1800968c5
mov r13d, dword [rbp - 0x50]
mov esi, 1
jmp 0x180093e04
or eax, 0xffffffff
mov r13d, eax
mov dword [rbp - 0x50], eax
lea esi, [rax + 2]
jmp 0x180093dfe
or eax, 0xffffffff
mov esi, 1
mov ecx, esi
mov dword [rbp - 0x50], eax
mov r13d, eax
jmp 0x180093e01
mov esi, 1
mov r13d, esi
mov dword [rbp - 0x50], esi
mov ecx, r8d
mov dword [rbp - 0x60], ecx
mov rdx, qword [rbp - 0x18]
test rdx, rdx
je 0x1800965f5
test ecx, ecx
mov dword [rbp + 0x20], r8d
mov eax, r14d
mov qword [rbp + 0x18], rdx
cmovne eax, dword [rbp - 0x40]
mov dword [rbp - 0x40], eax
mov r9d, eax
mov dword [rbp + 8], eax
mov eax, r12d
cmovne eax, dword [rbp - 0x38]
mov dword [rbp - 0x38], eax
mov eax, dword [rbp]
cmovne eax, dword [rbp - 0x3c]
mov dword [rbp - 0x3c], eax
mov r10d, eax
mov dword [rbp + 0x28], eax
mov eax, dword [rbp + 0x30]
cmovne eax, dword [rbp - 0x10]
cmp ecx, r13d
mov dword [rbp - 0x10], eax
mov eax, 2
cmove eax, r8d
mov r8, rdx
mov dword [rbp + 0x10], eax
test r15d, r15d
je 0x180093f67
inc rbx
nop dword [rax]
mov rcx, qword [r11 + 0x18]
movzx eax, byte [rbx]
test byte [rax + rcx], 1
je 0x180093e8d
nop dword [rax]
movzx eax, byte [rbx + 1]
inc rbx
test byte [rax + rcx], 1
jne 0x180093e80
cmp al, 0x23
jne 0x180093f50
movzx r8d, byte [rbx + 1]
inc rbx
test r8b, r8b
je 0x180093e70
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r11 + 0xb4]
mov rcx, qword [r11 + 0x38]
test edx, edx
je 0x180093ef5
cmp rbx, rcx
jae 0x180093f1f
mov eax, dword [rbp - 0x64]
lea rdi, [r11 + 0xb8]
mov r8, rcx
mov dword [rsp + 0x20], eax
mov r9, rdi
mov rcx, rbx
call fcn.1800a39c0
mov r11, qword [rbp - 0x58]
test eax, eax
je 0x180093f1f
mov edx, dword [rdi]
movsxd rax, edx
add rbx, rax
jmp 0x180093e70
movsxd rdx, dword [r11 + 0xb8]
sub rcx, rdx
cmp rbx, rcx
ja 0x180093f1f
cmp r8b, byte [r11 + 0xbc]
jne 0x180093f1f
cmp edx, 1
je 0x180093eea
movzx eax, byte [r11 + 0xbd]
cmp byte [rbx + 1], al
je 0x180093eea
inc rbx
cmp dword [rbp - 0x64], 0
je 0x180093f3e
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x180093f3e
movzx eax, byte [rbx + 1]
inc rbx
and al, 0xc0
cmp al, 0x80
je 0x180093f31
movzx r8d, byte [rbx]
test r8b, r8b
jne 0x180093eb0
jmp 0x180093e70
mov r8, qword [rbp + 0x18]
dec rbx
mov r9d, dword [rbp + 8]
mov r10d, dword [rbp + 0x28]
mov rdi, qword [rbp - 0x30]
mov qword [rbp - 0x80], rbx
cmp byte [rbx + 1], 0x28
jne 0x180093fb6
cmp byte [rbx + 2], 0x3f
jne 0x180093fb6
cmp byte [rbx + 3], 0x23
jne 0x180093fb6
add rbx, 4
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
je 0x180092b42
nop dword [rax]
cmp al, 0x29
je 0x180093fad
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x180093f90
mov dword [rdi], 0x12
jmp 0x1800968c5
cmp byte [rbx], 0
je 0x180092b42
movzx ecx, byte [rbx + 1]
lea rax, [rbx + 1]
xor r15d, r15d
cmp cl, 0x2b
jne 0x180093fd9
mov r14d, r15d
mov dword [rbp - 0x1c], r15d
mov dword [rbp + 0x20], esi
mov rbx, rax
mov qword [rbp - 0x80], rax
jmp 0x180093ff9
cmp cl, 0x3f
jne 0x180093fee
mov r14d, dword [rbp + 0x80]
mov rbx, rax
mov qword [rbp - 0x80], rax
jmp 0x180093ff5
mov r14d, dword [rbp + 0x84]
mov dword [rbp - 0x1c], r14d
mov r11, qword [rbp - 0x18]
cmp byte [r11], 0x75
jne 0x1800940a9
lea rcx, [r11 + 3]
mov r8d, 3
mov rdx, r11
call fcn.1800ab630
mov r11, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x70]
add rsi, 6
cmp qword [rbp - 0x28], 0
mov word [r11], 0x81
mov byte [r11 + 2], 6
mov word [r11 + 6], 0x78
mov byte [r11 + 8], 6
mov dword [rbp + 0x40], 9
mov qword [rbp - 0x70], rsi
jne 0x180094097
mov r9, qword [rbp - 0x58]
mov rax, qword [r9 + 0x20]
mov r8, qword [r9 + 0x40]
add rax, 2
cmp r8, rax
jb 0x180094097
movzx eax, byte [r8 - 1]
movzx ecx, byte [r8 - 2]
shl ecx, 8
or ecx, eax
mov rax, r11
sub rax, qword [r9 + 0x28]
inc rax
mov edx, ecx
cmp rdx, rax
jne 0x180094097
lea eax, [rcx + 3]
shr eax, 8
mov byte [r8 - 2], al
add dl, 3
mov rax, qword [r9 + 0x40]
mov byte [rax - 1], dl
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
mov r9d, dword [rbp + 8]
mov r10d, dword [rbp + 0x28]
jmp 0x1800940ad
mov rsi, qword [rbp - 0x70]
movzx edi, byte [r11]
lea eax, [rdi - 0x1d]
cmp al, 3
jbe 0x1800948de
cmp dil, 0x17
jae 0x1800940ee
mov r12d, 0x34
movzx r14d, dil
mov r8d, dword [rbp - 0x64]
mov edx, dword [rbp - 0x60]
sub dil, 0xf
cmp dil, 1
jbe 0x1800949b4
or eax, 0xffffffff
mov r15d, eax
mov esi, eax
jmp 0x1800949be
lea eax, [rdi - 0x6e]
cmp al, 6
jbe 0x180094821
lea eax, [rdi - 0x7d]
cmp al, 0xa
ja 0x1800947df
mov rdx, qword [rbp + 0x48]
mov r12d, esi
sub r12d, r11d
mov rsi, rdx
mov r13, r15
cmp dil, 0x87
jne 0x180094131
cmp byte [r11 + 3], 0x91
mov eax, dword [rbp - 0x3c]
mov ecx, dword [rbp - 0x40]
mov dword [rbp - 0x3c], eax
mov dword [rbp - 0x40], ecx
je 0x1800947f5
mov eax, dword [rbp - 0x60]
cmp dil, 0x81
jae 0x18009415d
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x40], r9d
test eax, eax
jg 0x1800947f5
mov edi, dword [rbp - 0x50]
mov ecx, 1
cmp edi, 1
cmova edi, ecx
mov dword [rbp - 0x50], edi
jmp 0x180094160
mov edi, dword [rbp - 0x50]
test eax, eax
jne 0x180094244
mov r9, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x64]
mov qword [rsp + 0x20], rdx
cmp edi, 1
jg 0x1800941db
mov rcx, qword [rbp - 0x70]
lea edx, [rax + 1]
mov byte [rcx], al
mov rcx, r11
call fcn.180090dc0
mov r15, qword [rbp - 0x18]
movsxd r8, r12d
mov rdx, r15
lea rbx, [r15 + 1]
mov rcx, rbx
call fcn.1800ab630
mov r10, qword [rbp - 0x70]
inc r10
mov qword [rbp - 0x70], r10
test edi, edi
jne 0x1800941cb
mov eax, dword [rbp + 0x28]
mov r9d, dword [rbp + 8]
mov byte [r15], 0xa1
mov rbx, qword [rbp - 0x80]
mov dword [rbp - 0x3c], eax
mov dword [rbp - 0x40], r9d
jmp 0x1800947f9
mov rcx, qword [rbp - 0x18]
lea eax, [r14 - 0x6e]
mov qword [rbp - 0x18], rbx
mov byte [rcx], al
jmp 0x180094229
mov r13, qword [rbp - 0x70]
mov edx, 4
mov rcx, r11
mov byte [r13], 0
call fcn.180090dc0
mov rbx, qword [rbp - 0x18]
movsxd r8, r12d
mov rdx, rbx
lea rcx, [rbx + 4]
call fcn.1800ab630
add r13, 4
lea eax, [r14 - 0x6e]
mov byte [rbx], al
mov qword [rbp - 0x70], r13
lea r13, [rbx + 2]
lea rax, [r13 + 2]
mov byte [rbx + 1], 0x83
mov qword [rbp - 0x18], rax
mov word [r13], 0
mov edx, dword [rbp + 0x28]
dec edi
mov ecx, dword [rbp + 8]
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
mov dword [rbp - 0x3c], edx
mov dword [rbp - 0x40], ecx
jmp 0x1800943d9
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x40], r9d
cmp eax, 1
jle 0x1800943cf
mov r14, qword [rbp - 0x28]
test r14, r14
je 0x1800942a6
lea ecx, [rax - 1]
movsxd rax, dword [rbp + 0x40]
mov edx, ecx
movsxd rcx, ecx
imul rcx, rax
imul edx, eax
cmp rcx, 0x7fffffff
jg 0x1800965d7
mov ecx, dword [r14]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x1800965d7
lea eax, [rcx + rdx]
mov dword [rbp - 0x3c], r10d
mov dword [r14], eax
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x40], r9d
jmp 0x1800943cf
cmp dword [rbp + 0x64], 0
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x40], r9d
je 0x1800942cd
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x40], r9d
test r9d, r9d
jns 0x1800942cd
mov ecx, dword [rbp - 0x10]
mov dword [rbp - 0x3c], ecx
mov ecx, dword [rbp - 0x38]
mov dword [rbp - 0x40], ecx
mov ecx, 1
mov edi, ecx
cmp eax, ecx
jle 0x1800943cc
mov r8, qword [rbp - 0x58]
movsxd r14, r12d
mov rcx, qword [r8 + 0x20]
nop word [rax + rax]
mov rbx, qword [r8 + 0x40]
mov rdx, r11
sub rbx, rcx
mov r8, r14
mov rcx, qword [rbp - 0x70]
call fcn.1800ab630
mov r8, qword [rbp - 0x58]
movsxd rax, dword [r8 + 0x6c]
mov rcx, qword [r8 + 0x20]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rsi
cmp qword [r8 + 0x40], rax
jbe 0x18009435a
mov rcx, r8
call fcn.180097770
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
test eax, eax
jne 0x18009320d
mov r8, qword [rbp - 0x58]
movsxd rax, dword [r8 + 0x6c]
mov rcx, qword [r8 + 0x20]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rsi
cmp qword [r8 + 0x40], rax
ja 0x180094325
lea rdx, [rsi + rcx]
lea rax, [rbx + rcx]
cmp rdx, rax
jae 0x1800943ac
nop word [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
mov rax, qword [r8 + 0x40]
add ecx, r12d
sar ecx, 8
mov byte [rax], cl
movzx ecx, r12b
add cl, byte [rdx + 1]
add rdx, 2
mov rax, qword [r8 + 0x40]
mov byte [rax + 1], cl
add qword [r8 + 0x40], 2
mov rcx, qword [r8 + 0x20]
lea rax, [rcx + rbx]
cmp rdx, rax
jb 0x180094370
add qword [rbp - 0x70], r14
inc edi
mov eax, dword [rbp - 0x60]
mov rsi, rbx
mov r11, qword [rbp - 0x18]
cmp edi, eax
jl 0x1800942f0
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
mov edi, dword [rbp - 0x50]
mov r14d, dword [rbp - 0x1c]
test edi, edi
jle 0x1800943db
sub edi, eax
test edi, edi
js 0x180094659
mov r9, qword [rbp - 0x28]
test r9, r9
je 0x180094472
test edi, edi
jle 0x180094472
mov eax, dword [rbp + 0x40]
add eax, 7
mov edx, eax
movsxd rcx, eax
imul edx, edi
movsxd rax, edi
imul rcx, rax
sub edx, 6
cmp rcx, 0x7fffffff
jg 0x1800965d7
mov ecx, dword [r9]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x1800965d7
lea eax, [rcx + rdx]
mov dword [r9], eax
mov r10, qword [rbp - 0x70]
test r13, r13
je 0x180094619
mov eax, r10d
mov rdx, r10
sub eax, r13d
lea r9d, [rax + 1]
cdqe
sub rdx, rax
movzx ecx, byte [rdx]
movzx r8d, byte [rdx + 1]
mov eax, ecx
shl eax, 8
or eax, r8d
jne 0x1800945de
xor eax, eax
mov r13d, eax
jmp 0x1800945e8
sub edi, 1
js 0x180094433
mov rax, qword [rbp - 0x58]
sub r14b, 0x6e
mov r10, qword [rbp - 0x70]
mov dword [rbp - 0x1c], r14d
mov r15d, dword [rbp - 0x1c]
mov rdx, qword [rax + 0x40]
mov rcx, qword [rax + 0x20]
movsxd r14, r12d
nop word [rax + rax]
sub rdx, rcx
mov byte [r10], r15b
inc r10
mov rbx, rdx
mov qword [rbp - 0x70], r10
test edi, edi
je 0x1800944e1
mov byte [r10], 0x83
lea rdx, [r10 + 1]
test r13, r13
jne 0x1800944c7
xor eax, eax
mov ecx, eax
jmp 0x1800944cc
mov ecx, edx
sub ecx, r13d
mov eax, ecx
mov byte [rdx + 1], cl
sar eax, 8
lea r10, [rdx + 2]
mov byte [rdx], al
mov r13, rdx
mov qword [rbp - 0x70], r10
mov rdx, qword [rbp - 0x18]
mov r8, r14
mov rcx, r10
call fcn.1800ab630
mov r11, qword [rbp - 0x58]
movsxd rax, dword [r11 + 0x6c]
mov rcx, qword [r11 + 0x20]
sub rax, rbx
mov rdx, qword [r11 + 0x40]
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rsi
cmp rdx, rax
jbe 0x18009454a
mov rcx, r11
call fcn.180097770
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
test eax, eax
jne 0x18009320d
mov r11, qword [rbp - 0x58]
movsxd rax, dword [r11 + 0x6c]
mov rcx, qword [r11 + 0x20]
sub rax, rbx
mov rdx, qword [r11 + 0x40]
add rax, 0xffffffffffffff9c
add rax, rcx
add rax, rsi
cmp rdx, rax
ja 0x180094512
lea r8, [rsi + rcx]
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x1800945ba
mov eax, 1
test edi, edi
mov ecx, 4
mov r9d, eax
mov r10d, eax
cmovne r9d, ecx
cmovne r10d, ecx
movzx ecx, byte [r8]
movzx eax, byte [r8 + 1]
shl ecx, 8
or ecx, eax
mov rax, qword [r11 + 0x40]
add ecx, r9d
add ecx, r12d
sar ecx, 8
mov byte [rax], cl
lea ecx, [r10 + r12]
add cl, byte [r8 + 1]
add r8, 2
mov rax, qword [r11 + 0x40]
mov byte [rax + 1], cl
mov rdx, qword [r11 + 0x40]
add rdx, 2
mov qword [r11 + 0x40], rdx
mov rcx, qword [r11 + 0x20]
lea rax, [rcx + rbx]
cmp r8, rax
jb 0x180094571
mov r10, qword [rbp - 0x70]
mov rsi, rbx
add r10, r14
sub edi, 1
mov qword [rbp - 0x70], r10
jns 0x1800944a0
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
jmp 0x180094437
shl rcx, 8
or rcx, r8
sub r13, rcx
mov byte [r10], 0x78
mov eax, r9d
sar eax, 8
mov byte [r10 + 1], al
mov byte [r10 + 2], r9b
add r10, 3
mov byte [rdx], al
mov byte [rdx + 1], r9b
test r13, r13
jne 0x180094440
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
mov qword [rbp - 0x70], r10
mov r10, qword [rbp - 0x70]
xor r9d, r9d
cmp dword [rbp + 0x20], 0
je 0x1800947f9
movzx edx, byte [r8]
lea r11, [0x180000000]
lea eax, [rdx - 0x1d]
cmp eax, 0x53
ja case.0x180094657.33
cdqe
movzx eax, byte [r11 + rax + 0x969fc]
mov ecx, dword [r11 + rax*4 + 0x969e8]
add rcx, r11
jmp rcx
mov r10, qword [rbp - 0x70]
movzx eax, byte [r10 - 1]
lea rdi, [r10 - 3]
movzx ecx, byte [rdi + 1]
mov rsi, rdi
mov r12d, dword [rbp + 0x20]
shl rcx, 8
or rcx, rax
sub rsi, rcx
movzx ecx, byte [rsi]
lea eax, [rcx + 0x7f]
cmp al, 1
ja 0x18009468f
test r12d, r12d
je 0x18009468f
mov byte [rsi], 0x83
jmp 0x18009469b
add cl, 0x7f
cmp cl, 1
jbe 0x1800947cb
cmp qword [rbp - 0x28], 0
mov r13, qword [rbp - 0x58]
jne 0x1800946ed
mov rbx, rsi
nop dword [rax]
mov r8d, dword [rbp - 0x64]
xor eax, eax
mov r9, r13
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rbx
call fcn.180097080
test eax, eax
jne 0x1800946e6
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x77
je 0x1800946b0
jmp 0x1800946e9
add byte [rsi], 5
mov r10, qword [rbp - 0x70]
cmp byte [rsi], 0x87
jne 0x18009470a
movzx ecx, byte [rsi + 1]
movzx eax, byte [rsi + 2]
shl rcx, 8
or rcx, rax
cmp byte [rcx + rsi], 0x77
je 0x18009470a
mov byte [rsi], 0x8c
test r12d, r12d
je 0x1800947be
movzx eax, byte [rsi]
cmp al, 0x87
je 0x180094727
cmp al, 0x8c
je 0x180094727
inc al
mov byte [rsi], al
mov byte [rdi], 0x7b
jmp 0x180094795
mov rax, qword [rbp + 0x48]
mov ebx, r10d
mov r8d, dword [rbp - 0x64]
mov r9, r13
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov byte [r10], 0
sub ebx, esi
call fcn.180090dc0
movsxd r8, ebx
lea rcx, [rsi + 3]
mov rdx, rsi
call fcn.1800ab630
mov r10, qword [rbp - 0x70]
add ebx, 3
cmp byte [rsi], 0x87
mov eax, 0x89
mov ecx, 0x84
cmove eax, ecx
mov byte [rsi], al
mov eax, ebx
mov byte [r10 + 3], 0x7b
sar eax, 8
mov byte [r10 + 4], al
mov byte [r10 + 5], bl
add r10, 6
mov qword [rbp - 0x70], r10
mov byte [rsi + 1], al
mov byte [rsi + 2], bl
test r15, r15
je 0x18009479e
mov byte [r15], 0x94
mov ecx, dword [rbp - 0x60]
xor r9d, r9d
mov rbx, qword [rbp - 0x80]
cmp ecx, 2
mov r8, qword [rbp + 0x18]
mov eax, r9d
cmovge eax, r12d
mov dword [rbp + 0x20], eax
jmp 0x180094620
add r14b, 0x79
mov byte [rdi], r14b
mov rbx, qword [rbp - 0x80]
jmp 0x1800947f9
add r14b, 0x79
mov byte [rdi], r14b
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
jmp 0x18009461d
cmp dil, 0x9d
jne 0x1800965e6
mov edi, dword [rbp - 0x3c]
mov ecx, dword [rbp - 0x40]
mov dword [rbp - 0x3c], edi
mov dword [rbp - 0x40], ecx
mov r10, qword [rbp - 0x70]
mov r11, qword [rbp - 0x58]
xor eax, eax
mov r12d, dword [rbp - 0x20]
mov r13d, eax
mov r14d, dword [rbp - 8]
mov r15d, dword [rbp - 0x68]
mov qword [rbp - 0x18], rax
mov eax, dword [rbp + 0x10]
or dword [r11 + 0x98], eax
jmp 0x180096506
test r13d, r13d
jne 0x18009483b
mov edi, dword [rbp - 0x3c]
mov r10, r11
mov ecx, dword [rbp - 0x40]
mov dword [rbp - 0x3c], edi
mov dword [rbp - 0x40], ecx
mov qword [rbp - 0x70], r11
jmp 0x1800947f9
mov ecx, dword [rbp - 0x60]
test ecx, ecx
jne 0x180094858
cmp r13d, 0xffffffff
jne 0x180094877
mov r10, qword [rbp - 0x70]
add r14b, 0x62
mov byte [r10], r14b
inc r10
jmp 0x1800948c1
cmp ecx, 1
jne 0x180094873
cmp r13d, 0xffffffff
jne 0x18009488d
mov r10, qword [rbp - 0x70]
add r14b, 0x64
mov byte [r10], r14b
inc r10
jmp 0x1800948c1
test ecx, ecx
jne 0x18009488d
cmp r13d, 1
jne 0x18009488d
mov r10, qword [rbp - 0x70]
add r14b, 0x66
mov byte [r10], r14b
inc r10
jmp 0x1800948c1
mov r10, qword [rbp - 0x70]
mov eax, ecx
sar eax, 8
add r14b, 0x68
cmp r13d, 0xffffffff
mov byte [r10], r14b
mov byte [r10 + 2], cl
mov ecx, r15d
mov byte [r10 + 1], al
cmovne ecx, r13d
mov eax, ecx
mov byte [r10 + 4], cl
sar eax, 8
mov byte [r10 + 3], al
add r10, 5
mov edi, dword [rbp - 0x3c]
mov ecx, dword [rbp - 0x40]
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
mov dword [rbp - 0x3c], edi
mov dword [rbp - 0x40], ecx
mov qword [rbp - 0x70], r10
jmp 0x18009461d
movzx ecx, dil
sub ecx, 0x1e
je 0x180094906
sub ecx, 1
je 0x1800948fe
cmp ecx, 1
je 0x1800948f6
mov r12d, r15d
jmp 0x18009490c
mov r12d, 0x27
jmp 0x18009490c
mov r12d, 0x1a
jmp 0x18009490c
mov r12d, 0xd
mov r8d, dword [rbp - 0x64]
test r8d, r8d
je 0x18009496c
movzx eax, byte [rsi - 1]
lea rdx, [rsi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x18009496c
movzx eax, byte [rdx]
and al, 0xc0
cmp al, 0x80
jne 0x18009493d
nop dword [rax]
movzx eax, byte [rdx - 1]
dec rdx
and al, 0xc0
cmp al, 0x80
je 0x180094930
mov r14d, esi
lea rcx, [rbp + 0x100]
sub r14d, edx
mov r8d, r14d
call fcn.1800ab630
mov ecx, dword [rbp - 0x3c]
bts r14d, 0x1c
mov eax, dword [rbp - 0x40]
mov r11, qword [rbp - 0x18]
mov dword [rbp - 0x3c], ecx
mov dword [rbp - 0x40], eax
jmp 0x1800940cc
mov ecx, dword [rbp - 0x3c]
mov eax, dword [rbp - 0x40]
movzx r14d, byte [rsi - 1]
mov dword [rbp - 0x3c], ecx
mov dword [rbp - 0x40], eax
cmp dil, 0x1e
ja 0x1800940d0
mov edx, dword [rbp - 0x60]
mov dword [rbp - 0x3c], r10d
mov dword [rbp - 0x40], r9d
cmp edx, 1
jle 0x1800940d3
mov rax, qword [rbp - 0x58]
mov dword [rbp - 0x3c], r14d
mov eax, dword [rax + 0x98]
or eax, dword [rbp + 0x44]
mov dword [rbp - 0x40], eax
jmp 0x1800940d3
movzx esi, byte [r11 + 1]
movzx r15d, byte [r11 + 2]
mov rcx, qword [rbp - 0x70]
mov r10, r11
mov qword [rbp - 0x70], r11
test r13d, r13d
je 0x1800947f9
mov edi, dword [rbp - 0x1c]
add edi, r12d
test edx, edx
jne 0x180094a26
cmp r13d, 0xffffffff
jne 0x1800949f2
add dil, 0x21
lea r10, [r11 + 1]
mov byte [r11], dil
jmp 0x180094b71
cmp r13d, 1
jne 0x180094a08
add dil, 0x25
lea r10, [r11 + 1]
mov byte [r11], dil
jmp 0x180094b71
add dil, 0x27
lea r10, [r11 + 3]
mov byte [r11], dil
mov eax, r13d
sar eax, 8
mov byte [r11 + 1], al
mov byte [r11 + 2], r13b
jmp 0x180094b71
cmp edx, 1
jne 0x180094a73
cmp r13d, 0xffffffff
jne 0x180094a41
add dil, 0x23
lea r10, [r11 + 1]
mov byte [r11], dil
jmp 0x180094b71
mov qword [rbp - 0x70], rcx
mov r10, rcx
cmp r13d, 1
je 0x1800947f9
lea eax, [r13 - 1]
add dil, 0x27
sar eax, 8
lea r10, [rcx + 3]
mov byte [rcx], dil
dec r13b
mov byte [rcx + 2], r13b
mov byte [rcx + 1], al
jmp 0x180094b71
add r12b, 0x29
lea r10, [r11 + 3]
mov byte [r11], r12b
mov eax, edx
sar eax, 8
mov byte [r11 + 1], al
mov byte [r11 + 2], dl
mov qword [rbp - 0x70], r10
test r13d, r13d
jns 0x180094af3
test r8d, r8d
je 0x180094ad2
bt r14d, 0x1c
jae 0x180094ad2
mov ebx, r14d
lea rdx, [rbp + 0x100]
and ebx, 7
mov rcx, r10
mov r8d, ebx
call fcn.1800ab630
mov r10, qword [rbp - 0x70]
add dil, 0x21
mov r8d, dword [rbp - 0x64]
add r10, rbx
mov byte [r10], dil
inc r10
jmp 0x180094b71
mov byte [r10], r14b
inc r10
test esi, esi
js 0x180094ae7
mov byte [r10], sil
mov byte [r10 + 1], r15b
add r10, 2
add dil, 0x21
mov byte [r10], dil
inc r10
jmp 0x180094b71
cmp r13d, edx
je 0x180094b75
test r8d, r8d
je 0x180094b29
bt r14d, 0x1c
jae 0x180094b29
mov ebx, r14d
lea rdx, [rbp + 0x100]
and ebx, 7
mov rcx, r10
mov r8d, ebx
call fcn.1800ab630
mov edx, dword [rbp - 0x60]
mov r10, qword [rbp - 0x70]
mov r8d, dword [rbp - 0x64]
jmp 0x180094b31
mov byte [r10], r14b
mov ebx, 1
add r10, rbx
test esi, esi
js 0x180094b43
mov byte [r10], sil
mov byte [r10 + 1], r15b
add r10, 2
sub r13d, edx
cmp r13d, 1
jne 0x180094b58
add dil, 0x25
mov byte [r10], dil
inc r10
jmp 0x180094b71
add dil, 0x27
mov eax, r13d
mov byte [r10], dil
sar eax, 8
mov byte [r10 + 1], al
mov byte [r10 + 2], r13b
add r10, 3
mov qword [rbp - 0x70], r10
test r8d, r8d
je 0x180094bb1
bt r14d, 0x1c
jae 0x180094bb1
mov ebx, r14d
lea rdx, [rbp + 0x100]
and ebx, 7
mov rcx, r10
mov r8d, ebx
call fcn.1800ab630
mov r10, qword [rbp - 0x70]
mov r8, qword [rbp + 0x18]
add r10, rbx
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x70], r10
jmp 0x18009461d
mov byte [r10], r14b
inc r10
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp + 0x18]
mov qword [rbp - 0x70], r10
jmp 0x18009461d
movzx eax, byte [r8 + 3]
mov ecx, 2
sub al, 0xf
cmp al, 1
movzx eax, byte [rdx + r11 + 0xe6ff0]
cmova rcx, r9
add rax, rcx
add r8, rax
jmp 0x180094c3d
movzx eax, byte [rdx + r11 + 0xe6ff0]
mov edx, dword [rbp - 0x64]
add r8, rax
mov qword [rbp + 0x18], r8
test edx, edx
je 0x180094c44
movzx eax, byte [r8 - 1]
cmp al, 0xc0
jb 0x180094c44
movzx eax, al
and eax, 0x3f
movzx eax, byte [rax + r11 + 0xe6fb0]
add r8, rax
mov qword [rbp + 0x18], r8
jmp 0x180094c44
add r8, 0x21
jmp 0x180094c3d
movzx ecx, byte [r8 + 1]
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
add r8, rcx
mov qword [rbp + 0x18], r8
mov edx, dword [rbp - 0x64]
mov edi, r10d
sub edi, r8d
test edi, edi
jle 0x1800947f9
movzx eax, byte [r8]
cmp al, 0x76
jae 0x180094c76
movzx eax, al
movzx ecx, byte [rax + r11 + 0xe6de0]
test cl, cl
je 0x180094c76
mov byte [r8], cl
mov rbx, qword [rbp - 0x80]
jmp 0x1800947f9
mov rax, qword [rbp + 0x48]
mov r8d, edx
mov r9, qword [rbp - 0x58]
mov edx, 3
mov byte [r10], 0
mov rcx, qword [rbp + 0x18]
mov qword [rsp + 0x20], rax
call fcn.180090dc0
mov rdx, qword [rbp + 0x18]
movsxd r8, edi
lea rcx, [rdx + 3]
call fcn.1800ab630
mov rax, qword [rbp + 0x18]
add edi, 3
mov r10, qword [rbp - 0x70]
mov ecx, edi
sar ecx, 8
mov byte [rax], 0x81
mov byte [r10 + 3], 0x78
mov byte [r10 + 4], cl
mov byte [r10 + 5], dil
add r10, 6
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x70], r10
mov byte [rax + 1], cl
mov rax, qword [rbp + 0x18]
mov byte [rax + 2], dil
mov rbx, qword [rbp - 0x80]
jmp 0x1800947f9
inc rbx
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
cmp dl, 0x2a
jne 0x180094f5c
movzx eax, byte [rbx + 1]
cmp al, 0x3a
je 0x180094d14
movzx ecx, al
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 2
je 0x180094f5c
mov rcx, qword [r11 + 0x18]
lea r14, [0x1800e5bc0]
inc rbx
mov qword [rbp + 0x10], r8
mov qword [rbp - 0x80], rbx
mov r15d, r8d
mov r13, rbx
mov qword [rbp - 0x18], r8
movzx eax, byte [rbx]
test byte [rax + rcx], 2
je 0x180094d50
nop dword [rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 2
jne 0x180094d40
mov esi, ebx
sub esi, r13d
cmp byte [rbx], 0x3a
jne 0x180094d95
inc rbx
mov qword [rbp - 0x80], rbx
mov rdx, rbx
mov qword [rbp + 0x10], rbx
movzx eax, byte [rbx]
test al, al
je 0x180094d82
nop
cmp al, 0x29
je 0x180094d82
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x180094d70
mov r15d, ebx
sub r15d, edx
cmp r15d, 0xff
ja 0x180096600
cmp byte [rbx], 0x29
jne 0x180096640
mov r12d, r8d
lea rbx, [0x1800e5bf0]
mov rdi, r8
nop dword [rax + rax]
cmp esi, dword [rbx]
jne 0x180094dc6
movsxd r8, esi
mov rdx, r14
mov rcx, r13
call fcn.1800af0b0
test eax, eax
je 0x180094dea
mov eax, dword [rbx]
inc r12d
inc eax
inc rdi
cdqe
add rbx, 0xc
add r14, rax
lea rax, [0x1800e5c5c]
cmp rbx, rax
jl 0x180094db0
jmp 0x180094f31
lea rax, [rdi + rdi*2]
lea rcx, [rax*4]
lea rdx, [0x1800e5bf0]
mov eax, dword [rcx + rdx + 4]
cmp eax, 0x9e
jne 0x180094e98
test r15d, r15d
jne 0x18009660b
mov rdx, qword [rbp - 0x58]
mov r8d, 1
mov rcx, qword [rdx + 0x48]
mov dword [rdx + 0x9c], r8d
test rcx, rcx
je 0x180094e6a
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x180094e41
add dword [rax], 3
jmp 0x180094e5a
mov byte [rdx], 0xa0
movzx eax, byte [rcx + 9]
mov byte [rdx + 1], al
movzx eax, byte [rcx + 8]
mov byte [rdx + 2], al
add rdx, 3
mov rax, qword [rbp - 0x28]
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180094e37
mov qword [rbp - 0x70], rdx
mov rdx, qword [rbp - 0x58]
cmp dword [rdx + 0x8c], 0
mov r9d, 0xffffffff
mov rcx, qword [rbp - 0x70]
setg al
add al, 0x9e
mov byte [rcx], al
inc rcx
mov qword [rbp - 0x70], rcx
mov ecx, dword [rbp - 0x38]
cmp ecx, 0xfffffffe
cmove ecx, r9d
mov dword [rbp - 0x38], ecx
jmp 0x180094f12
test r15d, r15d
jne 0x180094eb4
test eax, eax
js 0x18009661e
mov rcx, qword [rbp - 0x70]
mov byte [rcx], al
inc rcx
mov qword [rbp - 0x70], rcx
jmp 0x180094f08
mov esi, dword [rcx + rdx + 8]
test esi, esi
js 0x18009660b
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x28]
mov byte [rax], sil
lea rdi, [rax + 2]
test rcx, rcx
je 0x180094ee0
add dword [rcx], r15d
mov byte [rax + 1], 0
mov rax, rdi
jmp 0x180094efa
mov rdx, qword [rbp + 0x10]
mov rcx, rdi
movsxd rbx, r15d
mov r8, rbx
mov byte [rax + 1], r15b
call fcn.1800ab630
lea rax, [rbx + rdi]
mov byte [rax], 0
inc rax
mov qword [rbp - 0x70], rax
movzx eax, sil
mov rdx, qword [rbp - 0x58]
mov r8d, 1
cmp al, 0x96
jb 0x180094f31
cmp al, 0x99
jbe 0x180094f2a
cmp al, 0x9b
ja 0x180094f31
or dword [rdx + 0x94], 0x1000
jmp 0x180094f31
mov dword [rdx + 0xa0], r8d
mov rbx, qword [rbp - 0x80]
cmp r12d, 9
jge 0x180096631
mov r12d, dword [rbp - 0x20]
mov r14d, dword [rbp - 8]
mov r11, qword [rbp - 0x58]
mov r13, qword [rbp - 0x18]
mov r10, qword [rbp - 0x70]
mov r15d, dword [rbp - 0x68]
jmp 0x180096506
mov rsi, qword [r11 + 0x40]
mov r13d, r8d
sub rsi, qword [r11 + 0x20]
mov r15d, dword [rbp - 0x68]
mov dword [rbp - 0x50], r15d
mov dword [rbp - 0x1c], 0x85
mov qword [rbp + 0x48], rsi
mov dword [rbp - 0x60], r8d
cmp dl, 0x3f
jne 0x1800958bb
inc rbx
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
movzx r8d, dl
lea eax, [rdx - 0x21]
cmp eax, 0x5b
ja case.0x180094fbc.46
lea rsi, [0x180000000]
cdqe
movzx eax, byte [rsi + rax + 0x96a88]
mov ecx, dword [rsi + rax*4 + 0x96a50]
add rcx, rsi
jmp rcx
mov ecx, 1
mov dword [rbp - 0x60], ecx
mov dword [r11 + 0xac], ecx
inc rbx
mov esi, 0x83
mov qword [rbp - 0x80], rbx
mov r10d, r15d
jmp 0x180095438
cmp byte [rbx + 1], 0x3f
mov esi, 0x87
mov dword [rbp - 0x1c], esi
mov rax, rbx
mov r8d, 3
jne 0x18009503c
cmp byte [rbx + 2], 0x43
jne 0x18009503c
movzx eax, byte [rbx + 3]
mov edx, r8d
mov ecx, r8d
cmp al, 0x30
jb 0x180095022
nop dword [rax]
cmp al, 0x39
ja 0x180095022
movzx eax, byte [rcx + rbx + 1]
inc rcx
inc edx
cmp al, 0x30
jae 0x180095010
cmp byte [rcx + rbx], 0x29
mov rax, rbx
jne 0x180095033
lea eax, [rdx + 1]
cdqe
add rax, rbx
cmp byte [rax], 0x28
jne 0x18009664b
cmp byte [rax + 1], 0x3f
jne 0x18009507a
movzx ecx, byte [rax + 2]
cmp cl, 0x3d
je 0x180095063
cmp cl, 0x21
je 0x180095063
cmp cl, 0x3c
jne 0x18009507a
movzx ecx, byte [rax + 3]
cmp cl, 0x3d
je 0x180095063
cmp cl, 0x21
jne 0x18009507a
mov eax, 1
mov r10d, r15d
mov dword [r11 + 0xb0], eax
mov r9d, r13d
jmp 0x18009543c
or r15d, 0xffffffff
mov byte [r10 + 3], 0x8d
mov rbx, qword [rbp - 0x80]
xor eax, eax
inc rbx
mov r14d, r15d
mov qword [rbp - 0x80], rbx
mov r13d, r8d
mov r9d, r15d
mov qword [rbp - 0x18], r14
mov ecx, r15d
mov r12d, eax
movzx edx, byte [rbx]
mov r8d, eax
cmp dl, 0x52
jne 0x1800950c7
cmp byte [rbx + 1], 0x26
jne 0x1800950c7
add rbx, 2
mov qword [rbp - 0x80], rbx
mov byte [r10 + 3], 0x8f
mov rbx, qword [rbp - 0x80]
jmp 0x1800950dd
cmp dl, 0x3c
jne 0x18009517a
mov r15d, 0x3e
inc rbx
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
cmp dl, 0x30
jb 0x1800950ee
cmp dl, 0x39
jbe 0x180096656
mov rcx, qword [r11 + 0x18]
movzx eax, dl
test byte [rax + rcx], 0x10
je 0x18009664b
mov r12, rbx
inc rbx
mov qword [rbp - 0x80], rbx
mov r14d, ebx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
je 0x180095133
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
mov r14, rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x180095120
mov rcx, qword [rbp - 0x28]
sub r14d, r12d
test rcx, rcx
mov qword [rbp - 0x18], r14
mov r13d, 5
mov eax, 3
cmove r13d, eax
test r15d, r15d
jle 0x1800951f2
movzx eax, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
cmp al, r15b
je 0x1800951f2
dec rbx
mov dword [rdi], 0x1a
jmp 0x1800968c5
cmp dl, 0x27
jne 0x18009518a
mov r15d, 0x27
jmp 0x1800950d6
mov r15d, eax
lea eax, [rdx - 0x2b]
test al, 0xfd
je 0x1800951ad
cmp dl, 0x30
jb 0x1800950ee
cmp dl, 0x39
ja 0x1800950dd
xor eax, eax
mov r9d, eax
jmp 0x1800951b8
inc rbx
movzx r9d, dl
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x1800951ee
nop
cmp al, 0x39
ja 0x1800951ee
cmp r8d, 0xccccccb
jg 0x180096661
inc rbx
movzx eax, al
lea r8d, [r8 + r8*4]
mov qword [rbp - 0x80], rbx
lea r8d, [r8 - 0x18]
lea r8d, [rax + r8*2]
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x1800951c0
mov rcx, qword [rbp - 0x28]
movzx eax, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
cmp al, 0x29
jne 0x18009516c
test rcx, rcx
jne 0x180095434
test r9d, r9d
js 0x18009527d
test r8d, r8d
jle 0x180096685
test r9d, r9d
je 0x180095236
mov eax, dword [r11 + 0x70]
cmp r9d, 0x2d
jne 0x180095233
sub eax, r8d
lea r8d, [rax + 1]
jmp 0x180095236
add r8d, eax
test r8d, r8d
jle 0x180095a86
cmp r8d, dword [r11 + 0x74]
jg 0x180095a86
mov r9d, dword [rbp - 0x60]
mov eax, r8d
mov rdx, qword [rbp - 0x70]
xor r12d, r12d
mov byte [r10 + 5], r8b
sar eax, 8
mov byte [r10 + 4], al
mov rbx, qword [rbp - 0x80]
mov r10d, dword [rbp - 0x50]
cmp r8d, dword [r11 + 0x7c]
jle 0x180095443
mov dword [r11 + 0x7c], r8d
jmp 0x180095443
mov rax, qword [r11 + 0x58]
xor edx, edx
mov edi, edx
mov qword [rbp + 0x58], rax
movsxd rsi, r14d
cmp dword [r11 + 0x60], edx
jle 0x1800952e9
mov r14, rax
nop word [rax + rax]
lea rdx, [r14 + 2]
mov r8, rsi
mov rcx, r12
call fcn.1800af0b0
test eax, eax
jne 0x1800952ba
cmp byte [r14 + rsi + 2], al
je 0x1800952d3
mov r11, qword [rbp - 0x58]
inc edi
movsxd rax, dword [r11 + 0x64]
add r14, rax
mov qword [rbp + 0x58], r14
cmp edi, dword [r11 + 0x60]
jl 0x1800952a0
jmp 0x1800952d7
mov r11, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x80]
xor edx, edx
mov r14, qword [rbp - 0x18]
mov r10, qword [rbp - 0x70]
mov rax, qword [rbp + 0x58]
mov ecx, dword [r11 + 0x60]
cmp edi, ecx
jge 0x1800953b8
movzx r14d, byte [rax + 1]
mov ebx, 1
movzx eax, byte [rax]
shl eax, 8
mov dword [rbp + 0x10], edi
or r14d, eax
inc edi
cmp r14d, dword [r11 + 0x7c]
jle 0x180095317
mov dword [r11 + 0x7c], r14d
cmp edi, ecx
jge 0x180095393
mov r15, qword [rbp + 0x58]
nop
movsxd rax, dword [r11 + 0x64]
mov r8, rsi
add r15, rax
mov rcx, r12
lea rdx, [r15 + 2]
call fcn.1800af0b0
test eax, eax
jne 0x18009534f
cmp byte [r15 + rsi + 2], al
jne 0x18009534f
mov r11, qword [rbp - 0x58]
inc ebx
inc edi
cmp edi, dword [r11 + 0x60]
jl 0x180095320
mov qword [rbp + 0x58], r15
mov r15d, dword [rbp + 0x10]
cmp ebx, 1
jle 0x180095393
mov rdx, qword [rbp - 0x70]
mov eax, r15d
mov r10d, dword [rbp - 0x50]
add r13d, 2
mov esi, dword [rbp - 0x1c]
mov r9d, dword [rbp - 0x60]
sar eax, 8
mov byte [rdx + 4], al
mov eax, ebx
sar eax, 8
inc byte [rdx + 3]
mov byte [rdx + 6], al
mov byte [rdx + 5], r15b
mov byte [rdx + 7], bl
mov rbx, qword [rbp - 0x80]
jmp 0x180095440
mov rdx, qword [rbp - 0x70]
mov eax, r14d
mov r10d, dword [rbp - 0x50]
mov esi, dword [rbp - 0x1c]
mov r9d, dword [rbp - 0x60]
shr eax, 8
mov byte [rdx + 4], al
mov byte [rdx + 5], r14b
mov rbx, qword [rbp - 0x80]
jmp 0x180095440
test r15d, r15d
jne 0x1800966a3
cmp byte [r12], 0x52
jne 0x18009548e
mov eax, 1
mov ecx, edx
mov edx, eax
cmp rax, rsi
jge 0x180095416
nop word [rax + rax]
movzx r8d, byte [r12 + rdx]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x1800966a3
cmp ecx, 0xccccccb
jg 0x180096690
lea ecx, [rcx + rcx*4]
movzx eax, r8b
inc rdx
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
cmp rdx, rsi
jl 0x1800953e0
test ecx, ecx
jne 0x18009541b
mov ecx, 0xffff
mov eax, ecx
mov byte [r10 + 3], 0x8f
sar eax, 8
mov byte [r10 + 4], al
mov byte [r10 + 5], cl
mov rbx, qword [rbp - 0x80]
mov esi, dword [rbp - 0x1c]
mov r10d, dword [rbp - 0x50]
mov r9d, dword [rbp - 0x60]
mov rdx, qword [rbp - 0x70]
xor r12d, r12d
mov r11, qword [rbp - 0x58]
mov ecx, dword [r11 + 0x88]
lea eax, [rcx + 1]
mov dword [r11 + 0x88], eax
cmp ecx, 0xfa
jge 0x180096780
cmp esi, 0x80
ja 0x180095bc2
cmp dword [r11 + 0xb0], 0
je 0x180095bc2
mov qword [rbp - 0x18], r12
mov dword [r11 + 0xb0], r12d
jmp 0x180095bd2
cmp r14d, 6
jne 0x1800966a3
mov r8d, r14d
lea rdx, str.DEFINE
mov rcx, r12
call fcn.1800af0b0
test eax, eax
jne 0x18009669f
mov rdx, qword [rbp - 0x70]
lea r13d, [r14 - 5]
mov r10d, dword [rbp - 0x50]
mov esi, dword [rbp - 0x1c]
mov r9d, dword [rbp - 0x60]
mov byte [rdx + 3], 0x91
mov rbx, qword [rbp - 0x80]
jmp 0x180095440
inc dword [r11 + 0x8c]
mov esi, 0x7d
inc rbx
mov r10d, r15d
mov qword [rbp - 0x80], rbx
mov r9d, r13d
jmp 0x18009543c
inc rbx
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x29
jne 0x180095537
movzx ecx, byte [rbx + 1]
lea eax, [rcx - 0x2a]
cmp al, 1
jbe 0x180095537
cmp cl, 0x3f
je 0x180095537
cmp cl, 0x7b
jne 0x18009551e
lea rcx, [rbx + 2]
call fcn.1800985f0
test eax, eax
jne 0x180095537
mov byte [r10], 0x9d
inc r10
xor eax, eax
mov qword [rbp - 0x70], r10
mov r13d, eax
mov qword [rbp - 0x18], rax
jmp 0x180096502
inc dword [r11 + 0x8c]
mov esi, 0x7e
mov r10d, r15d
mov r9d, r13d
jmp 0x18009543c
movzx eax, byte [rbx + 1]
cmp al, 0x21
je 0x18009568b
cmp al, 0x3d
je 0x18009566c
movzx ecx, al
mov rax, qword [r11 + 0x18]
test byte [rcx + rax], 0x10
je 0x1800966b2
movzx r8d, dl
inc rbx
mov qword [rbp - 0x80], rbx
mov r12, rbx
movzx edx, byte [rbx]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180096656
mov rcx, qword [r11 + 0x18]
movzx eax, dl
test byte [rax + rcx], 0x10
je 0x1800955b0
nop dword [rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x1800955a0
mov r15d, ebx
sub r15d, r12d
test r9, r9
je 0x180095848
mov r14d, dword [r11 + 0x70]
mov eax, 0x27
inc r14d
mov ecx, 0x3e
cmp r8b, 0x3c
cmove eax, ecx
cmp byte [rbx], al
jne 0x180096724
mov ecx, dword [r11 + 0x60]
cmp ecx, 0x2710
jge 0x180096719
lea eax, [r15 + 3]
cmp eax, dword [r11 + 0x64]
jle 0x180095607
mov dword [r11 + 0x64], eax
cmp r15d, 0x20
jg 0x1800966d5
mov rdi, qword [r11 + 0x50]
xor eax, eax
mov esi, eax
test ecx, ecx
jle 0x1800957a5
nop word [rax + rax]
cmp r15d, dword [rdi + 8]
jne 0x180095781
mov rdx, qword [rdi]
mov rcx, r12
movsxd r8, r15d
call fcn.1800af0b0
test eax, eax
jne 0x18009577d
cmp dword [rdi + 0xc], r14d
je 0x18009579d
test dword [rbp - 0x68], 0x80000
je 0x1800966e0
mov r11, qword [rbp - 0x58]
mov eax, 1
mov dword [r11 + 0xa8], eax
jmp 0x18009578b
mov esi, 0x7f
inc dword [r11 + 0x8c]
mov r10d, r15d
add rbx, 2
mov r9d, r13d
mov qword [rbp - 0x80], rbx
jmp 0x18009543c
mov esi, 0x80
jmp 0x180095671
inc rbx
mov esi, 0x81
mov qword [rbp - 0x80], rbx
mov r10d, r15d
mov r9d, r13d
jmp 0x18009543c
mov byte [r10], 0x76
mov eax, 1
mov rbx, qword [rbp - 0x80]
xor esi, esi
inc rbx
mov dword [rbp + 0x68], eax
mov qword [rbp - 0x80], rbx
mov ecx, esi
mov qword [rbp + 0x78], r10
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x1800956ee
nop
cmp al, 0x39
ja 0x1800956ee
inc rbx
movzx eax, al
lea ecx, [rcx + rcx*4]
mov qword [rbp - 0x80], rbx
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x1800956d0
cmp byte [rbx], 0x29
jne 0x1800966cb
cmp ecx, 0xff
jg 0x1800966c0
mov byte [r10 + 1], cl
mov r13, rsi
mov eax, dword [rbp - 0x80]
sub eax, dword [r11 + 0x30]
inc eax
mov qword [rbp - 0x18], rsi
sar eax, 8
mov byte [r10 + 2], al
movzx eax, byte [rbp - 0x80]
sub al, byte [r11 + 0x30]
inc al
mov word [r10 + 4], si
mov byte [r10 + 3], al
add r10, 6
mov qword [rbp - 0x70], r10
jmp 0x180096502
inc rbx
mov qword [rbp - 0x80], rbx
movzx r8d, byte [rbx]
lea eax, [r8 - 0x3d]
cmp al, 1
jbe 0x180095766
cmp r8b, 0x3c
je case.0x180094fbc.35
mov dword [rdi], 0x29
jmp 0x1800968c5
xor r10d, r10d
cmp r8b, 0x3e
mov r12d, r10d
sete r12b
lea r9d, [r10 + 0x29]
jmp 0x180095ef9
mov r11, qword [rbp - 0x58]
cmp dword [rdi + 0xc], r14d
je 0x1800966f3
inc esi
add rdi, 0x10
cmp esi, dword [r11 + 0x60]
jl 0x180095620
jmp 0x1800957a1
mov r11, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x80]
mov eax, dword [r11 + 0x60]
cmp esi, eax
jl 0x180095848
mov ecx, dword [r11 + 0x68]
cmp eax, ecx
jl 0x180095812
lea edi, [rcx + rcx]
movsxd rcx, edi
shl rcx, 4
call qword [0x18012c3b0]
mov rbx, rax
test rax, rax
je 0x180096706
mov rax, qword [rbp - 0x58]
mov rcx, rbx
movsxd r8, dword [rax + 0x68]
mov rdx, qword [rax + 0x50]
shl r8, 4
call fcn.1800ab630
mov r11, qword [rbp - 0x58]
cmp dword [r11 + 0x68], 0x14
jle 0x180095806
mov rcx, qword [r11 + 0x50]
call qword [0x18012c3b8]
mov r11, qword [rbp - 0x58]
mov eax, dword [r11 + 0x60]
mov qword [r11 + 0x50], rbx
mov dword [r11 + 0x68], edi
movsxd rcx, eax
mov rax, qword [r11 + 0x50]
add rcx, rcx
mov qword [rax + rcx*8], r12
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 8], r15d
movsxd rcx, dword [r11 + 0x60]
mov rax, qword [r11 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 0xc], r14d
inc dword [r11 + 0x60]
mov rbx, qword [rbp - 0x80]
mov r10, qword [rbp - 0x70]
inc rbx
mov qword [rbp - 0x80], rbx
mov eax, dword [r11 + 0x70]
mov r13d, 2
inc eax
mov dword [r11 + 0x70], eax
shr eax, 8
mov byte [r10 + 3], al
movzx eax, byte [r11 + 0x70]
mov byte [r10 + 4], al
jmp 0x18009542d
mov r9d, 0x29
mov r13d, 1
xor r10d, r10d
mov r12d, r13d
jmp 0x180095eff
inc rbx
xor r12d, r12d
mov qword [rbp - 0x80], rbx
mov esi, r12d
cmp byte [rbx], 0x29
je 0x18009608a
mov dword [rdi], 0x1d
jmp 0x1800968c5
mov r9d, 0x29
jmp 0x180095a01
bt r15d, 0xc
jae 0x180095853
mov esi, 0x83
mov r10d, r15d
mov r9d, r8d
jmp 0x18009543c
mov r15d, dword [rbp - 0x68]
lea rdx, [rbp + 0x70]
mov r9d, dword [r11 + 0x70]
lea rcx, [rbp - 0x80]
mov dword [rsp + 0x28], r8d
mov r8, rdi
mov dword [rsp + 0x20], r15d
call fcn.180091390
cmp dword [rdi], 0
mov esi, eax
jne 0x18009320d
test eax, eax
jne 0x180095947
mov eax, dword [rbp + 0x70]
cmp dword [rbp - 0x64], esi
je 0x18009592d
cmp eax, 0x7f
jbe 0x18009592d
lea rdx, [rbp + 0xd8]
mov ecx, eax
call fcn.1800a3d00
mov r11, qword [rbp - 0x58]
mov edx, eax
mov r10, qword [rbp - 0x70]
jmp 0x180092904
mov r11, qword [rbp - 0x58]
mov r10, qword [rbp - 0x70]
mov byte [rbp + 0xd8], al
mov eax, 1
mov edx, eax
jmp 0x180092904
mov ecx, dword [rbp - 0x38]
cmp ecx, 0xfffffffe
jne 0x180095960
add eax, 0xfffffffa
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe ecx, eax
mov dword [rbp - 0x38], ecx
mov eax, dword [rbp - 0x10]
mov r12d, ecx
mov r14d, dword [rbp - 0x40]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp - 0x3c]
mov dword [rbp], eax
mov dword [rbp - 0x20], ecx
mov dword [rbp - 8], r14d
cmp esi, 0x1b
jne 0x180095e9c
mov r11, qword [rbp - 0x58]
mov r9d, 0x27
mov rbx, qword [rbp - 0x80]
mov rax, qword [r11 + 0x40]
sub rax, qword [r11 + 0x20]
inc rbx
mov qword [rbp + 0x48], rax
mov qword [rbp - 0x80], rbx
lea rdx, [rbx + 1]
mov eax, 0x3e
cmp byte [rbx], 0x3c
cmove r9d, eax
movzx eax, byte [rdx]
cmp al, 0x39
ja 0x18009587e
movzx eax, al
movabs rcx, 0x3ff280000000000
bt rcx, rax
jae 0x18009587e
movzx eax, byte [rbx + 2]
lea rcx, [rbx + 2]
cmp al, 0x30
jb 0x1800959f1
cmp al, 0x39
ja 0x1800959f1
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jae 0x1800959e2
cmp byte [rcx], r9b
jne 0x1800967cc
mov rbx, rdx
mov qword [rbp - 0x80], rdx
movzx r8d, byte [rbx]
cmp r8b, 0x2b
jne 0x180095a91
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x18009672f
movzx eax, byte [rbx]
xor r12d, r12d
mov esi, r12d
cmp al, 0x30
jb 0x180095a5a
cmp al, 0x39
ja 0x180095a5a
cmp esi, 0xccccccb
jg 0x18009678f
inc rbx
movzx eax, al
lea esi, [rsi + rsi*4]
mov qword [rbp - 0x80], rbx
lea esi, [rsi - 0x18]
lea esi, [rax + rsi*2]
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x180095a30
cmp byte [rbx], r9b
jne 0x1800958a5
cmp r8b, 0x2d
jne 0x180095e81
test esi, esi
je 0x1800967c1
mov eax, dword [r11 + 0x70]
sub eax, esi
lea esi, [rax + 1]
test esi, esi
jg 0x18009608a
mov dword [rdi], 0xf
jmp 0x1800968c5
cmp r8b, 0x2d
jne 0x180095a23
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
sub al, 0x30
cmp al, 9
ja case.0x180094fbc.46
mov rbx, rcx
mov qword [rbp - 0x80], rcx
jmp 0x180095a23
xor esi, esi
lea rdx, [rbp + 0x20]
mov dword [rbp + 0x20], esi
mov eax, esi
mov dword [rbp + 8], eax
mov r10d, esi
cmp r8b, 0x29
je 0x180095b55
nop dword [rax]
cmp r8b, 0x3a
je 0x180095b4e
inc rbx
movzx eax, r8b
sub eax, 0x2d
mov qword [rbp - 0x80], rbx
cmp eax, 0x4b
ja case.0x180095b0a.53
lea r8, [0x180000000]
cdqe
movzx eax, byte [r8 + rax + 0x96b08]
mov ecx, dword [r8 + rax*4 + 0x96ae4]
add rcx, r8
jmp rcx
lea rdx, [rbp + 8]
jmp 0x180095b44
or dword [rdx], 0x80000
or dword [r11 + 0x94], 0x400
jmp 0x180095b44
or dword [rdx], 1
jmp 0x180095b44
or dword [rdx], 2
jmp 0x180095b44
or dword [rdx], 4
jmp 0x180095b44
or dword [rdx], 8
jmp 0x180095b44
or dword [rdx], 0x200
jmp 0x180095b44
or dword [rdx], 0x40
movzx r8d, byte [rbx]
cmp r8b, 0x29
jne 0x180095ad0
mov r10d, dword [rbp + 0x20]
mov eax, dword [rbp + 8]
or r10d, r15d
not eax
and r10d, eax
cmp byte [rbx], 0x29
jne 0x180095ba4
mov eax, r10d
mov dword [rbp - 0x68], r10d
shr eax, 9
mov r15d, r10d
and eax, 1
mov qword [rbp - 0x18], rsi
mov dword [rbp + 0x84], eax
mov r13, rsi
xor eax, 1
mov dword [rbp + 0x80], eax
mov eax, r10d
and eax, 1
mov dword [rbp + 0x44], eax
mov rax, qword [rbp + 0xa8]
mov dword [rax], r10d
mov r10, qword [rbp - 0x70]
jmp 0x180096506
mov rdx, qword [rbp - 0x70]
inc rbx
xor r12d, r12d
mov qword [rbp - 0x80], rbx
mov r9d, r12d
mov r13d, r12d
mov esi, 0x83
jmp 0x180095443
mov rax, qword [r11 + 0x40]
sub rax, qword [r11 + 0x20]
mov qword [rbp + 0x48], rax
mov qword [rbp - 0x18], rdx
mov r15, qword [rbp - 0x28]
lea eax, [rsi - 0x7f]
mov r14, qword [rbp - 0x30]
cmp eax, 1
mov byte [rdx], sil
lea rax, [rbp + 0x40]
mov edi, dword [r11 + 0x98]
mov r8d, r12d
mov ebx, dword [r11 + 0x70]
setbe r8b
mov qword [rbp + 0x18], rdx
test r15, r15
mov edx, r12d
mov dword [rbp + 0x40], r12d
cmove rax, r12
mov ecx, r10d
mov qword [rsp + 0x70], rax
cmp esi, 0x87
mov rax, qword [rbp + 0xa0]
mov qword [rsp + 0x68], r11
sete dl
add edx, dword [rbp + 0x1c8]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x6c]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edx
lea rdx, [rbp + 0x18]
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r9d
mov r9, r14
mov dword [rsp + 0x20], r8d
lea r8, [rbp - 0x80]
call fcn.180096b60
test eax, eax
je 0x18009320d
mov r11, qword [rbp - 0x58]
dec dword [r11 + 0x88]
cmp esi, 0x81
jne 0x180095d26
mov r10, qword [rbp - 0x70]
cmp dword [r11 + 0x70], ebx
ja 0x180095caa
mov byte [r10], 0x82
mov eax, dword [rbp + 0x50]
or r15d, 0xffffffff
mov ecx, dword [rbp + 0x60]
mov rbx, qword [rbp - 0x80]
cmp byte [rbx], 0x29
jne 0x180096774
mov r8, qword [rbp - 0x28]
test r8, r8
je 0x180095dc1
mov edx, dword [r8]
mov ecx, 0x7fffffeb
mov r8d, dword [rbp + 0x40]
sub ecx, edx
lea eax, [r8 - 6]
cmp ecx, eax
jl 0x180096768
lea eax, [r8 - 6]
mov r8, qword [rbp - 0x28]
add eax, edx
mov dword [r8], eax
mov dword [r10 + 1], 0x780300
mov byte [r10 + 5], 3
add r10, 6
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x70], r10
mov r12d, dword [rbp - 0x20]
mov r14d, dword [rbp - 8]
mov r13, qword [rbp - 0x18]
mov edx, dword [rbp - 0x78]
mov r15d, dword [rbp - 0x68]
jmp 0x18009650d
cmp esi, 0x80
ja 0x180095d35
dec dword [r11 + 0x8c]
mov r10, qword [rbp - 0x70]
cmp esi, 0x87
jne 0x180095caa
test r15, r15
jne 0x180095caa
mov rdx, r10
mov r8d, r12d
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rdx + 1]
mov r9d, r8d
movzx eax, byte [rdx + 2]
inc r8d
shl rcx, 8
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x78
jne 0x180095d60
cmp byte [r10 + 3], 0x91
jne 0x180095d98
cmp r9d, 1
jge 0x180096748
mov esi, 0x91
jmp 0x180095caa
cmp r9d, 2
jge 0x180096758
cmp r8d, 1
jne 0x180095caa
or r15d, 0xffffffff
mov eax, r15d
mov ecx, r15d
mov dword [rbp + 0x50], eax
mov dword [rbp + 0x60], ecx
jmp 0x180095cb4
mov r10, qword [rbp + 0x18]
mov qword [rbp - 0x70], r10
cmp esi, 0x91
je 0x180095d0e
mov edx, dword [rbp - 0x3c]
xor r9d, r9d
mov r14d, dword [rbp - 0x40]
mov dword [rbp], edx
mov edx, dword [rbp - 0x10]
mov dword [rbp + 0x30], edx
mov edx, dword [rbp - 0x38]
mov r12d, edx
mov dword [rbp - 0x20], edx
mov dword [rbp - 8], r14d
mov dword [rbp + 0x64], r9d
cmp esi, 0x81
jb 0x180095e6c
cmp edx, 0xfffffffe
jne 0x180095e33
test ecx, ecx
js 0x180095e26
mov edx, dword [rbp + 0x88]
mov r12d, r15d
mov dword [rbp - 0x10], edx
mov dword [rbp - 0x38], ecx
mov dword [rbp + 0x64], 1
mov dword [rbp - 0x20], r15d
jmp 0x180095e4b
mov dword [rbp - 0x38], r15d
mov r12d, r15d
mov dword [rbp - 0x20], r15d
jmp 0x180095e4b
test ecx, ecx
js 0x180095e4b
test eax, eax
jns 0x180095e53
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x6c], eax
mov eax, ecx
or eax, edi
mov dword [rbp + 0x50], eax
test eax, eax
js 0x180095d16
mov ecx, dword [rbp + 0x6c]
mov r13, qword [rbp - 0x18]
mov edx, dword [rbp - 0x78]
mov r15d, dword [rbp - 0x68]
mov dword [rbp - 0x3c], ecx
mov dword [rbp - 0x40], eax
jmp 0x18009650d
cmp esi, 0x7d
jne 0x180095d16
test eax, eax
js 0x180095d16
test ecx, ecx
jmp 0x180095e4d
cmp r8b, 0x2b
jne 0x18009608a
test esi, esi
je 0x1800967c1
add esi, dword [r11 + 0x70]
jmp 0x18009608a
cmp esi, 0x1c
jne 0x18009634e
mov rbx, qword [rbp - 0x80]
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
cmp al, 0x3c
je 0x180095ec1
cmp al, 0x27
je 0x180095ec1
cmp al, 0x7b
jne 0x1800967d7
mov r11, qword [rbp - 0x58]
xor r10d, r10d
mov qword [rbp - 0x80], rcx
mov r12d, r10d
movzx eax, byte [rcx]
mov rbx, rcx
cmp al, 0x3c
jne 0x180095ee8
mov r14d, 0x3e
lea r13d, [r10 + 1]
mov r9d, r14d
jmp 0x180095f05
cmp al, 0x27
mov r9d, 0x7d
mov eax, 0x27
cmove r9d, eax
mov r13d, 1
mov r14d, 0x3e
inc rbx
mov qword [rbp - 0x80], rbx
mov r15, rbx
movzx edx, byte [rbx]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180096656
mov rcx, qword [r11 + 0x18]
movzx eax, dl
test byte [rax + rcx], 0x10
je 0x180095f40
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x180095f30
mov r8, qword [rbp - 0x28]
mov edi, ebx
sub edi, r15d
test r8, r8
je 0x18009600b
mov esi, r10d
test edi, edi
je 0x180096800
cmp byte [rbx], r9b
jne 0x1800967f1
cmp edi, 0x20
jg 0x1800967e2
test r12d, r12d
jne 0x180095f7b
inc dword [r11 + 0x84]
mov eax, dword [r8]
add eax, 0xe
mov dword [r8], eax
cmp dword [r11 + 0xac], 0
je 0x180095f94
add eax, 0xc
mov dword [r8], eax
mov r9d, dword [r11 + 0x60]
mov r14d, r10d
mov rbx, qword [r11 + 0x50]
test r9d, r9d
jle 0x180096005
cmp edi, dword [rbx + 8]
jne 0x180095ff1
mov rdx, qword [rbx]
mov rcx, r15
movsxd r8, edi
call fcn.1800af0b0
test eax, eax
jne 0x180095fed
mov esi, dword [rbx + 0xc]
test r12d, r12d
jne 0x180096087
mov r11, qword [rbp - 0x58]
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x180095ff1
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x180095fe6
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180095fd4
jmp 0x180095ff1
mov word [rcx + 0xa], r13w
jmp 0x180095ff1
mov r11, qword [rbp - 0x58]
mov r9d, dword [r11 + 0x60]
inc r14d
add rbx, 0x10
cmp r14d, r9d
jl 0x180095fa4
mov r8, qword [rbp - 0x28]
mov r15, qword [rbp + 0x58]
jmp 0x18009607e
cmp dword [r11 + 0x60], 0
mov r14d, r10d
mov rsi, qword [r11 + 0x58]
mov qword [rbp + 0x58], rsi
jle 0x18009605f
movsxd rbx, edi
lea rdx, [rsi + 2]
mov r8, rbx
mov rcx, r15
call fcn.1800af0b0
test eax, eax
jne 0x180096039
cmp byte [rsi + rbx + 2], al
je 0x180096053
mov r11, qword [rbp - 0x58]
inc r14d
movsxd rax, dword [r11 + 0x64]
add rsi, rax
mov qword [rbp + 0x58], rsi
cmp r14d, dword [r11 + 0x60]
jl 0x180096020
jmp 0x180096057
mov r11, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x28]
mov r9d, dword [r11 + 0x60]
cmp r14d, r9d
jge 0x1800966a3
mov r15, qword [rbp + 0x58]
movzx eax, byte [r15]
movzx esi, byte [r15 + 1]
shl eax, 8
or esi, eax
test r12d, r12d
je 0x1800961f1
xor r12d, r12d
mov r14, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x70]
mov r13, rdx
mov qword [rbp - 0x18], rdx
mov r15, qword [r14 + 0x40]
sub r15, qword [r14 + 0x20]
cmp qword [rbp - 0x28], 0
mov rdi, qword [r14 + 0x28]
mov qword [rbp + 0x48], r15
jne 0x1800961a3
mov r15d, dword [rbp - 0x64]
mov byte [rdx], 0
test esi, esi
je 0x1800960d4
mov rcx, qword [r14 + 0x28]
mov r8d, esi
mov edx, r15d
call fcn.180090720
mov rdi, rax
mov rdx, r13
test rdi, rdi
jne 0x180096140
cmp esi, dword [r14 + 0x74]
jg 0x18009680c
movsxd rcx, dword [r14 + 0x6c]
add rcx, 0xffffffffffffff9c
movsxd rdi, esi
add rcx, qword [r14 + 0x20]
add rdi, qword [r14 + 0x28]
cmp qword [r14 + 0x40], rcx
jb 0x180096112
mov rcx, r14
call fcn.180097770
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
test eax, eax
jne 0x18009320d
mov rax, qword [r14 + 0x40]
mov r10, qword [rbp - 0x70]
mov ecx, r10d
sub ecx, dword [r14 + 0x28]
inc ecx
sar ecx, 8
mov byte [rax], cl
movzx ecx, r10b
sub cl, byte [r14 + 0x28]
mov rax, qword [r14 + 0x40]
inc cl
mov byte [rax + 1], cl
add qword [r14 + 0x40], 2
jmp 0x1800961a7
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
shl ecx, 8
or ecx, eax
jne 0x1800961a3
cmp dword [rbp + 0x1c8], ecx
jg 0x1800961a3
mov rax, qword [rbp + 0xa0]
mov rbx, rax
test rax, rax
je 0x18009681f
nop word [rax + rax]
mov rcx, qword [rbx + 8]
cmp rcx, rdi
jb 0x18009681f
mov r9, r14
mov qword [rsp + 0x20], r12
mov r8d, r15d
call fcn.180097080
test eax, eax
je 0x1800961a3
mov rbx, qword [rbx]
test rbx, rbx
je 0x18009681f
mov rdx, qword [rbp - 0x70]
jmp 0x180096170
mov r10, qword [rbp - 0x70]
mov r15d, dword [rbp - 0x68]
mov eax, edi
mov byte [r10], 0x75
mov r11, r14
sub eax, dword [r14 + 0x28]
sar eax, 8
mov byte [r10 + 1], al
sub dil, byte [r14 + 0x28]
mov r14d, dword [rbp - 8]
mov byte [r10 + 2], dil
add r10, 3
cmp dword [rbp - 0x38], 0xfffffffe
mov dword [rbp + 0x64], r12d
mov r12d, dword [rbp - 0x20]
mov qword [rbp - 0x70], r10
jne 0x180096502
mov dword [rbp - 0x38], 0xffffffff
jmp 0x180096502
test r8, r8
jne 0x18009635e
cmp dword [r11 + 0xa8], r8d
je 0x18009635e
movsxd rdi, dword [r11 + 0x64]
mov r12d, 1
mov dword [rbp + 0x10], r14d
add rdi, r15
inc r14d
mov r10d, r12d
cmp r14d, r9d
jge 0x18009635e
mov rbx, qword [rbp - 0x58]
lea r11, [r15 + 2]
nop
lea r8, [rdi + 2]
mov rax, r11
sub r8, r11
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180096253
inc rax
test ecx, ecx
jne 0x180096240
test edx, edx
jne 0x180096269
movsxd rax, dword [rbx + 0x64]
inc r10d
add rdi, rax
inc r14d
cmp r14d, r9d
jl 0x180096230
mov ebx, dword [rbp + 0x10]
mov r11, qword [rbp - 0x58]
cmp r10d, r12d
jle 0x18009636f
mov rcx, qword [rbp - 0x70]
mov eax, 0xffffffff
mov rdx, qword [r11 + 0x40]
mov r13, rcx
mov esi, dword [rbp - 0x38]
cmp esi, 0xfffffffe
mov qword [rbp - 0x18], rcx
cmove esi, eax
sub rdx, qword [r11 + 0x20]
test byte [rbp - 0x68], r12b
mov dword [rbp - 0x38], esi
setne al
mov qword [rbp + 0x48], rdx
add al, 0x73
mov byte [rcx], al
mov eax, ebx
shr eax, 8
mov byte [rcx + 1], al
mov eax, r10d
mov byte [rcx + 2], bl
add rcx, 3
sar eax, 8
mov qword [rbp - 0x70], rcx
mov byte [rcx + 1], r10b
mov r10, rcx
add r10, 2
mov byte [rcx], al
mov qword [rbp - 0x70], r10
cmp r15, rdi
jae 0x18009633d
nop dword [rax + rax]
movzx eax, byte [r15]
movzx edx, byte [r15 + 1]
shl eax, 8
or edx, eax
mov eax, r12d
mov ecx, edx
shl eax, cl
cmp edx, 0x20
cmovae eax, r12d
or dword [r11 + 0x80], eax
cmp edx, dword [r11 + 0x7c]
jle 0x18009630d
mov dword [r11 + 0x7c], edx
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x18009632d
movzx eax, word [rcx + 8]
cmp eax, edx
je 0x180096328
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180096316
jmp 0x18009632d
mov word [rcx + 0xa], r12w
movsxd rax, dword [r11 + 0x64]
add r15, rax
cmp r15, rdi
jb 0x1800962e0
mov qword [rbp + 0x58], r15
mov r12d, dword [rbp - 0x20]
mov r14d, dword [rbp - 8]
mov r15d, dword [rbp - 0x68]
jmp 0x180096502
test esi, esi
jns 0x180096423
mov r11, qword [rbp - 0x58]
neg esi
jmp 0x18009637e
mov r12d, dword [rbp - 0x20]
mov r14d, dword [rbp - 8]
mov r15d, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x38]
jmp 0x180096382
mov r12d, dword [rbp - 0x20]
mov r14d, dword [rbp - 8]
mov r15d, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x38]
mov r8, qword [rbp - 0x28]
mov r10, qword [rbp - 0x70]
cmp ecx, 0xfffffffe
mov eax, 0xffffffff
mov qword [rbp - 0x18], r10
cmove ecx, eax
mov edx, 1
mov rax, qword [r11 + 0x40]
mov r13, r10
sub rax, qword [r11 + 0x20]
mov qword [rbp + 0x48], rax
test r15b, 1
mov dword [rbp - 0x38], ecx
mov ecx, esi
setne al
add al, 0x71
mov byte [r10], al
mov eax, esi
sar eax, 8
mov byte [r10 + 1], al
mov eax, edx
mov byte [r10 + 2], sil
add r10, 3
shl eax, cl
cmp esi, 0x20
mov qword [rbp - 0x70], r10
cmovge eax, edx
or dword [r11 + 0x80], eax
cmp esi, dword [r11 + 0x7c]
jle 0x1800963ea
mov dword [r11 + 0x7c], esi
mov rcx, qword [r11 + 0x48]
test rcx, rcx
je 0x180096502
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x180096413
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1800963f7
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x78]
jmp 0x18009650d
mov word [rcx + 0xa], dx
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x78]
jmp 0x18009650d
cmp esi, 0x16
je 0x180096832
lea eax, [rsi - 0xf]
cmp eax, 1
jbe 0x180096832
lea eax, [rsi - 4]
cmp eax, 1
jbe 0x180096445
cmp esi, 1
jne 0x18009645b
mov r11, qword [rbp - 0x58]
cmp dword [r11 + 0x78], 0
jne 0x18009645f
mov eax, 1
mov dword [r11 + 0x78], eax
jmp 0x18009645f
mov r11, qword [rbp - 0x58]
mov r10, qword [rbp - 0x70]
lea eax, [rsi - 6]
xor r9d, r9d
cmp eax, 0x10
mov r13d, r9d
mov rax, qword [r11 + 0x40]
mov r9d, dword [rbp - 0x64]
cmovbe r13, r10
sub rax, qword [r11 + 0x20]
mov qword [rbp - 0x18], r13
mov qword [rbp + 0x48], rax
test r9d, r9d
jne 0x180096496
cmp esi, 0xe
jne 0x180096496
mov esi, 0xd
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x30]
mov rax, qword [rbp + 0x38]
mov byte [r10], sil
inc r10
mov rbx, qword [rbp - 0x80]
inc rbx
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x80], rbx
jmp 0x180092718
movzx eax, al
mov dword [rbp - 0x10], eax
mov dword [rbp - 0x38], ecx
cmp edx, 1
je 0x180096502
mov ecx, dword [r11 + 0x98]
jmp 0x1800964f7
mov eax, dword [rbp - 0x10]
mov r12d, esi
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x44]
mov dword [rbp - 0x20], esi
cmp edx, 1
je 0x1800964ee
test eax, eax
jne 0x180096502
mov ecx, dword [r11 + 0x98]
or ecx, eax
movzx edi, byte [r10 - 1]
mov dword [rbp - 0x3c], edi
mov dword [rbp - 0x40], ecx
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x28]
mov r9d, dword [rbp - 0x64]
inc rbx
mov rdi, qword [rbp - 0x30]
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x80], rbx
jmp 0x180092718
mov dword [rdi], 0x14
jmp 0x1800968c5
cmp r10, rcx
mov eax, 0x57
mov ecx, 0x34
cmovae eax, ecx
jmp 0x1800968c3
mov ecx, 0xd
cmp r9b, 0x3a
mov eax, 0x1f
cmove eax, ecx
mov rcx, qword [rbp - 0x30]
mov dword [rcx], eax
jmp 0x1800968c5
mov rcx, qword [rbp - 0x30]
mov eax, 0x1f
mov dword [rcx], eax
jmp 0x1800968c5
mov rbx, qword [rbp - 0x80]
mov dword [r8], 0x2d
jmp 0x1800968c5
mov dword [r8], 7
jmp 0x1800968c5
mov rbx, qword [rbp - 0x80]
mov dword [r8], 0x47
jmp 0x1800968c5
mov dword [rcx], 0x53
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x53
jmp 0x1800968c5
mov dword [rcx], 8
jmp 0x1800968c5
mov dword [rdi], 5
jmp 0x1800968c5
mov eax, 4
jmp 0x1800968c3
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x14
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0xb
jmp 0x1800968c5
mov dword [rdi], 9
jmp 0x1800968c5
mov dword [rdi], 0x4b
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x3b
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x42
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x3c
jmp 0x1800968c5
mov dword [rdi], 0x3c
jmp 0x1800968c5
mov dword [rdi], 0x1c
jmp 0x1800968c5
mov dword [rdi], 0x54
jmp 0x1800968c5
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x18009667a
cmp al, 0x39
ja 0x18009667a
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x180096668
mov dword [rdi], 0x3d
jmp 0x1800968c5
mov dword [rdi], 0x23
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x3d
jmp 0x1800968c5
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x30]
mov dword [rax], 0xf
jmp 0x1800968c5
inc rbx
mov dword [rdi], 0x18
jmp 0x1800968c5
mov dword [rdi], 0x26
jmp 0x1800968c5
mov eax, 0x27
jmp 0x1800968c3
mov dword [rdi], 0x30
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x2b
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x41
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x15
jmp 0x1800968c5
mov dword [rdi], 0x31
jmp 0x1800968c5
mov dword [rdi], 0x2a
jmp 0x1800968c5
mov dword [rdi], 0x3f
jmp 0x1800968c5
mov dword [rdi], 0xc
dec rbx
jmp 0x1800968c5
mov rbx, qword [rbp - 0x80]
mov dword [r14], 0x36
jmp 0x1800968c5
mov rbx, qword [rbp - 0x80]
mov dword [r14], 0x1b
jmp 0x1800968c5
mov dword [r14], 0x14
jmp 0x1800968c5
mov dword [r14], 0xe
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x52
jmp 0x1800968c5
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x18009667a
nop word [rax + rax]
cmp al, 0x39
ja 0x18009667a
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x1800967a0
mov dword [rdi], 0x3d
jmp 0x1800968c5
mov dword [rdi], 0x3a
jmp 0x1800968c5
mov dword [rdi], 0x39
jmp 0x1800968c5
mov dword [rdi], 0x45
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x30
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], 0x2a
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov dword [rax], r14d
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0xf
jmp 0x1800968c5
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x28
jmp 0x1800968c5
mov rbx, qword [rbp - 0x80]
mov dword [rdi], 0x2d
jmp 0x1800968c5
mov eax, dword [rbp - 0x10]
mov rcx, qword [rbp + 0xb0]
mov r11, qword [rbp - 0x48]
mov dword [rcx], eax
mov eax, dword [rbp - 0x38]
mov rcx, qword [rbp + 0xb8]
mov dword [rcx], eax
mov eax, dword [rbp - 0x3c]
mov rcx, qword [rbp + 0xc0]
mov dword [rcx], eax
mov eax, dword [rbp - 0x40]
mov rcx, qword [rbp + 0xc8]
mov dword [rcx], eax
mov rax, qword [rbp + 0xd0]
mov qword [rax], r10
mov qword [r11], rbx
test r9, r9
je 0x1800968b7
mov edx, dword [r9]
mov eax, 0x7fffffeb
mov r8, qword [rbp + 0x90]
sub eax, edx
movsxd rcx, eax
mov rax, r10
sub rax, r8
cmp rcx, rax
jge 0x1800968ae
mov dword [rdi], 0x14
jmp 0x1800968c9
sub r10d, r8d
add r10d, edx
mov dword [r9], r10d
mov eax, 1
jmp 0x1800968ce
mov eax, 0x34
mov dword [rdi], eax
mov r11, qword [rbp - 0x48]
mov qword [r11], rbx
xor eax, eax
mov rcx, qword [rbp + 0x128]
xor rcx, rsp
call fcn.18008f850
add rsp, 0x238
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret