Function at 0x1401c75a0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [r9]
xor r13d, r13d
mov r15, qword [r9 + 0xe0]
mov r12, r9
mov rdi, qword [r9 + 0xe8]
mov r10d, edx
mov r9d, edx
mov qword [rbp + 0x10], r13
mov r14d, dword [rax + 0x40]
movzx esi, r13w
shr r9d, 0x13
xor eax, eax
shr edx, 2
and r9d, 1
and edx, 1
mov qword [rbp], r13
mov qword [rbp - 0x30], r13
mov r11d, r13d
mov qword [rbp - 0x28], r13
mov rbx, rcx
mov dword [rbp - 0x6c], r13d
mov dword [rbp - 0x3c], r13d
mov word [rbp + 0x78], r13w
mov dword [rbp - 0x58], r13d
mov dword [rsp + 0x5c], r13d
mov dword [rbp - 0x80], r13d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x58], r13d
mov dword [rbp - 0x7c], r13d
mov r13, qword [r12 + 0x40]
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x68], rdi
mov dword [rbp - 0x38], r14d
mov dword [rsp + 0x54], r9d
mov dword [rbp - 0x40], edx
mov qword [rbp - 0x50], r13
mov qword [rbp + 0x18], rax
test r14b, 8
je 0x1401c7667
mov dword [r15], 0x80090000
jmp 0x1401c7674
test r14b, 4
je 0x1401c7685
mov dword [r15], 0x80180005
mov dword [r15 + 4], 0x801a0000
add r15, 8
mov qword [rsp + 0x78], r15
bt r10d, 0x19
jae 0x1401c77fa
cmp rcx, r13
jae 0x1401ca60f
nop dword [rax]
cmp r15, rdi
jae 0x1401ca65a
movzx edi, byte [rbx]
mov r10, rbx
inc rbx
test r9d, r9d
je 0x1401c77ba
cmp edi, 0xc0
jb 0x1401c77ba
movzx ecx, byte [rbx]
and ecx, 0x3f
test dil, 0x20
jne 0x1401c76e7
and edi, 0x1f
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
inc rbx
jmp 0x1401c77ba
test dil, 0x10
jne 0x1401c770e
and edi, 0xf
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
jmp 0x1401c77ba
test dil, 8
jne 0x1401c773e
and edi, 7
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
jmp 0x1401c77ba
test dil, 4
jne 0x1401c777a
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
jmp 0x1401c77ba
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
test edx, edx
je 0x1401c77e0
mov r8d, edx
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x28]
mov r9, r15
mov rcx, r10
call fcn.1401c7530
mov r9d, dword [rsp + 0x54]
mov r15, rax
mov edx, dword [rbp - 0x40]
mov dword [r15], edi
add r15, 4
mov rdi, qword [rsp + 0x68]
cmp rbx, r13
jb 0x1401c76a0
jmp 0x1401ca60f
mov r8, qword [r12 + 0x50]
mov r14d, r10d
mov qword [rbp - 0x60], rax
mov rcx, r8
bts r14d, 7
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 3
lea rax, [rdx + rdx*2]
shl rax, 2
sub rcx, rax
mov rax, qword [r12 + 0x28]
sub rax, rcx
add rax, r8
mov r8d, r11d
bt r10d, 0x18
mov qword [rbp + 8], rax
cmovae r14d, r10d
mov r10d, r11d
mov dword [rsp + 0x70], r14d
jmp 0x1401c7865
mov r12, qword [rbp + 0x88]
jmp 0x1401c7865
inc rbx
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
cmp rbx, r13
jae 0x1401ca5ff
cmp r15, rdi
jae 0x1401ca65a
mov rdx, qword [r12]
movzx eax, si
cmp eax, dword [rdx + 0x3c]
ja 0x1401ca5f8
movzx edi, byte [rbx]
mov rsi, rbx
inc rbx
mov dword [rsp + 0x60], edi
mov qword [rbp + 0x70], rbx
mov ecx, edi
test r9d, r9d
je 0x1401c79ac
cmp edi, 0xc0
jb 0x1401c79ac
movzx ecx, byte [rbx]
and ecx, 0x3f
test dil, 0x20
jne 0x1401c78cf
and edi, 0x1f
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
inc rbx
jmp 0x1401c79a2
test dil, 0x10
jne 0x1401c78f6
and edi, 0xf
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
jmp 0x1401c79a2
test dil, 8
jne 0x1401c7926
and edi, 7
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
jmp 0x1401c79a2
test dil, 4
jne 0x1401c7962
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
jmp 0x1401c79a2
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
test r11d, r11d
je 0x1401c7a43
cmp ecx, 0x5c
jne 0x1401c79d2
cmp rbx, r13
jae 0x1401c79d2
cmp byte [rbx], 0x45
jne 0x1401c79d2
xor edx, edx
mov r11d, edx
mov dword [rsp + 0x50], edx
jmp 0x1401c7859
test r10d, r10d
jg 0x1401c7e42
test r8d, r8d
jne 0x1401c7a28
mov ecx, dword [rbp - 0x58]
mov eax, ecx
dec ecx
mov dword [rbp - 0x58], ecx
test eax, eax
jg 0x1401c7a20
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov r9, r15
mov qword [rsp + 0x20], r12
mov rcx, rsi
call fcn.1401c7530
mov r11, qword [rbp - 0x28]
mov r15, rax
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x58]
mov qword [rbp - 0x30], r11
mov r11d, dword [rsp + 0x50]
mov eax, 1
mov dword [rbp - 0x7c], eax
mov r10d, dword [rsp + 0x5c]
xor ecx, ecx
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x6c], ecx
jmp 0x1401c785c
test r8d, r8d
je 0x1401c7bc6
mov eax, r14d
and eax, 0x400080
cmp eax, 0x400080
jne 0x1401c7aa6
cmp ecx, 0xff
jbe 0x1401c7a76
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x1401c7a76
cmp eax, 0x2029
jne 0x1401c7aa6
test edi, 0xffffff00
jne 0x1401c7bc6
cmp edi, 0x23
je 0x1401c7bc6
mov rax, qword [r12 + 0x20]
test byte [rdi + rax], 1
jne 0x1401c7bc6
cmp edi, 0x85
je 0x1401c7bc6
cmp edi, 0x29
je 0x1401c7b6d
cmp edi, 0x5c
je 0x1401c7ac5
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c785c
bt r14d, 0x16
jae 0x1401c7b57
xor eax, eax
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
lea r9, [rbp - 0x80]
mov eax, dword [rdx + 0x40]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x28], eax
lea rcx, [rbp + 0x70]
mov rdx, r13
mov dword [rsp + 0x20], r14d
call fcn.1401c1120
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401ca4ac
test eax, eax
je 0x1401c7b40
sub eax, 0x19
je case.default.0x1401c826c
mov rbx, qword [rbp + 0x70]
cmp eax, 1
jne 0x1401ca43c
mov r9d, dword [rsp + 0x54]
mov r11d, eax
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [rsp + 0x50], eax
jmp 0x1401c7860
mov rbx, qword [rbp + 0x70]
mov edi, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c785c
xor edx, edx
mov rax, rbx
sub rax, qword [rbp + 0x18]
dec rax
mov dword [rsp + 0x58], edx
cmp rax, 0xff
jg 0x1401ca446
mov rcx, qword [rbp + 0x10]
mov rax, r15
movzx esi, word [rbp + 0x78]
sub rax, rcx
mov rdi, qword [rsp + 0x68]
mov r8d, edx
sar rax, 2
dec eax
mov dword [rcx], eax
mov ecx, dword [rbp - 0x3c]
test ecx, ecx
je 0x1401c7865
mov dword [r15], ecx
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x3c], edx
jmp 0x1401c7865
cmp edi, 0x5c
jne 0x1401c7bf0
cmp rbx, r13
jae 0x1401c7bf0
movzx eax, byte [rbx]
cmp al, 0x51
je 0x1401c7bdb
cmp al, 0x45
jne 0x1401c7bf0
xor ecx, ecx
mov r11d, ecx
cmp al, 0x51
sete r11b
mov dword [rsp + 0x50], r11d
jmp 0x1401c7859
test r14b, r14b
jns 0x1401c7d6b
cmp edi, 0x100
jae 0x1401c7c10
mov rax, qword [r12 + 0x20]
test byte [rdi + rax], 1
jne 0x1401c785c
cmp edi, 0x85
je 0x1401c785c
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x1401c785c
cmp eax, 0x2029
je 0x1401c785c
cmp edi, 0x23
jne 0x1401c7d6b
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
cmp rbx, r13
jae 0x1401ca5ff
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r12 + 0x100]
lea rdi, [r12 + 0x104]
mov rax, qword [r12 + 0x40]
test edx, edx
je 0x1401c7cc4
cmp rbx, rax
jae 0x1401c7c9c
mov dword [rsp + 0x20], r9d
mov r8, rax
mov r9, rdi
mov rcx, rbx
call fcn.1401e1620
test eax, eax
je 0x1401c7c9c
mov eax, 1
jmp 0x1401c7c9e
xor eax, eax
mov r9d, dword [rsp + 0x54]
test eax, eax
je 0x1401c7cee
mov eax, dword [rdi]
add rbx, rax
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
jmp 0x1401c7860
mov ecx, dword [rdi]
sub rax, rcx
cmp rbx, rax
ja 0x1401c7cee
movzx eax, byte [r12 + 0x110]
cmp byte [rbx], al
jne 0x1401c7cee
cmp ecx, 1
je 0x1401c7ca7
movzx eax, byte [r12 + 0x111]
cmp byte [rbx + 1], al
je 0x1401c7ca7
inc rbx
test r9d, r9d
je 0x1401c7d45
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
cmp rbx, r13
jae 0x1401ca5ff
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x1401c7d45
mov r11d, dword [rsp + 0x50]
inc rbx
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
cmp rbx, r13
jb 0x1401c7d17
jmp 0x1401c7865
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
cmp rbx, r13
jb 0x1401c7c60
jmp 0x1401c7865
cmp edi, 0x28
jne 0x1401c7da6
mov rax, r13
sub rax, rbx
cmp rax, 2
jl 0x1401c7ddb
cmp byte [rbx], 0x3f
jne 0x1401c7ddb
cmp byte [rbx + 1], 0x23
jne 0x1401c7ddb
nop word [rax + rax]
inc rbx
cmp rbx, r13
jae 0x1401ca453
cmp byte [rbx], 0x29
jne 0x1401c7d90
jmp 0x1401c7859
lea eax, [rdi - 0x2a]
cmp eax, 1
jbe 0x1401c7e1d
cmp edi, 0x3f
je 0x1401c7e1d
cmp edi, 0x7b
jne 0x1401c7ddb
lea rax, [rbp - 0x80]
mov qword [rbp - 0x20], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rcx, [rbp - 0x20]
mov rdx, r13
call fcn.1401cbf00
test eax, eax
jne 0x1401c7e18
mov ecx, dword [rbp - 0x58]
mov eax, ecx
dec ecx
mov dword [rbp - 0x58], ecx
test eax, eax
jg 0x1401c7e18
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov r9, r15
mov qword [rsp + 0x20], r12
mov rcx, rsi
call fcn.1401c7530
mov r9, qword [rbp - 0x28]
mov r15, rax
mov r10d, dword [rsp + 0x5c]
mov qword [rbp - 0x30], r9
mov qword [rsp + 0x78], rax
jmp 0x1401c7e21
mov r10d, dword [rsp + 0x5c]
mov r9, qword [rbp - 0x30]
test r10d, r10d
jle 0x1401c7e9e
cmp edi, 0x28
jne 0x1401c7e42
mov rax, r13
sub rax, rbx
cmp rax, 3
jl 0x1401c7e42
movzx eax, byte [rbx]
cmp al, 0x3f
je 0x1401c7e4f
cmp al, 0x2a
je 0x1401c7e54
dec rbx
mov ecx, 0x80
jmp 0x1401ca675
cmp byte [rbx], 0x2a
jne 0x1401c7e69
movzx ecx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
movzx edx, byte [rcx + rax]
shr edx, 2
and edx, 1
jmp 0x1401c7e8c
movzx ecx, byte [rbx + 1]
sub ecx, 0x21
je 0x1401c7e9e
sub ecx, 0x1b
je 0x1401c7e92
sub ecx, 1
je 0x1401c7e9e
cmp ecx, 6
jne 0x1401c7e42
xor eax, eax
cmp r10d, 2
mov edx, eax
sete dl
test edx, edx
je 0x1401c7e42
jmp 0x1401c7e9e
movzx eax, byte [rbx + 2]
cmp al, 0x3d
je 0x1401c7e9e
cmp al, 0x21
jne 0x1401c7e42
mov ecx, dword [rbp - 0x6c]
xor r11d, r11d
mov esi, dword [rbp - 0x7c]
mov r8d, r10d
mov dword [rbp - 0x70], r10d
mov r10d, r11d
mov dword [rsp + 0x5c], r11d
mov eax, ecx
mov dword [rbp - 0x7c], r11d
mov edx, ecx
mov dword [rbp - 0x6c], r11d
test ecx, ecx
je 0x1401c7f14
cmp edi, 0x3f
je 0x1401c7ed0
cmp edi, 0x2b
jne 0x1401c7f14
mov r9d, dword [rsp + 0x54]
cmp edi, 0x3f
mov r11d, dword [rsp + 0x50]
mov r8d, 0x20000
mov ecx, 0x10000
cmove ecx, r8d
mov r8d, dword [rsp + 0x58]
add ecx, eax
mov rax, 0xfffffffffffffffc
cmp edx, 0x803d0000
mov rdx, 0xfffffffffffffff4
cmove rax, rdx
mov dword [rax + r15], ecx
jmp 0x1401c785c
lea eax, [rdi - 0x24]
cmp eax, 0x58
ja case.0x1401c7f39.37
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1ca6d4]
mov ecx, dword [rdx + rax*4 + 0x1ca6a0]
add rcx, rdx
jmp rcx
mov rax, qword [r12]
lea r9, [rbp - 0x80]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x60]
mov dword [rsp + 0x30], r11d
lea rcx, [rbp + 0x70]
mov r14, rbx
mov qword [rbp - 0x20], rbx
mov eax, dword [rax + 0x40]
mov rdx, r13
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call fcn.1401c1120
mov ecx, dword [rbp - 0x80]
mov edi, eax
test ecx, ecx
jne 0x1401c7fbe
test eax, eax
je 0x1401c830b
js 0x1401c8289
add eax, 0xfffffffa
cmp eax, 0x16
ja case.0x1401c7fae.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x1ca748]
mov ecx, dword [rdx + rax*4 + 0x1ca730]
add rcx, rdx
jmp rcx
bt ebx, 0x14
jae case.0x1401c7fae.12
mov ecx, 0xb7
mov dword [rbp - 0x80], ecx
mov rbx, qword [rbp + 0x70]
test byte [rbp - 0x38], 2
je 0x1401ca675
mov r9d, dword [rsp + 0x54]
mov rbx, r14
cmp r14, r13
jb 0x1401c831d
mov edx, 0x5c
jmp 0x1401c8432
mov eax, 1
mov dword [rbp - 0x7c], eax
mov r14d, dword [rsp + 0x70]
jmp 0x1401c8212
xor ebx, ebx
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x80]
mov word [rbp - 0x70], bx
lea r9, [rsp + 0x60]
mov word [rsp + 0x60], bx
lea r8, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 4]
lea rcx, [rbp + 0x70]
call fcn.1401c6df0
test eax, eax
je 0x1401c81de
cmp dword [rbp - 4], ebx
je 0x1401c8040
cmp edi, 0xf
mov eax, ebx
sete al
lea edi, [rax + 0xf]
movzx ecx, word [rbp - 0x70]
lea eax, [rdi - 0x7fe80000]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov dword [r15], eax
movzx eax, word [rsp + 0x60]
shl ecx, 0x10
or ecx, eax
mov eax, 1
mov dword [r15 + 4], ecx
add r15, 8
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x1401c7cac
mov rbx, qword [rbp + 0x70]
cmp rbx, r13
jae 0x1401c81e6
movzx eax, byte [rbx]
cmp al, 0x7b
je 0x1401c80a3
cmp al, 0x3c
je 0x1401c8127
cmp al, 0x27
jne 0x1401c81e6
cmp al, 0x27
mov esi, 0x7d
mov eax, 0x27
cmove esi, eax
cmp edi, 0x1b
jne 0x1401c8148
cmp esi, 0x7d
je 0x1401c8148
mov r8d, dword [r12 + 0xd4]
lea rax, [rbx + 1]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
lea rax, [rbp - 0x80]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
mov rdx, r13
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.1401cbdd0
test eax, eax
je 0x1401c813d
mov rcx, qword [rsp + 0x78]
cmp rcx, r13
jae 0x1401c812e
movzx eax, byte [rcx]
cmp eax, esi
jne 0x1401c812e
mov eax, dword [rbp - 0x78]
mov rbx, rcx
mov r14d, dword [rsp + 0x70]
jmp 0x1401ca08e
mov esi, 0x3e
jmp 0x1401c80b2
mov eax, 0x9d
mov ecx, eax
mov dword [rbp - 0x80], eax
jmp 0x1401c7fc2
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401c7fc2
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, esi
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401c81de
cmp edi, 0x1c
je 0x1401c8198
mov eax, 0x80210000
cmp esi, 0x7d
jne 0x1401c819d
mov eax, 0x80040000
mov rcx, qword [rbp - 0x68]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov dword [r15], eax
mov eax, dword [rbp - 0x74]
mov dword [r15 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r15 + 8], eax
mov eax, 1
mov dword [r15 + 0xc], ecx
add r15, 0x10
mov dword [rbp - 0x7c], eax
mov qword [rsp + 0x78], r15
jmp 0x1401c7cac
mov ecx, dword [rbp - 0x80]
jmp 0x1401c7fbe
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [rbp - 0x80], ecx
jmp 0x1401c7fc2
mov r14d, dword [rsp + 0x70]
mov eax, 1
bt r14d, 0x11
mov dword [rbp - 0x7c], eax
jb 0x1401c8232
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x78], r15
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
jmp 0x1401c7cac
lea eax, [rdi - 7]
test eax, 0xfffffff9
jne 0x1401c8246
mov eax, 0x80180010
cmp edi, 0xd
jne 0x1401c824b
mov eax, 0x8018000f
mov dword [r15], eax
add edi, 0xfffffffa
add r15, 4
mov qword [rsp + 0x78], r15
cmp edi, 5
ja case.default.0x1401c826c
movsxd rax, edi
mov ecx, dword [rdx + rax*4 + 0x1ca760]
add rcx, rdx
jmp rcx
mov dword [r15], 0x3000d
jmp 0x1401c821b
mov dword [r15], 0x70000
jmp 0x1401c821b
mov dword [r15], 0x90000
jmp 0x1401c821b
mov rbx, qword [rbp + 0x70]
neg edi
mov eax, edi
mov rcx, rbx
sub rcx, qword [r12 + 0x38]
or eax, 0x80030000
dec rcx
mov dword [r15], eax
add r15, 4
mov qword [rbp - 0x68], rcx
mov qword [rsp + 0x78], r15
cmp edi, 0xa
jge 0x1401c82dd
movsxd rax, edi
cmp qword [r12 + rax*8 + 0x58], 0xffffffffffffffff
jne 0x1401c82f4
mov r14d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x54]
mov qword [r12 + rax*8 + 0x58], rcx
mov eax, 1
mov dword [rbp - 0x7c], eax
jmp 0x1401c7cac
mov rax, rcx
shr rax, 0x20
mov dword [r15], eax
mov dword [r15 + 4], ecx
add r15, 8
mov qword [rsp + 0x78], r15
mov r14d, dword [rsp + 0x70]
mov eax, 1
mov r9d, dword [rsp + 0x54]
mov dword [rbp - 0x7c], eax
jmp 0x1401c7cac
mov rbx, qword [rbp + 0x70]
mov edx, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x54]
jmp 0x1401c8432
movzx edx, byte [r14]
lea rbx, [r14 + 1]
test r9d, r9d
je 0x1401c8432
cmp edx, 0xc0
jb 0x1401c8432
test dl, 0x20
jne 0x1401c8355
movzx eax, byte [rbx]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
inc rbx
jmp 0x1401c8432
test dl, 0x10
jne 0x1401c837d
movzx eax, byte [rbx]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 2
jmp 0x1401c8432
test dl, 8
jne 0x1401c83b1
movzx eax, byte [rbx]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 3
jmp 0x1401c8432
movzx ecx, byte [rbx]
and ecx, 0x3f
test dl, 4
jne 0x1401c83f2
and edx, 3
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 4
jmp 0x1401c8432
and edx, 1
mov eax, edx
mov edx, ecx
shl eax, 6
or edx, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
add rbx, 5
mov r14d, dword [rsp + 0x70]
mov eax, 1
mov dword [r15], edx
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x1401c7cac
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80090000
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c785c
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80160000
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c785c
mov r9d, dword [rsp + 0x54]
mov eax, 1
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80170000
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x1401c785c
mov r10d, 0x80340000
jmp 0x1401c8534
mov r10d, 0x80370000
jmp 0x1401c8534
mov r10d, 0x803a0000
jmp 0x1401c8534
lea rax, [rbp - 0x80]
mov rdx, r13
lea r9, [rbp - 0xc]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x10]
lea rcx, [rbp + 0x70]
call fcn.1401cbf00
test eax, eax
jne 0x1401c852a
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401ca4ac
mov rbx, qword [rbp + 0x70]
mov eax, 1
mov r9d, dword [rsp + 0x54]
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x1401c7cac
mov rbx, qword [rbp + 0x70]
mov r10d, 0x803d0000
mov dword [rbp - 0x6c], r10d
test esi, esi
je 0x1401ca45d
cmp dword [r15 - 4], 0x802a0000
lea rcx, [r15 - 4]
jne 0x1401c8580
mov rdx, qword [rbp]
cmp rcx, rdx
jb 0x1401c856e
nop word [rax + rax]
mov eax, dword [rcx]
mov dword [rcx + 4], eax
sub rcx, 4
cmp rcx, rdx
jae 0x1401c8560
mov dword [rdx], 0x801a0000
mov dword [r15 + 4], 0x80190000
add r15, 8
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov dword [r15], r10d
add r15, 4
mov r10d, dword [rsp + 0x5c]
cmp edi, 0x7b
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x78], r15
jne 0x1401c7865
mov eax, dword [rbp - 0x10]
mov dword [r15], eax
mov eax, dword [rbp - 0xc]
mov dword [r15 + 4], eax
add r15, 8
mov qword [rsp + 0x78], r15
jmp 0x1401c7865
mov rax, r13
mov esi, 1
sub rax, rbx
mov dword [rbp - 0x7c], esi
cmp rax, 6
jl 0x1401c868e
lea r8d, [rsi + 5]
mov rcx, rbx
lea rdx, [0x14045c610]
call fcn.1401e1ab0
test eax, eax
je 0x1401c8617
lea r8d, [rsi + 5]
mov rcx, rbx
lea rdx, str._:_:__
call fcn.1401e1ab0
test eax, eax
jne 0x1401c868e
mov dword [r15], 0x80180005
lea rax, [r15 + 8]
cmp byte [rbx + 2], 0x3c
jne 0x1401c8632
mov dword [r15 + 4], 0x80230000
jmp 0x1401c864c
mov rcx, qword [rbp + 0x80]
mov dword [r15 + 4], 0x80250000
mov dword [rcx], esi
xor ecx, ecx
mov qword [rax], rcx
add rax, 8
bt r14d, 0x11
lea r15, [rax + 4]
jb 0x1401c865f
mov dword [rax], 0x8018000b
jmp 0x1401c8670
mov dword [rax], 0x80180010
mov dword [r15], 0x90000
add r15, 4
mov r9d, dword [rsp + 0x54]
mov dword [r15], 0x80190000
add r15, 4
mov qword [rsp + 0x78], r15
add rbx, 6
jmp 0x1401c7cac
cmp rbx, r13
jae 0x1401c86c1
movzx eax, byte [rbx]
cmp al, 0x3d
ja 0x1401c86c1
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x1401c86c1
lea r8, [rbp - 0x20]
mov rdx, r13
mov rcx, rbx
call fcn.1401c2530
test eax, eax
jne 0x1401ca46a
xor r10d, r10d
mov r14d, r10d
cmp rbx, r13
jae 0x1401c889f
mov r12d, dword [rsp + 0x70]
lea r15d, [r10 + 1]
mov edx, dword [rsp + 0x54]
mov rsi, r13
sub rsi, rbx
movzx edi, byte [rbx]
dec rsi
inc rbx
mov dword [rsp + 0x60], edi
mov qword [rbp + 0x70], rbx
mov eax, edi
mov ecx, edi
test edx, edx
je 0x1401c881d
cmp edi, 0xc0
jb 0x1401c881d
test al, 0x20
jne 0x1401c8729
movzx edi, byte [rbx]
and eax, 0x1f
and edi, 0x3f
shl eax, 6
or edi, eax
inc rbx
dec rsi
jmp 0x1401c8813
test al, 0x10
jne 0x1401c8754
movzx edi, byte [rbx]
and eax, 0xf
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
sub rsi, 2
jmp 0x1401c8813
test al, 8
jne 0x1401c878b
movzx edi, byte [rbx]
and eax, 7
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
sub rsi, 3
jmp 0x1401c8813
movzx ecx, byte [rbx]
and ecx, 0x3f
test al, 4
jne 0x1401c87cf
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
sub rsi, 4
jmp 0x1401c8813
and edi, r15d
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
sub rsi, 5
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
cmp ecx, 0x5c
jne 0x1401c8869
cmp rbx, r13
jae 0x1401c8838
cmp byte [rbx], 0x45
jne 0x1401c8838
inc rbx
mov qword [rbp + 0x70], rbx
dec rsi
jmp 0x1401c8887
cmp rsi, 3
jl 0x1401c8890
mov r8d, 3
lea rdx, [0x14045c620]
mov rcx, rbx
call fcn.1401e1ab0
test eax, eax
jne 0x1401c8890
mov edx, dword [rsp + 0x54]
add rbx, 3
mov qword [rbp + 0x70], rbx
sub rsi, 3
jmp 0x1401c8887
bt r12d, 0x18
jae 0x1401c887a
cmp ecx, 9
je 0x1401c8887
cmp ecx, 0x20
je 0x1401c8887
test r14d, r14d
jne 0x1401c8890
cmp edi, 0x5e
jne 0x1401c8890
mov r14d, r15d
cmp rbx, r13
jb 0x1401c86e3
mov r15, qword [rsp + 0x78]
xor r10d, r10d
mov r12, qword [rbp + 0x88]
cmp edi, 0x5d
jne 0x1401c88da
test byte [r12 + 0xcc], 1
je 0x1401c88da
mov r9d, dword [rsp + 0x54]
test r14d, r14d
mov r14d, dword [rsp + 0x70]
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c7cac
mov r11d, dword [rsp + 0x50]
test r14d, r14d
mov eax, 0x800a0000
mov ecx, 0x800e0000
cmovne eax, ecx
mov edx, 1
mov dword [r15], eax
mov r14d, r10d
add r15, 4
mov dword [rbp - 0x7c], edx
mov esi, edx
test r11d, r11d
je 0x1401c8933
cmp edi, 0x5c
jne 0x1401c8e86
cmp rbx, r13
jae 0x1401c8e86
cmp byte [rbx], 0x45
jne 0x1401c8e86
mov r11d, r10d
mov dword [rsp + 0x50], r10d
inc rbx
jmp 0x1401c8a58
mov ecx, dword [rsp + 0x70]
bt ecx, 0x18
jae 0x1401c894f
cmp edi, 0x20
je 0x1401c8a58
cmp edi, 9
je 0x1401c8a58
cmp edi, 0x5b
jne 0x1401c8ae4
mov rax, r13
sub rax, rbx
cmp rax, 3
jl 0x1401c8e86
movzx eax, byte [rbx]
cmp al, 0x3d
ja 0x1401c8e86
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x1401c8e86
lea r8, [rbp - 0x20]
mov rdx, r13
mov rcx, rbx
call fcn.1401c2530
test eax, eax
je 0x1401c8e79
cmp r14d, 1
je 0x1401ca4b9
cmp byte [rbx], 0x3a
jne 0x1401ca489
movzx esi, byte [rbx + 1]
inc rbx
cmp sil, 0x5e
jne 0x1401c89c1
inc rbx
mov rdi, qword [rbp - 0x20]
mov rcx, rbx
mov edx, edi
sub edx, ebx
call fcn.1401c24a0
mov r9d, eax
test eax, eax
js 0x1401ca47f
lea rbx, [rdi + 2]
lea rcx, [r13 - 1]
cmp rbx, rcx
jae 0x1401c89f8
cmp byte [rbx], 0x2d
jne 0x1401c89f8
cmp byte [rbx + 1], 0x5d
jne 0x1401ca4b9
xor r10d, r10d
mov eax, 0x20000
mov r14d, r10d
test dword [rsp + 0x70], eax
je 0x1401c8ac7
lea eax, [r9 + r9]
movsxd rcx, eax
lea rax, [0x140000000]
mov edx, dword [rax + rcx*4 + 0x57da70]
mov r8d, dword [rax + rcx*4 + 0x57da74]
test edx, edx
js 0x1401c8aaa
cmp sil, 0x5e
mov eax, r10d
setne al
shl edx, 0x10
sub eax, 0x7fe7fff1
or edx, r8d
mov dword [r15], eax
mov dword [r15 + 4], edx
add r15, 8
mov r11d, dword [rsp + 0x50]
mov edx, 1
cmp rbx, r13
jae 0x1401ca4d0
movzx edi, byte [rbx]
inc rbx
mov r9d, dword [rsp + 0x54]
mov eax, edi
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
test r9d, r9d
je 0x1401c8fbe
cmp eax, 0xc0
jb 0x1401c8fbe
test al, 0x20
jne 0x1401c8eda
movzx edi, byte [rbx]
and eax, 0x1f
and edi, 0x3f
shl eax, 6
or edi, eax
inc rbx
jmp 0x1401c8fb4
test r8d, r8d
je 0x1401c8ac7
cmp sil, 0x5e
mov eax, r10d
setne al
sub eax, 0x7fe7ffee
mov dword [r15], eax
add r15, 4
jmp 0x1401c8a4e
cmp sil, 0x5e
mov eax, 0x801c0000
mov ecx, 0x801d0000
cmove eax, ecx
mov dword [r15], eax
mov dword [r15 + 4], r9d
jmp 0x1401c8a4a
cmp edi, 0x2d
jne 0x1401c8b13
cmp r14d, 2
jb 0x1401c8e86
cmp r14d, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov r14d, edx
cmove eax, ecx
mov dword [r15], eax
add r15, 4
jmp 0x1401c8a58
cmp edi, 0x5c
jne 0x1401c8e86
mov rax, qword [r12]
lea r9, [rbp - 0x80]
mov qword [rsp + 0x38], r12
lea r8, [rsp + 0x60]
mov dword [rsp + 0x30], edx
mov rdx, r13
mov qword [rbp - 0x20], rbx
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x70]
call fcn.1401c1120
mov ecx, dword [rbp - 0x80]
movsxd rdi, eax
test ecx, ecx
je 0x1401c8cb9
test byte [rbp - 0x38], 2
je 0x1401ca4ac
cmp rbx, r13
jb 0x1401c8b7a
xor r10d, r10d
mov edi, 0x5c
mov esi, r10d
jmp 0x1401c8e7c
movzx edi, byte [rbx]
inc rbx
cmp dword [rsp + 0x54], 0
je 0x1401c8ce4
cmp edi, 0xc0
jb 0x1401c8ce4
test dil, 0x20
jne 0x1401c8bb9
movzx eax, byte [rbx]
and edi, 0x1f
shl edi, 6
and eax, 0x3f
or edi, eax
inc rbx
xor r10d, r10d
mov esi, r10d
jmp 0x1401c8e7c
test dil, 0x10
jne 0x1401c8be8
movzx eax, byte [rbx]
and edi, 0xf
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
xor r10d, r10d
mov esi, r10d
jmp 0x1401c8e7c
test dil, 8
jne 0x1401c8c23
movzx eax, byte [rbx]
and edi, 7
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
xor r10d, r10d
mov esi, r10d
jmp 0x1401c8e7c
movzx ecx, byte [rbx]
and ecx, 0x3f
test dil, 4
jne 0x1401c8c6e
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
xor r10d, r10d
mov esi, r10d
jmp 0x1401c8e7c
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
xor r10d, r10d
mov esi, r10d
jmp 0x1401c8e7c
lea rdx, [0x140000000]
mov rax, rdi
cmp edi, 0x1a
ja case.0x1401c8cda.5
movzx eax, byte [rdx + rax + 0x1ca790]
mov ecx, dword [rdx + rax*4 + 0x1ca778]
add rcx, rdx
jmp rcx
mov rbx, qword [rbp + 0x70]
mov edi, dword [rsp + 0x60]
xor r10d, r10d
mov esi, r10d
jmp 0x1401c8e7c
mov rbx, qword [rbp + 0x70]
xor r10d, r10d
mov esi, r10d
mov edi, 8
jmp 0x1401c8e7c
mov rbx, qword [rbp + 0x70]
mov edx, 1
mov r11d, edx
mov dword [rsp + 0x50], edx
xor r10d, r10d
jmp 0x1401c8a58
mov rbx, qword [rbp + 0x70]
xor r10d, r10d
jmp 0x1401c8a4e
cmp r14d, 1
je 0x1401ca4b5
xor r10d, r10d
lea eax, [rdi - 6]
mov r14d, r10d
cmp eax, 0xf
ja case.0x1401c8d4f.13
cdqe
mov ecx, dword [rdx + rax*4 + 0x1ca7ac]
add rcx, rdx
jmp rcx
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
jmp case.default.0x1401c8db9
mov eax, 0x20000
test dword [rsp + 0x70], eax
jne 0x1401c8d80
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
jmp case.default.0x1401c8db9
lea eax, [rdi - 7]
test eax, 0xfffffff9
jne 0x1401c8d94
mov eax, 0x80180010
cmp edi, 0xd
jne 0x1401c8d99
mov eax, 0x8018000f
mov dword [r15], eax
add edi, 0xfffffffa
add r15, 4
cmp edi, 5
ja case.default.0x1401c8db9
movsxd rax, edi
mov ecx, dword [rdx + rax*4 + 0x1ca7ec]
add rcx, rdx
jmp rcx
mov dword [r15], 0x3000d
add r15, 4
jmp case.default.0x1401c8db9
mov dword [r15], 0x70000
add r15, 4
jmp case.default.0x1401c8db9
mov dword [r15], 0x90000
add r15, 4
jmp case.default.0x1401c8db9
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], r12
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov word [rsp + 0x60], r10w
lea rdx, [rbp - 8]
mov word [rbp - 0x70], r10w
lea rcx, [rbp + 0x70]
call fcn.1401c6df0
test eax, eax
je 0x1401ca51f
xor r10d, r10d
cmp dword [rbp - 8], r14d
je 0x1401c8e31
cmp edi, 0xf
mov eax, r10d
sete al
lea edi, [rax + 0xf]
movzx ecx, word [rsp + 0x60]
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
movzx eax, word [rbp - 0x70]
shl ecx, 0x10
or ecx, eax
mov dword [r15 + 4], ecx
add r15, 8
mov rbx, qword [rbp + 0x70]
lea rax, [r13 - 1]
cmp rbx, rax
jae 0x1401c8a4e
cmp byte [rbx], 0x2d
jne 0x1401c8a4e
cmp byte [rbx + 1], 0x5d
jne 0x1401ca4b9
jmp 0x1401c8a4e
xor r10d, r10d
mov r11d, dword [rsp + 0x50]
mov edx, 1
cmp r14d, 1
jne 0x1401c8eca
cmp edi, dword [r15 - 8]
jne 0x1401c8e9e
sub r15, 4
mov r14d, r10d
jmp 0x1401c8a58
jb 0x1401ca4c3
test esi, esi
jne 0x1401c8ebb
mov eax, 0x801f0000
cmp dword [r15 - 4], eax
jne 0x1401c8ebb
mov dword [r15 - 4], 0x801e0000
mov dword [r15], edi
mov r14d, r10d
add r15, 4
jmp 0x1401c8a58
mov dword [r15], edi
lea r14d, [rsi + 2]
add r15, 4
jmp 0x1401c8a58
test al, 0x10
jne 0x1401c8f01
movzx edi, byte [rbx]
and eax, 0xf
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 2
jmp 0x1401c8fb4
test al, 8
jne 0x1401c8f34
movzx edi, byte [rbx]
and eax, 7
and edi, 0x3f
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 3
jmp 0x1401c8fb4
movzx ecx, byte [rbx]
and ecx, 0x3f
test al, 4
jne 0x1401c8f74
and edi, 3
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 4
jmp 0x1401c8fb4
and edi, 1
mov eax, edi
mov edi, ecx
shl eax, 6
or edi, eax
movzx eax, byte [rbx + 1]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 2]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 3]
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, byte [rbx + 4]
and eax, 0x3f
shl edi, 6
or edi, eax
add rbx, 5
mov dword [rsp + 0x60], edi
mov ecx, edi
mov qword [rbp + 0x70], rbx
cmp ecx, 0x5d
jne 0x1401c8901
test r11d, r11d
jne 0x1401c8901
cmp r14d, 1
jne 0x1401c8fde
mov dword [r15 - 4], 0x2d
mov r14d, dword [rsp + 0x70]
movzx esi, word [rbp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x800d0000
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c7860
cmp rbx, r13
jae 0x1401ca670
cmp byte [rbx], 0x3f
je 0x1401c9524
cmp byte [rbx], 0x2a
movzx esi, word [rbp + 0x78]
je 0x1401c907a
inc si
mov word [rbp + 0x78], si
bt r14d, 0xd
jb 0x1401c9055
mov eax, dword [r12 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1401ca5b0
inc eax
mov dword [r12 + 0xd4], eax
or eax, 0x80080000
jmp 0x1401c905a
mov eax, 0x801a0000
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x78], r15
jmp 0x1401c7860
mov r9d, dword [rsp + 0x54]
mov rax, r13
mov r11d, dword [rsp + 0x50]
sub rax, rbx
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
cmp rax, 1
jle 0x1401c7865
movzx eax, byte [rbx + 1]
cmp al, 0x29
je 0x1401c7865
mov r8d, dword [rsp + 0x54]
mov ecx, eax
mov rax, qword [r12 + 0x20]
xor r9d, r9d
test byte [rcx + rax], 4
lea rcx, [rbp + 0x70]
je 0x1401c932f
mov rax, qword [rbp + 0x88]
lea r12, [0x14045bfe0]
mov qword [rsp + 0x40], rax
mov rdx, r13
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401ca51f
mov rbx, qword [rbp + 0x70]
cmp rbx, r13
jae 0x1401ca501
cmp byte [rbx], 0x3a
jne 0x1401ca501
mov r15d, dword [rbp - 0x74]
lea r9, [0x140000000]
xor eax, eax
mov dword [rbp - 0x78], eax
mov edi, eax
mov r14d, eax
mov r8d, eax
mov ecx, eax
mov edx, eax
movsxd r13, eax
movsxd rax, edi
cmp r15d, dword [r9 + rax*8 + 0x45c0c0]
jne 0x1401c9171
mov edi, ecx
mov esi, edx
mov rcx, qword [rbp - 0x48]
mov rdx, r12
mov r8, r15
call fcn.1401e1ab0
lea r9, [0x140000000]
test eax, eax
je 0x1401c9198
mov r8d, r14d
mov eax, dword [r9 + r13*8 + 0x45c0c0]
lea edi, [r8 + 1]
inc eax
mov dword [rbp - 0x78], edi
add r12, rax
mov r14d, edi
mov eax, edi
mov r8d, edi
mov ecx, edi
mov edx, edi
mov esi, edi
cmp edi, 0x11
jl 0x1401c9140
cmp edi, 0x11
jge 0x1401ca501
mov r8d, dword [rbp - 0x70]
movsxd rax, esi
mov ecx, dword [r9 + rax*8 + 0x45c0c4]
test r8d, r8d
jle 0x1401c91c6
lea eax, [rcx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x1401ca4da
cmp ecx, 0x80250000
ja 0x1401c9229
je 0x1401c9312
cmp ecx, 0x80020000
je 0x1401c9bfb
cmp ecx, 0x80220000
je 0x1401c925a
cmp ecx, 0x80230000
je 0x1401c9c33
cmp ecx, 0x80240000
jne 0x1401ca4f7
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80240000
inc rbx
jmp 0x1401c9cf7
mov eax, 0x80260000
cmp ecx, eax
je 0x1401c9312
cmp ecx, 0x80270000
je 0x1401c9c5c
cmp ecx, 0x80280000
je 0x1401c9312
cmp ecx, 0x8fff0000
jne 0x1401ca4f7
mov r15, qword [rsp + 0x78]
inc rbx
movzx esi, word [rbp + 0x78]
mov r13, qword [rbp - 0x50]
inc si
mov r14d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80220000
add r15, 4
mov qword [rsp + 0x78], r15
mov word [rbp + 0x78], si
cmp ecx, 0x8fff0000
jne 0x1401c7850
mov rdi, qword [rbp - 0x60]
mov dword [r15], 0x80020000
add r15, 4
mov qword [rsp + 0x78], r15
test rdi, rdi
jne 0x1401c92d6
mov r12, qword [rbp + 0x88]
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x60], rdi
jmp 0x1401c92ef
add rdi, 0xc
mov qword [rbp - 0x60], rdi
cmp rdi, qword [rbp + 8]
jae 0x1401ca5e1
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov eax, r14d
mov r11d, dword [rsp + 0x50]
and eax, 0x10424e8
mov dword [rdi + 8], eax
mov word [rdi], si
mov word [rdi + 6], 4
jmp 0x1401c7860
mov r13, qword [rbp - 0x50]
dec rbx
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
jmp 0x1401c9cbc
mov rdi, qword [rbp - 0x50]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea r13, [0x14045bf40]
mov qword [rsp + 0x38], rax
mov rdx, rdi
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401ca51f
mov rbx, qword [rbp + 0x70]
cmp rbx, rdi
jae 0x1401ca604
movzx eax, byte [rbx]
cmp al, 0x3a
je 0x1401c938f
cmp al, 0x29
jne 0x1401ca604
mov r12d, dword [rbp - 0x74]
lea r10, [0x140000000]
xor eax, eax
mov esi, eax
mov dword [rbp - 0x78], eax
mov ecx, eax
mov r14d, eax
mov r8d, eax
mov edx, eax
nop dword [rax + rax]
movsxd r15, eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
cmp r12d, dword [r10 + rcx*4 + 0x45bf70]
jne 0x1401c93e3
mov rcx, qword [rbp - 0x48]
mov edi, edx
mov rdx, r13
mov r8, r12
call fcn.1401e1ab0
lea r10, [0x140000000]
test eax, eax
je 0x1401c940e
mov r8d, r14d
lea esi, [r8 + 1]
lea rax, [r15 + r15*2]
mov dword [rbp - 0x78], esi
mov eax, dword [r10 + rax*4 + 0x45bf70]
mov ecx, esi
inc eax
mov r14d, esi
add r13, rax
mov r8d, esi
mov eax, esi
mov edx, esi
mov edi, esi
cmp esi, 9
jl 0x1401c93b0
cmp edi, 9
jge 0x1401ca604
cmp byte [rbx], 0x3a
mov r13, qword [rbp - 0x50]
jne 0x1401c9430
lea rax, [rbx + 1]
cmp rax, r13
jae 0x1401c9430
cmp byte [rax], 0x29
cmove rbx, rax
movsxd rax, esi
lea rcx, [rax + rax*2]
lea rcx, [rcx*4]
mov edx, dword [rcx + r10 + 0x45bf78]
test edx, edx
jle 0x1401c947f
cmp byte [rbx], 0x3a
jne 0x1401ca50b
mov r9, qword [rsp + 0x78]
xor edx, edx
mov ecx, dword [rcx + r10 + 0x45bf74]
mov esi, edx
inc rbx
mov qword [rbp], r9
cmp ecx, 0x802a0000
lea r8, [r9 + 4]
sete sil
mov dword [rbp - 0x7c], esi
jmp 0x1401c94bf
mov r9, qword [rsp + 0x78]
xor eax, eax
mov ecx, dword [rcx + r10 + 0x45bf74]
mov esi, eax
movzx eax, byte [rbx]
cmp ecx, 0x802a0000
mov qword [rbp], r9
sete sil
lea r8, [r9 + 4]
inc rbx
mov dword [rbp - 0x7c], esi
cmp al, 0x3a
jne 0x1401c9503
test edx, edx
jns 0x1401c94bd
mov dword [rbp - 0x3c], ecx
mov eax, 0x80290000
jmp 0x1401c94d1
xor edx, edx
mov eax, edx
cmp ecx, 0x80290000
mov edx, 0x10000
cmovne eax, edx
add eax, ecx
mov r14d, dword [rsp + 0x70]
lea r15, [r8 + 4]
mov dword [r9], eax
mov r12, qword [rbp + 0x88]
mov r9d, dword [rsp + 0x54]
mov qword [rsp + 0x78], r15
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x18], rbx
mov dword [rsp + 0x58], 1
jmp 0x1401c7cac
mov r12, qword [rbp + 0x88]
mov r15, r8
mov r14d, dword [rsp + 0x70]
mov dword [r9], ecx
mov r9d, dword [rsp + 0x54]
mov qword [rsp + 0x78], r8
jmp 0x1401c7cac
inc rbx
mov qword [rbp + 0x70], rbx
cmp rbx, r13
jae 0x1401ca670
movzx edx, byte [rbx]
lea eax, [rdx - 0x21]
cmp eax, 0x31
ja case.0x1401c955e.46
lea rsi, [0x140000000]
cdqe
movzx eax, byte [rsi + rax + 0x1ca83c]
mov ecx, dword [rsi + rax*4 + 0x1ca804]
add rcx, rsi
jmp rcx
inc rbx
mov qword [rbp + 0x70], rbx
cmp rbx, r13
jae 0x1401ca670
movzx eax, byte [rbx]
cmp al, 0x3c
jne 0x1401c9582
mov r9d, 0x3e
jmp 0x1401c9d68
cmp al, 0x3e
je case.0x1401c955e.34
cmp al, 0x3d
jne 0x1401ca515
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, 0x29
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401ca51f
mov dword [r15], 0x80040000
mov eax, dword [rbp - 0x74]
mov rcx, qword [rbp - 0x68]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov dword [r15 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r15 + 8], eax
mov eax, 1
mov dword [r15 + 0xc], ecx
add r15, 0x10
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x1401c7cac
inc rbx
mov eax, r11d
mov dword [rbp - 0x78], eax
cmp rbx, r13
jae 0x1401c9631
cmp byte [rbx], 0x29
je 0x1401ca093
mov ecx, 0x9e
jmp 0x1401ca675
mov rax, r13
sub rax, rbx
cmp rax, 2
jl 0x1401c9655
movzx eax, byte [rbx + 1]
sub al, 0x30
cmp al, 9
jbe case.0x1401c955e.39
mov ecx, 0x81
jmp 0x1401ca675
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, 0x29
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401ca51f
mov dword [r15], 0x80210000
jmp 0x1401c95e1
inc rbx
cmp rbx, r13
jae 0x1401ca670
lea r10d, [r8 - 1]
mov dword [rsp + 0x5c], r10d
test r9, r9
je 0x1401c96e8
test r14b, 4
je 0x1401c96e8
lea rax, [r15 - 0x10]
cmp r9, rax
jne 0x1401c96e8
cmp dword [r15 - 4], 0xff
cmove r15, r9
movzx edx, byte [rbx]
mov r11, r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
mov dword [rbp - 0x58], 1
cmp dl, 0x29
je 0x1401c97d1
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x1401c97d1
xor edi, edi
mov r10, rbx
cmp dword [0x1404485a0], edi
mov dword [rbp - 0x78], edi
je 0x1401c9758
mov r9d, edx
mov ecx, edi
mov edx, edi
mov r8d, edi
nop dword [rax + rax]
movsxd rax, ecx
movsxd rdx, edx
cmp r9d, dword [rsi + rax*4 + 0x4485a0]
je 0x1401c9762
lea ecx, [r8 + 1]
movsxd rax, r8d
mov edx, ecx
mov dword [rbp - 0x78], ecx
mov r8d, ecx
cmp dword [rsi + rax*4 + 0x4485a4], edi
jne 0x1401c9730
mov ecx, 0xb6
jmp 0x1401ca675
mov ecx, dword [rsi + rdx*4 + 0x448578]
test ecx, ecx
je 0x1401c9758
mov dword [r15], 0x80070000
inc rbx
cmp rbx, r13
jae 0x1401ca535
movzx eax, byte [rbx]
cmp eax, ecx
jne 0x1401c9774
inc rbx
cmp rbx, r13
jae 0x1401c9796
movzx eax, byte [rbx]
cmp eax, ecx
je 0x1401c9774
mov rax, rbx
mov ecx, 0xffffffff
sub rax, r10
cmp rax, rcx
ja 0x1401ca52b
mov dword [r15 + 0xc], eax
sub r10, qword [r12 + 0x38]
mov rax, r10
mov dword [r15 + 0x14], r10d
shr rax, 0x20
mov dword [r15 + 0x10], eax
add r15, 0x14
mov qword [rbp - 0x68], r10
mov r10d, dword [rsp + 0x5c]
jmp 0x1401c980a
xor edi, edi
mov dword [r15], 0x80060000
mov ecx, edi
add r15, 0xc
movzx edx, byte [rbx]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x1401c9807
lea ecx, [rcx + rcx*4]
inc rbx
lea ecx, [rcx - 0x18]
lea ecx, [rdx + rcx*2]
cmp ecx, 0xff
jg 0x1401ca542
cmp rbx, r13
jb 0x1401c97e0
mov dword [r15], ecx
cmp rbx, r13
jae 0x1401ca54c
cmp byte [rbx], 0x29
jne 0x1401ca54c
movzx esi, word [rbp + 0x78]
inc rbx
mov eax, ebx
sub eax, dword [r12 + 0x38]
mov dword [r11 + 4], eax
mov dword [r11 + 8], edi
jmp 0x1401ca338
inc rbx
mov qword [rbp + 0x70], rbx
cmp rbx, r13
jae 0x1401ca670
movzx esi, word [rbp + 0x78]
movzx eax, byte [rbx]
inc si
mov word [rbp + 0x78], si
cmp al, 0x3f
je 0x1401c9bdc
cmp al, 0x2a
je 0x1401c9bdc
mov r8d, dword [r12 + 0xd4]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rbp - 0x78]
mov r9d, 0xffff
mov qword [rsp + 0x28], rax
mov rdx, r13
mov dword [rsp + 0x20], 0xa1
call fcn.1401cbdd0
test eax, eax
je 0x1401c98df
mov edx, dword [rbp - 0x78]
mov rbx, qword [rbp + 0x70]
test edx, edx
jle 0x1401ca556
mov dword [r15], 0x80120000
mov rcx, rbx
sub rcx, qword [r12 + 0x38]
sub rcx, 2
mov dword [r15 + 0xc], edx
mov rax, rcx
mov dword [r15 + 8], ecx
shr rax, 0x20
mov dword [r15 + 4], eax
add r15, 0xc
mov qword [rbp - 0x68], rcx
jmp 0x1401c9ba5
mov ecx, dword [rbp - 0x80]
test ecx, ecx
jne 0x1401ca4ac
mov rdi, qword [rbp + 0x70]
mov rsi, r13
sub rsi, rdi
cmp rsi, 0xa
jl 0x1401c9a1c
lea r8d, [rcx + 7]
mov rcx, rdi
lea rdx, [0x14045c628]
call fcn.1401e1ab0
test eax, eax
jne 0x1401c9a1c
movzx eax, byte [rdi + 7]
lea rbx, [rdi + 7]
cmp al, 0x29
je 0x1401c9a1c
xor ecx, ecx
mov dword [rsp + 0x60], ecx
mov esi, ecx
mov edi, ecx
cmp al, 0x3e
jne 0x1401c9941
movzx eax, byte [rbx + 1]
lea esi, [rcx + 1]
inc rbx
cmp al, 0x3d
jne 0x1401ca560
movzx eax, byte [rbx + 1]
inc rbx
sub al, 0x30
mov qword [rbp + 0x70], rbx
cmp al, 9
ja 0x1401ca560
lea rax, [rbp - 0x80]
mov r9d, 0x3e8
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rsp + 0x60]
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rdx, r13
mov dword [rsp + 0x20], 0xb3
call fcn.1401cbdd0
test eax, eax
je 0x1401ca51f
mov rbx, qword [rbp + 0x70]
cmp rbx, r13
jae 0x1401ca560
cmp byte [rbx], 0x2e
jne 0x1401c99fd
inc rbx
cmp rbx, r13
jae 0x1401ca560
movzx ecx, byte [rbx]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1401ca560
lea eax, [rcx - 0x30]
inc rbx
lea edi, [rax + rax*4]
add edi, edi
cmp rbx, r13
jae 0x1401ca560
movzx ecx, byte [rbx]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1401c99eb
lea eax, [rcx - 0x30]
add edi, eax
inc rbx
cmp rbx, r13
jae 0x1401ca560
cmp byte [rbx], 0x29
jne 0x1401ca560
mov eax, dword [rsp + 0x60]
mov dword [r15], 0x80150000
mov dword [r15 + 4], esi
mov dword [r15 + 8], eax
add r15, 0xc
mov dword [r15], edi
jmp 0x1401c9ba1
xor eax, eax
mov r14d, eax
movzx eax, byte [rdi]
cmp al, 0x52
jne 0x1401c9a46
cmp rsi, 1
jle 0x1401c9a62
cmp byte [rdi + 1], 0x26
lea rax, [rdi + 1]
jne 0x1401c9a62
mov esi, 1
mov qword [rbp + 0x70], rax
mov r14d, esi
jmp 0x1401c9a6e
cmp al, 0x3c
jne 0x1401c9a54
mov ebx, 0x3e
lea esi, [rbx - 0x3d]
jmp 0x1401c9a73
cmp al, 0x27
jne 0x1401c9a62
mov ebx, 0x27
lea esi, [rbx - 0x26]
jmp 0x1401c9a73
dec rdi
mov esi, 1
mov qword [rbp + 0x70], rdi
mov ebx, 0x29
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r9d, ebx
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401ca51f
mov edi, dword [rbp - 0x74]
test r14d, r14d
je 0x1401c9ad3
mov rbx, qword [rbp + 0x70]
dec rbx
mov dword [r15], 0x80130000
jmp 0x1401c9b72
cmp ebx, 0x29
jne 0x1401c9b67
mov rbx, qword [rbp - 0x48]
cmp edi, 6
jne 0x1401c9b0c
mov r8d, edi
lea rdx, str.DEFINE
mov rcx, rbx
call fcn.1401e1ab0
test eax, eax
jne 0x1401c9b0c
mov eax, 0x80100000
mov dword [r15], eax
mov rbx, qword [rbp + 0x70]
dec rbx
jmp 0x1401c9b72
mov dword [rbp - 0x78], esi
mov eax, esi
cmp edi, 1
jle 0x1401c9b48
mov r9d, esi
mov r8d, esi
mov edx, esi
nop
cdqe
movzx ecx, byte [rax + rbx]
mov eax, edx
cmp cl, 0x30
jb 0x1401c9b48
mov eax, r8d
cmp cl, 0x39
ja 0x1401c9b48
lea eax, [r9 + 1]
mov dword [rbp - 0x78], eax
mov r9d, eax
mov r8d, eax
mov edx, eax
cmp eax, edi
jl 0x1401c9b20
cmp byte [rbx], 0x52
jne 0x1401c9b56
cmp eax, edi
mov eax, 0x80140000
jge 0x1401c9b5b
mov eax, 0x80110000
mov dword [r15], eax
mov rbx, qword [rbp + 0x70]
dec rbx
jmp 0x1401c9b72
mov rbx, qword [rbp + 0x70]
mov dword [r15], 0x80110000
mov eax, dword [r15]
add r15, 4
cmp eax, 0x80100000
je 0x1401c9b87
mov dword [r15], edi
add r15, 4
mov rcx, qword [rbp - 0x68]
mov r14d, dword [rsp + 0x70]
mov rax, rcx
shr rax, 0x20
mov dword [r15], eax
add r15, 4
mov dword [r15], ecx
movzx esi, word [rbp + 0x78]
cmp rbx, r13
jae 0x1401ca56a
cmp byte [rbx], 0x29
jne 0x1401ca56a
mov r9d, dword [rsp + 0x54]
inc rbx
mov r11d, dword [rsp + 0x50]
add r15, 4
mov r8d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x5c]
mov qword [rsp + 0x78], r15
jmp 0x1401c7860
mov eax, 2
mov dword [r15], 0x800f0000
add r15, 4
mov dword [rsp + 0x5c], eax
dec rbx
mov r10d, eax
jmp 0x1401ca33c
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
movzx esi, word [rbp + 0x78]
inc si
mov dword [r15], 0x80020000
add r15, 4
mov word [rbp + 0x78], si
inc rbx
jmp 0x1401ca33c
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80230000
inc rbx
jmp 0x1401c9cf7
mov r15, qword [rsp + 0x78]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x5c]
mov dword [r15], 0x80270000
inc rbx
jmp 0x1401c9cf7
mov rax, r13
sub rax, rbx
cmp rax, 1
jle 0x1401c9577
movzx eax, byte [rbx + 1]
cmp al, 0x3d
je 0x1401c9cb7
cmp al, 0x21
je 0x1401c9ca6
cmp al, 0x2a
jne 0x1401c9577
cmp al, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x1401c9cbc
mov ecx, 0x80250000
mov r9, qword [rsp + 0x78]
lea r15, [r9 + 8]
mov dword [r9], ecx
mov rcx, rbx
mov rax, qword [rbp + 0x80]
mov dword [rax], 1
sub rcx, qword [r12 + 0x38]
sub rcx, 2
mov rax, rcx
mov qword [rbp - 0x68], rcx
shr rax, 0x20
mov dword [r9 + 4], eax
add rbx, 2
mov dword [r15], ecx
movzx esi, word [rbp + 0x78]
add r15, 4
inc si
mov qword [rsp + 0x78], r15
mov word [rbp + 0x78], si
test r8d, r8d
jle 0x1401ca341
mov rdi, qword [rbp - 0x60]
test rdi, rdi
jne 0x1401c9d28
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x60], rdi
jmp 0x1401c9d3a
add rdi, 0xc
mov qword [rbp - 0x60], rdi
cmp rdi, qword [rbp + 8]
jae 0x1401ca5e1
mov r9d, dword [rsp + 0x54]
mov eax, r14d
mov r11d, dword [rsp + 0x50]
and eax, 0x10424e8
mov r8d, dword [rsp + 0x58]
mov dword [rdi + 8], eax
mov word [rdi], si
mov word [rdi + 6], 2
jmp 0x1401c7860
mov r9d, 0x27
mov r8d, dword [rsp + 0x54]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], r12
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov rdx, r13
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.1401cba20
test eax, eax
je 0x1401ca51f
mov eax, dword [r12 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1401ca5ac
inc word [rbp + 0x78]
inc eax
mov dword [r12 + 0xd4], eax
or eax, 0x80080000
mov dword [r15], eax
add r15, 4
movzx edx, word [r12 + 0xb0]
mov eax, 0x2710
mov qword [rsp + 0x78], r15
cmp dx, ax
jae 0x1401ca59e
mov r14d, dword [rbp - 0x74]
movzx eax, word [r12 + 0xb2]
lea ecx, [r14 + 3]
cmp ecx, eax
jbe 0x1401c9e17
lea eax, [r14 + 3]
mov word [r12 + 0xb2], ax
mov rbx, qword [r12 + 0xc0]
xor eax, eax
mov r12, qword [rbp - 0x48]
mov r15d, eax
mov rcx, qword [rbp + 0x88]
mov esi, eax
mov dword [rbp - 0x78], eax
mov edi, eax
cmp ax, dx
jae 0x1401c9eb1
nop dword [rax + rax]
movzx eax, word [rbx + 0xc]
cmp r14d, eax
jne 0x1401c9e8c
mov rdx, qword [rbx]
mov r8, r14
mov rcx, r12
call fcn.1401e1ab0
mov rcx, qword [rbp + 0x88]
test eax, eax
jne 0x1401c9e8c
mov eax, dword [rcx + 0xd4]
cmp dword [rbx + 8], eax
je 0x1401c9eb1
test byte [rsp + 0x70], 0x40
je 0x1401ca574
mov eax, 1
mov word [rbx + 0xe], ax
mov r15d, eax
mov dword [rcx + 0x128], eax
jmp 0x1401c9e9b
mov eax, dword [rcx + 0xd4]
cmp dword [rbx + 8], eax
je 0x1401ca582
movzx eax, word [rcx + 0xb0]
inc esi
add rbx, 0x10
mov dword [rbp - 0x78], esi
mov edi, esi
cmp esi, eax
jl 0x1401c9e40
movzx ecx, word [rcx + 0xb0]
cmp edi, ecx
jge 0x1401c9edb
mov r15, qword [rsp + 0x78]
mov r12, qword [rbp + 0x88]
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
jmp 0x1401c7cac
mov rdx, qword [rbp + 0x88]
mov eax, dword [rdx + 0xc8]
cmp ecx, eax
jb 0x1401c9f63
lea edi, [rax + rax]
mov rax, qword [rdx]
mov ecx, edi
shl rcx, 4
mov rdx, qword [rax + 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x1401ca590
mov rax, qword [rbp + 0x88]
mov rcx, rbx
mov r8d, dword [rax + 0xc8]
mov rdx, qword [rax + 0xc0]
shl r8, 4
call fcn.1403ebbf0
mov rax, qword [rbp + 0x88]
cmp dword [rax + 0xc8], 0x14
jbe 0x1401c9f54
mov r8, qword [rax]
mov rcx, qword [rax + 0xc0]
mov rdx, qword [r8 + 0x10]
call qword [r8 + 8]
mov rax, qword [rbp + 0x88]
mov qword [rax + 0xc0], rbx
mov dword [rax + 0xc8], edi
jmp 0x1401c9f6a
mov rax, qword [rbp + 0x88]
movzx ecx, word [rax + 0xb0]
mov rax, qword [rax + 0xc0]
add rcx, rcx
mov rbx, qword [rbp + 0x70]
mov r9d, dword [rsp + 0x54]
mov qword [rax + rcx*8], r12
mov r12, qword [rbp + 0x88]
movzx ecx, word [r12 + 0xb0]
mov rax, qword [r12 + 0xc0]
add rcx, rcx
mov word [rax + rcx*8 + 0xc], r14w
movzx edx, word [r12 + 0xb0]
mov rcx, qword [r12 + 0xc0]
add rdx, rdx
mov eax, dword [r12 + 0xd4]
mov r14d, dword [rsp + 0x70]
mov dword [rcx + rdx*8 + 8], eax
movzx ecx, word [r12 + 0xb0]
mov rax, qword [r12 + 0xc0]
add rcx, rcx
mov word [rax + rcx*8 + 0xe], r15w
inc word [r12 + 0xb0]
mov r15, qword [rsp + 0x78]
jmp 0x1401c7cac
cmp dl, 0x2d
jne 0x1401ca0ce
mov rax, r13
sub rax, rbx
cmp rax, 1
jle 0x1401ca0ce
movzx eax, byte [rbx + 1]
sub al, 0x30
cmp al, 9
ja 0x1401ca0ce
movzx eax, byte [rbx]
mov r8d, 0xffffffff
sub al, 0x30
cmp al, 9
jbe 0x1401ca039
mov r8d, dword [r12 + 0xd4]
lea rax, [rbp - 0x80]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x70]
lea rax, [rbp - 0x78]
mov rdx, r13
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.1401cbdd0
test eax, eax
je 0x1401ca51f
mov eax, dword [rbp - 0x78]
mov rbx, qword [rbp + 0x70]
test eax, eax
js 0x1401ca5ba
cmp rbx, r13
jae 0x1401ca670
cmp byte [rbx], 0x29
jne 0x1401ca670
mov r10d, dword [rsp + 0x5c]
movzx esi, word [rbp + 0x78]
or eax, 0x80200000
mov dword [r15], eax
mov rcx, rbx
sub rcx, qword [r12 + 0x38]
inc rbx
mov rax, rcx
mov dword [r15 + 8], ecx
shr rax, 0x20
mov dword [r15 + 4], eax
add r15, 0xc
mov eax, 1
mov qword [rbp - 0x68], rcx
mov dword [rbp - 0x7c], eax
jmp 0x1401ca33c
movzx esi, word [rbp + 0x78]
mov rdi, qword [rbp - 0x60]
inc si
mov word [rbp + 0x78], si
test rdi, rdi
jne 0x1401ca0ed
mov rdi, qword [r12 + 0x28]
mov qword [rbp - 0x60], rdi
jmp 0x1401ca0ff
add rdi, 0xc
mov qword [rbp - 0x60], rdi
cmp rdi, qword [rbp + 8]
jae 0x1401ca5e1
mov eax, r14d
mov word [rdi], si
and eax, 0x10424e8
mov word [rdi + 6], r11w
mov dword [rdi + 8], eax
cmp byte [rbx], 0x7c
jne 0x1401ca156
movzx eax, word [r12 + 0xd4]
mov word [rdi + 2], ax
movzx eax, word [r12 + 0xd4]
mov word [rdi + 4], ax
mov word [rdi + 6], 1
or dword [r12 + 0xd0], 0x200000
mov dword [r15], 0x801a0000
add r15, 4
inc rbx
jmp 0x1401ca33c
mov dword [rdi + 2], r11d
lea r8, [rbp - 0x14]
movzx eax, byte [rbx]
mov ecx, r11d
mov dword [rbp - 0x18], ecx
mov edx, r11d
mov dword [rbp - 0x14], edx
mov r10d, r14d
cmp al, 0x5e
jne 0x1401ca17e
and r14d, 0xfeffdb57
inc rbx
cmp al, 0x5e
mov r9d, r11d
setne r9b
cmp rbx, r13
jae 0x1401ca250
lea rdx, [0x140000000]
nop word [rax + rax]
movzx eax, byte [rbx]
cmp al, 0x29
je 0x1401ca24a
cmp al, 0x3a
je 0x1401ca24a
inc rbx
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x1401ca1d6.53
cdqe
movzx eax, byte [rdx + rax + 0x1ca894]
mov ecx, dword [rdx + rax*4 + 0x1ca870]
add rcx, rdx
jmp rcx
test r9d, r9d
je 0x1401ca5c7
lea r8, [rbp - 0x18]
mov r9d, r11d
jmp 0x1401ca241
or dword [r8], 0x40
or dword [r12 + 0xd0], 0x400
jmp 0x1401ca241
or dword [r8], 8
jmp 0x1401ca241
or dword [r8], 0x400
jmp 0x1401ca241
or dword [r8], 0x2000
jmp 0x1401ca241
or dword [r8], 0x20
jmp 0x1401ca241
or dword [r8], 0x40000
jmp 0x1401ca241
mov eax, dword [r8]
bts eax, 7
mov dword [r8], eax
cmp rbx, r13
jae 0x1401ca24a
cmp byte [rbx], 0x78
jne 0x1401ca241
bts eax, 0x18
mov dword [r8], eax
inc rbx
cmp rbx, r13
jb 0x1401ca1a0
mov edx, dword [rbp - 0x14]
mov ecx, dword [rbp - 0x18]
mov eax, edx
and eax, 0x1000080
cmp eax, 0x80
je 0x1401ca262
test cl, cl
jns 0x1401ca266
bts ecx, 0x18
or r14d, edx
not ecx
and r14d, ecx
mov dword [rsp + 0x70], r14d
cmp rbx, r13
jae 0x1401ca670
movzx eax, byte [rbx]
inc rbx
cmp al, 0x29
jne 0x1401ca2ae
mov eax, 0xffff
add si, ax
mov word [rbp + 0x78], si
cmp rdi, qword [r12 + 0x28]
jbe 0x1401ca2a9
cmp word [rdi - 0xc], si
lea rax, [rdi - 0xc]
jne 0x1401ca2a9
mov qword [rbp - 0x60], rax
jmp 0x1401ca2be
mov word [rdi], si
jmp 0x1401ca2be
mov dword [r15], 0x801a0000
add r15, 4
mov qword [rsp + 0x78], r15
mov r9d, dword [rsp + 0x54]
cmp r14d, r10d
mov r10d, dword [rsp + 0x5c]
mov r11d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x58]
je 0x1401c7865
mov dword [r15], 0x801b0000
mov dword [r15 + 4], r14d
add r15, 8
mov qword [rsp + 0x78], r15
jmp 0x1401c7865
mov rdi, qword [rbp - 0x60]
movzx esi, word [rbp + 0x78]
test rdi, rdi
je 0x1401ca331
cmp word [rdi], si
jne 0x1401ca331
test byte [rdi + 6], 1
je 0x1401ca331
movzx eax, word [rdi + 4]
mov ecx, dword [r12 + 0xd4]
cmp ecx, eax
jbe 0x1401ca325
mov word [rdi + 4], cx
movzx eax, word [rdi + 2]
mov dword [r12 + 0xd4], eax
mov dword [r15], 0x80010000
add r15, 4
mov qword [rsp + 0x78], r15
mov r9d, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
jmp 0x1401c7860
mov rdi, qword [rbp - 0x60]
mov eax, 1
movzx esi, word [rbp + 0x78]
mov dword [rbp - 0x7c], eax
test rdi, rdi
je 0x1401ca3db
cmp word [rdi], si
jne 0x1401ca3db
and r14d, 0xfefbdb17
or r14d, dword [rdi + 8]
mov dword [rsp + 0x70], r14d
test byte [rdi + 6], al
je 0x1401ca39a
movzx eax, word [rdi + 4]
cmp eax, dword [r12 + 0xd4]
jbe 0x1401ca39a
mov dword [r12 + 0xd4], eax
movzx eax, word [rdi + 6]
movzx r11d, ax
not r11w
shr r11d, 1
and r11d, 1
mov dword [rbp - 0x7c], r11d
test al, 4
je 0x1401ca3c0
mov dword [r15], 0x80190000
add r15, 4
cmp rdi, qword [r12 + 0x28]
jne 0x1401ca3cf
xor eax, eax
mov qword [rbp - 0x60], rax
jmp 0x1401ca3db
sub rdi, 0xc
mov dword [rbp - 0x7c], r11d
mov qword [rbp - 0x60], rdi
test si, si
je 0x1401ca5eb
mov r9d, dword [rsp + 0x54]
mov eax, 0xffff
mov r11d, dword [rsp + 0x50]
add si, ax
mov r8d, dword [rsp + 0x58]
mov dword [r15], 0x80190000
add r15, 4
mov qword [rsp + 0x78], r15
mov word [rbp + 0x78], si
jmp 0x1401c7860
mov r9d, dword [rsp + 0x54]
mov eax, 1
mov r11d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
mov dword [r15], edi
add r15, 4
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x7c], eax
jmp 0x1401c785c
mov ecx, 0x8c
jmp 0x1401ca675
dec rbx
mov ecx, 0xb0
jmp 0x1401ca675
mov ecx, 0x76
jmp 0x1401ca675
mov ecx, 0x6d
dec rbx
jmp 0x1401ca675
movzx eax, byte [rbx]
xor ecx, ecx
dec rbx
cmp al, 0x3a
setne cl
add ecx, 0x70
jmp 0x1401ca675
mov ecx, 0x82
jmp 0x1401ca675
mov ecx, 0x71
dec rbx
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0x6b
dec rbx
jmp 0x1401ca675
mov ecx, 0xab
mov rbx, qword [rbp + 0x70]
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0x96
jmp 0x1401ca675
mov ecx, 0x6c
dec rbx
jmp 0x1401ca675
mov ecx, 0x6a
jmp 0x1401ca675
lea eax, [rcx + 0x7fd90000]
mov ecx, 0xc6
test eax, 0xfffeffff
mov eax, 0x80
cmovne ecx, eax
jmp 0x1401ca675
mov ecx, 0xbd
jmp 0x1401ca675
mov ecx, 0xc3
jmp 0x1401ca675
mov ecx, 0xa6
jmp 0x1401ca675
mov ecx, 0x8d
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, dword [rbp - 0x80]
jmp 0x1401ca675
mov ecx, 0xac
jmp 0x1401ca675
mov ecx, 0xb5
mov rbx, r10
jmp 0x1401ca675
mov ecx, 0x8a
jmp 0x1401ca675
mov ecx, 0x8b
jmp 0x1401ca675
mov ecx, 0x73
jmp 0x1401ca675
mov ecx, 0xb3
jmp 0x1401ca675
mov ecx, 0x7c
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0x8f
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0xa5
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0x79
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0x95
jmp 0x1401ca675
mov rbx, qword [rbp + 0x70]
mov ecx, 0xc5
jmp 0x1401ca675
mov ecx, 0x73
dec rbx
jmp 0x1401ca675
mov ecx, 0xc2
dec rbx
jmp 0x1401ca675
mov ecx, 0x6f
dec rbx
jmp 0x1401ca675
mov ecx, 0xb8
jmp 0x1401ca675
mov ecx, 0x7a
dec rbx
jmp 0x1401ca675
mov ecx, 0x77
jmp 0x1401ca675
test r8d, r8d
je 0x1401ca60b
mov ecx, 0xa0
jmp 0x1401ca675
mov r14d, dword [rbp - 0x38]
mov r8d, dword [rbp - 0x40]
lea rdx, [rbp - 0x28]
mov r9, r15
mov qword [rsp + 0x20], r12
mov rcx, rbx
call fcn.1401c7530
test r14b, 8
je 0x1401ca63c
mov dword [rax], 0x80190000
mov dword [rax + 4], 0x80160000
jmp 0x1401ca64f
test r14b, 4
je 0x1401ca653
mov dword [rax], 0x80190000
mov dword [rax + 4], 0x80180005
add rax, 8
cmp rax, qword [rsp + 0x68]
jb 0x1401ca661
mov ecx, 0xa3
jmp 0x1401ca675
mov dword [rax], 0x80000000
test si, si
jne 0x1401ca670
xor eax, eax
jmp 0x1401ca689
mov ecx, 0x72
mov rax, qword [rbp + 0x88]
sub rbx, qword [rax + 0x38]
mov qword [rax + 0xa8], rbx
mov eax, ecx
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret