Function at 0x18004b330
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
imul r10d, dword [rdx], 0x1e35a7bd
xor ebx, ebx
mov rax, qword [rcx + 0x28]
mov r11, r9
mov r9, rcx
mov dword [rsp], ebx
mov r12, r8
mov rbp, rdx
shr r10, 0x11
movzx ecx, word [rax + r10*2]
test rcx, rcx
je 0x18004c0b8
lea esi, [rbx + 0x74]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r9 + 0x30]
mov rdi, qword [r9]
mov r9d, 1
mov edx, dword [rax + rcx*4]
inc rcx
movzx r13d, dl
mov r10d, edx
mov r8d, r13d
mov qword [rsp + 8], rcx
and r8d, 0x1f
shr r10d, 8
mov eax, edx
mov r15d, edx
mov r14d, edx
shr eax, 0x10
shr r15d, 8
movzx ecx, byte [rdi + r8]
shl r9, cl
shr r14, 0x10
shr edx, 8
test dl, dl
jne 0x18004bd8e
mov esi, dword [rdi + r8*4 + 0x20]
cmp r8, r11
mov r10, r11
mov rax, r14
cmovb r10, r8
mov rdx, rbp
imul rax, r8
mov r11, r10
xor ecx, ecx
add rsi, rax
shr r11, 3
add rsi, qword [rdi + 0xa8]
test r11, r11
je 0x18004b43e
mov rdi, rsi
sub rdi, rbp
nop word [rax + rax]
mov rax, qword [rdx]
mov rbx, qword [rdx + rdi]
cmp rax, rbx
jne 0x18004b5ee
add rdx, 8
add rcx, 8
sub r11, 1
jne 0x18004b420
and r10d, 7
je 0x18004b459
sub rdx, rcx
movzx eax, byte [rcx + rdx]
cmp byte [rcx + rsi], al
jne 0x18004b459
inc rcx
sub r10, 1
jne 0x18004b447
mov r11, rcx
mov r15, qword [rsp + 0x80]
mov edi, r8d
shl r14, 5
cmp r11, r8
jne 0x18004b488
lea ecx, [r14 + r8]
mov dword [rsp], 1
cmp dword [r15 + r8*4], ecx
cmovb ecx, dword [r15 + r8*4]
mov dword [r15 + r8*4], ecx
lea rdx, [r8 - 1]
mov ebx, r14d
cmp r11, rdx
jb 0x18004b4f9
lea ecx, [r9 + r9*2]
shl ecx, 7
lea rax, [r8 + 2]
add ecx, edi
add ecx, r14d
cmp dword [r15 + rdx*4], ecx
cmovb ecx, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], ecx
cmp rax, qword [rsp + 0x78]
jae 0x18004b4f2
cmp byte [r8 + rbp - 1], 0x69
jne 0x18004b4f2
cmp byte [r8 + rbp], 0x6e
jne 0x18004b4f2
cmp byte [r8 + rbp + 1], 0x67
jne 0x18004b4f2
cmp byte [r8 + rbp + 2], 0x20
jne 0x18004b4f2
imul ecx, r9d, 0x620
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0xc], ecx
cmovb ecx, dword [r15 + r8*4 + 0xc]
mov dword [r15 + r8*4 + 0xc], ecx
mov dword [rsp], 1
mov r10, r12
cmp r8, 9
jbe 0x18004b50d
lea r10, [r8 - 9]
cmp r12, r10
cmova r10, r12
lea rsi, [r8 - 2]
cmp r11, rsi
cmovb rsi, r11
cmp r10, rsi
ja 0x18004b573
mov rbp, qword [rsp + 0x60]
mov dword [rsp], 1
nop dword [rax]
mov rax, qword [rbp + 0x10]
mov rdx, r8
sub rdx, r10
movzx ecx, dl
add cl, cl
add cl, dl
add cl, cl
shr rax, cl
and eax, 0x3f
lea rcx, [rax + rdx*4]
imul rcx, r9
shl rcx, 5
add ecx, edi
add ecx, ebx
cmp dword [r15 + r10*4], ecx
cmovb ecx, dword [r15 + r10*4]
mov dword [r15 + r10*4], ecx
inc r10
cmp r10, rsi
jbe 0x18004b530
mov rbp, qword [rsp + 0x68]
cmp r11, r8
mov r11, qword [rsp + 0x78]
jb 0x18004c097
lea rdx, [r8 + 6]
cmp rdx, r11
jae 0x18004c097
movzx eax, byte [r8 + rbp]
cmp al, 0x20
jne 0x18004b930
mov rcx, r9
shl rcx, 5
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x61
jne 0x18004b6a2
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x20
jne 0x18004b602
imul ecx, r9d, 0x380
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0xc], ecx
cmovb ecx, dword [r15 + r8*4 + 0xc]
mov dword [r15 + r8*4 + 0xc], ecx
jmp 0x18004c097
xor rax, rbx
tzcnt r11, rax
shr r11, 3
add r11, rcx
jmp 0x18004b45c
cmp al, 0x73
jne 0x18004b632
cmp byte [r8 + rbp + 3], 0x20
jne 0x18004c097
imul ecx, r9d, 0x5c0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x18004c097
cmp al, 0x74
jne 0x18004b662
cmp byte [r8 + rbp + 3], 0x20
jne 0x18004c097
imul ecx, r9d, 0x780
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x18004c097
cmp al, 0x6e
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x64
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x20
jne 0x18004c097
lea ecx, [r9 + r9*4]
shl ecx, 6
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x14], ecx
cmovb ecx, dword [r15 + r8*4 + 0x14]
mov dword [r15 + r8*4 + 0x14], ecx
jmp 0x18004c097
cmp al, 0x62
jne 0x18004b6de
cmp byte [r8 + rbp + 2], 0x79
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
jne 0x18004c097
imul ecx, r9d, 0x4c0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x18004c097
cmp al, 0x69
jne 0x18004b74b
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x6e
jne 0x18004b717
cmp byte [r8 + rbp + 3], 0x20
jne 0x18004c097
shl r9d, 9
add r9d, edi
add r9d, ebx
cmp dword [r15 + r8*4 + 0x10], r9d
cmovb r9d, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], r9d
jmp 0x18004c097
cmp al, 0x73
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
jne 0x18004c097
imul ecx, r9d, 0x5e0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x18004c097
cmp al, 0x66
jne 0x18004b7e3
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x6f
jne 0x18004b795
cmp byte [r8 + rbp + 3], 0x72
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x20
jne 0x18004c097
imul ecx, r9d, 0x320
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 0x14], ecx
cmovb ecx, dword [r15 + r8*4 + 0x14]
mov dword [r15 + r8*4 + 0x14], ecx
jmp 0x18004c097
cmp al, 0x72
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x6f
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x6d
jne 0x18004c097
cmp byte [r8 + rbp + 5], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x4a0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + rdx*4], ecx
cmovb ecx, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], ecx
jmp 0x18004c09a
cmp al, 0x6f
jne 0x18004b829
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x66
jne 0x18004b806
cmp byte [r8 + rbp + 3], 0x20
jne 0x18004c097
shl r9d, 8
jmp 0x18004b6fc
cmp al, 0x6e
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x5a0
jmp 0x18004bd73
cmp al, 0x6e
jne 0x18004b860
cmp byte [r8 + rbp + 2], 0x6f
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x74
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
lea ecx, [r9 + r9*4]
shl ecx, 9
jmp 0x18004bcff
cmp al, 0x74
jne 0x18004b8e9
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x68
jne 0x18004b8c6
movzx eax, byte [r8 + rbp + 3]
cmp al, 0x65
jne 0x18004b897
cmp byte [r8 + rbp + 4], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
lea ecx, [r9 + r9*4]
shl ecx, 5
jmp 0x18004bcff
cmp al, 0x61
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x74
jne 0x18004c097
cmp byte [r8 + rbp + 5], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x3a0
jmp 0x18004b7cb
cmp al, 0x6f
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x220
jmp 0x18004bd73
cmp al, 0x77
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x69
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x74
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x68
jne 0x18004c097
cmp byte [r8 + rbp + 5], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x460
jmp 0x18004b7cb
cmp al, 0x22
jne 0x18004b97b
imul ecx, r9d, 0x260
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 0x3e
jne 0x18004c097
imul ecx, r9d, 0x2a0
add ecx, edi
add ecx, ebx
cmp dword [r15 + r8*4 + 8], ecx
cmovb ecx, dword [r15 + r8*4 + 8]
mov dword [r15 + r8*4 + 8], ecx
jmp 0x18004c097
cmp al, 0x2e
jne 0x18004ba54
lea ecx, [r9 + r9*4]
shl ecx, 7
add ecx, ebx
add ecx, r8d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x18004c097
imul ecx, r9d, 0x3e0
add ecx, ebx
add ecx, r8d
cmp dword [r15 + r8*4 + 8], ecx
cmovb ecx, dword [r15 + r8*4 + 8]
mov dword [r15 + r8*4 + 8], ecx
cmp byte [r8 + rbp + 2], 0x54
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x68
jne 0x18004c097
movzx eax, byte [r8 + rbp + 4]
cmp al, 0x65
jne 0x18004ba13
cmp byte [r8 + rbp + 5], 0x20
jne 0x18004c097
imul ecx, r9d, 0x560
add ecx, r8d
add ecx, ebx
cmp dword [r15 + rdx*4], ecx
cmovb ecx, dword [r15 + rdx*4]
mov dword [r15 + rdx*4], ecx
jmp 0x18004c097
cmp al, 0x69
jne 0x18004c097
cmp byte [r8 + rbp + 5], 0x73
jne 0x18004c097
cmp byte [r8 + rbp + 6], 0x20
jne 0x18004c097
imul ecx, r9d, 0x960
add ecx, r8d
add ecx, ebx
cmp dword [r15 + r8*4 + 0x1c], ecx
cmovb ecx, dword [r15 + r8*4 + 0x1c]
mov dword [r15 + r8*4 + 0x1c], ecx
jmp 0x18004c097
cmp al, 0x2c
jne 0x18004ba96
mov ebx, dword [rsp]
imul ecx, r9d, 0x980
add ecx, r14d
add ecx, r8d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x18004c09a
imul ecx, r9d, 0x1c0
add ecx, r14d
add ecx, r8d
jmp 0x18004bb5d
cmp al, 0xa
jne 0x18004bad8
mov ebx, dword [rsp]
imul ecx, r9d, 0x2c0
add ecx, r14d
add ecx, r8d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
cmp byte [r8 + rbp + 1], 9
jne 0x18004c09a
imul ecx, r9d, 0x640
add ecx, r14d
add ecx, r8d
jmp 0x18004bb5d
cmp al, 0x5d
jne 0x18004bafe
lea ecx, [r9 + r9*2]
shl ecx, 8
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 4], ecx
cmovb ecx, dword [r15 + r8*4 + 4]
mov dword [r15 + r8*4 + 4], ecx
jmp 0x18004c097
cmp al, 0x27
jne 0x18004bb0b
lea ecx, [r9 + r9*8]
shl ecx, 7
jmp 0x18004bae3
cmp al, 0x3a
jne 0x18004bb18
imul ecx, r9d, 0x660
jmp 0x18004bae3
cmp al, 0x28
jne 0x18004bb25
imul ecx, r9d, 0x720
jmp 0x18004bae3
cmp al, 0x3d
jne 0x18004bb72
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x22
jne 0x18004bb45
imul ecx, r9d, 0x8c0
add ecx, r8d
add ecx, r14d
jmp 0x18004b966
mov ebx, dword [rsp]
cmp al, 0x27
jne 0x18004c09a
imul ecx, r9d, 0xac0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 8], ecx
cmovb ecx, dword [r15 + r8*4 + 8]
mov dword [r15 + r8*4 + 8], ecx
jmp 0x18004c09a
cmp al, 0x61
jne 0x18004bb9a
cmp byte [r8 + rbp + 1], 0x6c
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xa80
jmp 0x18004bbc2
cmp al, 0x65
jne 0x18004bc28
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x64
jne 0x18004bbdd
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x6a0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 0xc], ecx
cmovb ecx, dword [r15 + r8*4 + 0xc]
mov dword [r15 + r8*4 + 0xc], ecx
jmp 0x18004c09a
cmp al, 0x72
jne 0x18004bbf9
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xa40
jmp 0x18004bbc2
cmp al, 0x73
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x74
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xbe0
jmp 0x18004bd73
cmp al, 0x66
jne 0x18004bc5f
cmp byte [r8 + rbp + 1], 0x75
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x6c
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xb40
jmp 0x18004bd73
cmp al, 0x69
jne 0x18004bcc3
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x76
jne 0x18004bc94
cmp byte [r8 + rbp + 2], 0x65
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xb80
jmp 0x18004bd73
cmp al, 0x7a
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x65
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xc80
jmp 0x18004bd73
cmp al, 0x6c
jne 0x18004bd3d
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x65
jne 0x18004bd1a
cmp byte [r8 + rbp + 2], 0x73
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x73
jne 0x18004c097
cmp byte [r8 + rbp + 4], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xba0
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 0x14], ecx
cmovb ecx, dword [r15 + r8*4 + 0x14]
mov dword [r15 + r8*4 + 0x14], ecx
jmp 0x18004c09a
cmp al, 0x79
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0x7a0
jmp 0x18004bbc2
cmp al, 0x6f
jne 0x18004c097
cmp byte [r8 + rbp + 1], 0x75
jne 0x18004c097
cmp byte [r8 + rbp + 2], 0x73
jne 0x18004c097
cmp byte [r8 + rbp + 3], 0x20
mov ebx, dword [rsp]
jne 0x18004c09a
imul ecx, r9d, 0xd40
add ecx, r8d
add ecx, r14d
cmp dword [r15 + r8*4 + 0x10], ecx
cmovb ecx, dword [r15 + r8*4 + 0x10]
mov dword [r15 + r8*4 + 0x10], ecx
jmp 0x18004c09a
movzx ebx, r8b
cmp rbx, r11
ja 0x18004c097
mov r11d, dword [rdi + rbx*4 + 0x20]
imul rax, rbx
add r11, rax
add r11, qword [rdi + 0xa8]
cmp r10b, 0xa
jne 0x18004be6a
movzx ecx, byte [r11]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004be54
xor cl, 0x20
cmp cl, byte [rbp]
jne 0x18004be54
mov rdx, qword [rsp + 0x68]
lea eax, [rbx - 1]
mov r10d, eax
lea rsi, [r11 + 1]
shr r10, 3
inc rdx
xor ecx, ecx
mov ebp, eax
mov ebx, eax
test r10, r10
je 0x18004be1a
mov rdi, rsi
sub rdi, rdx
nop word [rax + rax]
mov rax, qword [rdx]
mov r11, qword [rdi + rdx]
cmp rax, r11
jne 0x18004be43
add rdx, 8
add rcx, 8
sub r10, 1
jne 0x18004be00
and ebx, 7
je 0x18004be34
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rsi], al
jne 0x18004be34
inc rcx
sub rbx, 1
jne 0x18004be22
mov rdx, rcx
cmp rdx, rbp
jne 0x18004be54
mov eax, 1
jmp 0x18004be56
xor rax, r11
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18004be37
xor eax, eax
test eax, eax
je 0x18004c092
mov rbp, qword [rsp + 0x68]
mov esi, 0x74
jmp 0x18004beaa
test r8b, r8b
je 0x18004beaa
mov rdx, rbp
sub r11, rbp
nop word [rax + rax]
movzx ecx, byte [r11 + rdx]
movzx r10d, byte [rdx]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004be93
xor cl, 0x20
cmp cl, r10b
jne 0x18004c092
inc rdx
mov rax, rdx
sub rax, rbp
cmp rax, rbx
jb 0x18004be80
mov r10, qword [rsp + 0x80]
lea rdx, [r8 + 1]
mov r11, qword [rsp + 0x78]
mov ecx, 9
shl r14, 5
mov eax, 0x2c
cmp r15b, 0xa
mov ebx, 1
mov dword [rsp], ebx
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + r8*4], ecx
cmovb ecx, dword [r10 + r8*4]
mov dword [r10 + r8*4], ecx
cmp rdx, r11
jae 0x18004c09a
movzx eax, byte [r8 + rbp]
cmp al, 0x20
jne 0x18004bf10
lea ecx, [rbx + 3]
lea eax, [rbx + 0x43]
jmp 0x18004c01f
cmp al, 0x22
jne 0x18004bf62
cmp r15b, 0xa
mov ecx, 0x42
mov eax, 0x57
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
cmp byte [r8 + rbp + 1], 0x3e
jne 0x18004c09a
cmp r15b, 0xa
mov ecx, 0x45
mov eax, 0x61
cmovne ecx, eax
jmp 0x18004c05f
cmp al, 0x2e
jne 0x18004bfb4
cmp r15b, 0xa
mov ecx, 0x4f
mov eax, 0x65
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x18004c09a
cmp r15b, 0xa
mov ecx, 0x58
mov eax, 0x72
cmovne ecx, eax
jmp 0x18004c05f
cmp al, 0x2c
jne 0x18004c003
cmp r15b, 0xa
mov ecx, 0x63
mov eax, 0x70
cmovne ecx, eax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
cmp byte [r8 + rbp + 1], 0x20
jne 0x18004c09a
cmp r15b, 0xa
mov ecx, 0x3a
mov eax, 0x6b
cmovne ecx, eax
jmp 0x18004c05f
cmp al, 0x27
jne 0x18004c011
mov ecx, 0x4a
lea eax, [rcx + 0x14]
jmp 0x18004c01f
cmp al, 0x28
jne 0x18004c044
mov ecx, 0x4e
mov eax, 0x71
cmp r15b, 0xa
cmovne rcx, rax
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + rdx*4], ecx
cmovb ecx, dword [r10 + rdx*4]
mov dword [r10 + rdx*4], ecx
jmp 0x18004c09a
cmp al, 0x3d
jne 0x18004c09a
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x22
jne 0x18004c07f
xor ecx, ecx
cmp r15b, 0xa
setne cl
add rcx, 0x68
imul rcx, r9
shl rcx, 5
add ecx, r14d
add ecx, r8d
cmp dword [r10 + r8*4 + 8], ecx
cmovb ecx, dword [r10 + r8*4 + 8]
mov dword [r10 + r8*4 + 8], ecx
jmp 0x18004c09a
cmp al, 0x27
jne 0x18004c09a
cmp r15b, 0xa
mov ecx, 0x6c
cmovne rcx, rsi
jmp 0x18004c05f
mov r11, qword [rsp + 0x78]
mov ebx, dword [rsp]
mov rbp, qword [rsp + 0x68]
mov esi, 0x74
mov rcx, qword [rsp + 8]
mov r9, qword [rsp + 0x60]
cmp r13b, 0x80
jb 0x18004b390
cmp r11, 5
jb 0x18004c5fe
movzx r13d, byte [rbp]
cmp r13b, 0x20
je 0x18004c0d7
cmp r13b, 0x2e
jne 0x18004c5fe
imul ecx, dword [rbp + 1], 0x1e35a7bd
lea r12, [rbp + 1]
mov rax, qword [r9 + 0x28]
shr rcx, 0x11
movzx edx, word [rax + rcx*2]
test rdx, rdx
je 0x18004c5fe
mov edi, 0x53
lea rdx, [rdx*4]
lea r15d, [rdi - 0x51]
nop dword [rax + rax]
mov rax, qword [r9 + 0x30]
mov r14d, 1
mov esi, dword [rdx + rax]
add rdx, 4
movzx ecx, sil
mov r8d, ecx
mov qword [rsp + 0x10], rcx
and r8d, 0x1f
mov dword [rsp + 8], esi
mov qword [rsp + 0x18], rdx
mov rdx, qword [r9]
shr rsi, 0x10
movzx ecx, byte [rdx + r8]
shl r14, cl
movzx ecx, byte [rsp + 9]
test cl, cl
jne 0x18004c348
movzx ebp, r8b
lea rax, [r11 - 1]
cmp rbp, rax
ja 0x18004c5cf
mov ebx, dword [rdx + rbp*4 + 0x20]
mov r9d, ebp
movzx eax, word [rsp + 0xa]
xor ecx, ecx
imul rax, rbp
shr r9, 3
mov r10d, ebp
add rbx, rax
add rbx, qword [rdx + 0xa8]
mov rdx, r12
test r9, r9
je 0x18004c1be
mov rdi, rbx
sub rdi, r12
nop dword [rax + rax]
mov rax, qword [rdx]
mov r11, qword [rdi + rdx]
cmp rax, r11
jne 0x18004c255
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x18004c1a0
and r10d, 7
je 0x18004c1d9
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x18004c1d9
inc rcx
sub r10, 1
jne 0x18004c1c7
mov rdx, rcx
mov r11, qword [rsp + 0x78]
cmp rdx, rbp
mov rbp, qword [rsp + 0x68]
jne 0x18004c76a
mov r9, qword [rsp + 0x80]
lea rdx, [r8 + 2]
shl rsi, 5
mov ecx, 0x20
cmp r13b, cl
mov eax, 6
mov ebx, 1
cmove ecx, eax
mov dword [rsp], ebx
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 4], ecx
cmovb ecx, dword [r9 + r8*4 + 4]
mov dword [r9 + r8*4 + 4], ecx
cmp rdx, r11
jae 0x18004c33e
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x20
jne 0x18004c269
cmp r13b, al
mov ecx, 0x4d
cmove rcx, r15
jmp 0x18004c27e
xor rax, r11
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18004c1dc
cmp al, 0x28
jne 0x18004c2a2
cmp r13b, 0x20
mov ecx, 0x43
mov eax, 0x59
cmove ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
mov r9, qword [rsp + 0x60]
jmp 0x18004c5e9
cmp r13b, 0x20
jne 0x18004c33e
cmp al, 0x2c
jne 0x18004c2d9
imul ecx, r14d, 0xce0
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], r13b
jne 0x18004c33e
imul ecx, r14d, 0x420
jmp 0x18004c329
cmp al, 0x2e
jne 0x18004c307
imul ecx, r14d, 0x8e0
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], 0x20
jne 0x18004c33e
imul ecx, r14d, 0x680
jmp 0x18004c329
cmp al, 0x3d
jne 0x18004c33e
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x22
jne 0x18004c31e
imul ecx, r14d, 0xa20
jmp 0x18004c329
cmp al, 0x27
jne 0x18004c33e
imul ecx, r14d, 0xc40
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 0xc], ecx
cmovb ecx, dword [r9 + r8*4 + 0xc]
mov dword [r9 + r8*4 + 0xc], ecx
mov r9, qword [rsp + 0x60]
jmp 0x18004c5e9
cmp r13b, 0x20
jne 0x18004c5e9
xor r15d, r15d
movzx r10d, r8b
cmp cl, 0xa
lea rax, [r11 - 1]
setne r15b
cmp r10, rax
ja 0x18004c5e3
movzx eax, word [rsp + 0xa]
mov r11d, dword [rdx + r10*4 + 0x20]
imul rax, r10
add r11, rax
add r11, qword [rdx + 0xa8]
cmp cl, 0xa
jne 0x18004c43b
movzx ecx, byte [r11]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004c425
xor cl, r13b
cmp cl, byte [r12]
jne 0x18004c425
mov rdx, qword [rsp + 0x68]
lea eax, [r8 - 1]
mov r9d, eax
lea rdi, [r11 + 1]
shr r9, 3
add rdx, 2
xor ecx, ecx
mov ebp, eax
mov r10d, eax
test r9, r9
je 0x18004c3ea
mov rbx, rdi
sub rbx, rdx
mov rax, qword [rdx]
mov r11, qword [rbx + rdx]
cmp rax, r11
jne 0x18004c414
add rdx, 8
add rcx, 8
sub r9, 1
jne 0x18004c3d0
and r10d, 7
je 0x18004c405
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rdi], al
jne 0x18004c405
inc rcx
sub r10, 1
jne 0x18004c3f3
mov rdx, rcx
cmp rdx, rbp
jne 0x18004c425
mov eax, 1
jmp 0x18004c427
xor rax, r11
tzcnt rdx, rax
shr rdx, 3
add rdx, rcx
jmp 0x18004c408
xor eax, eax
mov rbp, qword [rsp + 0x68]
test eax, eax
je 0x18004c5d6
mov edi, 0x53
jmp 0x18004c47a
test r8b, r8b
je 0x18004c47a
mov rdx, r12
sub r11, r12
nop word [rax + rax]
movzx ecx, byte [r11 + rdx]
movzx r9d, byte [rdx]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004c463
xor cl, 0x20
cmp cl, r9b
jne 0x18004c5d9
inc rdx
mov rax, rdx
sub rax, r12
cmp rax, r10
jb 0x18004c450
mov r9, qword [rsp + 0x80]
lea rdx, [r8 + 2]
mov r11, qword [rsp + 0x78]
mov ecx, 0x1e
shl rsi, 5
mov eax, 0x55
test r15d, r15d
mov ebx, 1
mov dword [rsp], ebx
cmovne ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 4], ecx
cmovb ecx, dword [r9 + r8*4 + 4]
mov dword [r9 + r8*4 + 4], ecx
cmp rdx, r11
jae 0x18004c5de
movzx eax, byte [r8 + rbp + 1]
cmp al, 0x20
jne 0x18004c502
test r15d, r15d
mov ecx, 0xf
cmovne rcx, rdi
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
jmp 0x18004c5de
cmp al, 0x2c
jne 0x18004c560
test r15d, r15d
jne 0x18004c524
imul ecx, r14d, 0xda0
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], 0x20
jne 0x18004c5de
mov ecx, 0x41
mov eax, 0x6f
test r15d, r15d
cmovne rcx, rax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + r8*4 + 0xc], ecx
cmovb ecx, dword [r9 + r8*4 + 0xc]
mov dword [r9 + r8*4 + 0xc], ecx
jmp 0x18004c5de
cmp al, 0x2e
jne 0x18004c59e
test r15d, r15d
mov ecx, 0x60
mov eax, 0x73
cmovne ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r8d
add ecx, esi
cmp dword [r9 + rdx*4], ecx
cmovb ecx, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], ecx
cmp byte [r8 + rbp + 2], 0x20
jne 0x18004c5de
lea ecx, [rax - 0x18]
lea eax, [rcx + 0x1a]
jmp 0x18004c53a
cmp al, 0x3d
jne 0x18004c5de
movzx eax, byte [r8 + rbp + 2]
cmp al, 0x22
jne 0x18004c5bc
mov eax, r15d
xor rax, rbx
lea rcx, [rax*8 + 0x6e]
jmp 0x18004c541
cmp al, 0x27
jne 0x18004c5de
mov ecx, r15d
xor rcx, rbx
add rcx, 0x77
jmp 0x18004c541
mov rbp, qword [rsp + 0x68]
jmp 0x18004c5e9
mov ebx, dword [rsp]
mov r11, qword [rsp + 0x78]
mov r9, qword [rsp + 0x60]
mov r15d, 2
cmp byte [rsp + 0x10], 0x80
mov edi, 0x53
mov rdx, qword [rsp + 0x18]
jb 0x18004c110
cmp r11, 6
jb 0x18004c7f8
movzx ecx, byte [rbp + 1]
cmp cl, 0x20
jne 0x18004c621
movzx eax, byte [rbp]
cmp al, 0x65
je 0x18004c634
cmp al, 0x73
je 0x18004c634
cmp al, 0x2c
je 0x18004c634
cmp byte [rbp], 0xc2
jne 0x18004c7f8
cmp cl, 0xa0
jne 0x18004c7f8
imul ecx, dword [rbp + 2], 0x1e35a7bd
lea r13, [rbp + 2]
mov rax, qword [r9 + 0x28]
shr rcx, 0x11
movzx edx, word [rax + rcx*2]
test rdx, rdx
je 0x18004c7f8
lea r12, [rdx*4]
nop dword [rax]
mov rax, qword [r9 + 0x30]
lea r12, [r12 + 4]
mov rdx, qword [r9]
mov r14d, 1
mov r8d, dword [r12 + rax - 4]
movzx r15d, r8b
mov edi, r15d
mov dword [rsp + 8], r8d
and edi, 0x1f
shr r8, 0x10
movzx ecx, byte [rdx + rdi]
shl r14, cl
cmp byte [rsp + 9], 0
jne 0x18004c7ee
movzx ebp, dil
lea rax, [r11 - 2]
cmp rbp, rax
ja 0x18004c7df
mov ebx, dword [rdx + rbp*4 + 0x20]
xor ecx, ecx
movzx eax, word [rsp + 0xa]
mov r9d, ebp
imul rax, rbp
add rbx, rax
mov eax, ebp
add rbx, qword [rdx + 0xa8]
mov rdx, r13
shr rax, 3
test rax, rax
je 0x18004c6fe
mov rsi, rbx
sub rsi, r13
nop dword [rax]
mov r11, qword [rdx]
mov r10, qword [rdx + rsi]
cmp r11, r10
jne 0x18004c777
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18004c6e0
and r9d, 7
je 0x18004c719
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x18004c719
inc rcx
sub r9, 1
jne 0x18004c707
mov rax, rcx
mov r11, qword [rsp + 0x78]
cmp rax, rbp
mov rbp, qword [rsp + 0x68]
jne 0x18004c7e6
movzx eax, byte [rbp]
lea rdx, [rdi + 2]
cmp al, 0xc2
jne 0x18004c788
mov r9, qword [rsp + 0x80]
mov ebx, 1
shl r8, 5
imul ecx, r14d, 0xcc0
mov dword [rsp], ebx
add ecx, edi
add r8d, ecx
cmp dword [r9 + rdx*4], r8d
cmovb r8d, dword [r9 + rdx*4]
mov dword [r9 + rdx*4], r8d
jmp 0x18004c7e9
mov r9, qword [rsp + 0x60]
mov ebx, dword [rsp]
jmp 0x18004c5e9
xor r10, r11
tzcnt rax, r10
shr rax, 3
add rax, rcx
jmp 0x18004c71c
cmp rdx, r11
jae 0x18004c7e6
cmp byte [rdi + rbp + 2], 0x20
jne 0x18004c7e6
cmp al, 0x65
jne 0x18004c79f
mov ecx, 0x12
jmp 0x18004c7ae
cmp al, 0x73
mov ecx, 0xd
mov eax, 7
cmove ecx, eax
mov rdx, qword [rsp + 0x80]
mov ebx, 1
imul rcx, r14
shl r8, 5
shl rcx, 5
mov dword [rsp], ebx
lea eax, [rdi + r8]
add ecx, eax
cmp dword [rdx + rdi*4 + 0xc], ecx
cmovb ecx, dword [rdx + rdi*4 + 0xc]
mov dword [rdx + rdi*4 + 0xc], ecx
jmp 0x18004c7e9
mov rbp, qword [rsp + 0x68]
jmp 0x18004c7ee
mov ebx, dword [rsp]
mov r9, qword [rsp + 0x60]
cmp r15b, 0x80
jb 0x18004c660
cmp r11, 9
jb 0x18004ca86
movzx eax, byte [rbp]
cmp al, 0x20
jne 0x18004c832
cmp byte [rbp + 1], 0x74
jne 0x18004ca86
cmp byte [rbp + 2], 0x68
jne 0x18004ca86
cmp byte [rbp + 3], 0x65
jne 0x18004ca86
cmp byte [rbp + 4], al
je 0x18004c862
jmp 0x18004ca86
cmp al, 0x2e
jne 0x18004ca86
cmp byte [rbp + 1], 0x63
jne 0x18004ca86
cmp byte [rbp + 2], 0x6f
jne 0x18004ca86
cmp byte [rbp + 3], 0x6d
jne 0x18004ca86
cmp byte [rbp + 4], 0x2f
jne 0x18004ca86
imul ecx, dword [rbp + 5], 0x1e35a7bd
lea r13, [rbp + 5]
mov rax, qword [r9 + 0x28]
shr rcx, 0x11
movzx edx, word [rax + rcx*2]
test rdx, rdx
je 0x18004ca86
lea r12, [rdx*4]
nop word [rax + rax]
mov rax, qword [r9 + 0x30]
lea r12, [r12 + 4]
mov r14d, 1
mov ecx, dword [r12 + rax - 4]
mov rax, qword [rsp + 0x60]
mov esi, ecx
movzx r15d, cl
mov r9d, r15d
mov dword [rsp + 8], ecx
and r9d, 0x1f
shr esi, 0x10
mov rdx, qword [rax]
movzx ecx, byte [rdx + r9]
shl r14, cl
cmp byte [rsp + 9], 0
jne 0x18004ca77
movzx ebp, r9b
lea rax, [r11 - 5]
cmp rbp, rax
ja 0x18004ca77
mov ebx, dword [rdx + rbp*4 + 0x20]
xor ecx, ecx
movzx eax, word [rsp + 0xa]
mov r8d, ebp
imul rax, rbp
add rbx, rax
mov eax, ebp
add rbx, qword [rdx + 0xa8]
mov rdx, r13
shr rax, 3
test rax, rax
je 0x18004c93e
mov rdi, rbx
sub rdi, r13
nop dword [rax]
nop dword [rax + rax]
mov r11, qword [rdx]
mov r10, qword [rdi + rdx]
cmp r11, r10
jne 0x18004ca60
add rdx, 8
add rcx, 8
sub rax, 1
jne 0x18004c920
and r8d, 7
je 0x18004c959
sub rdx, rcx
movzx eax, byte [rdx + rcx]
cmp byte [rcx + rbx], al
jne 0x18004c959
inc rcx
sub r8, 1
jne 0x18004c947
mov rax, rcx
mov r11, qword [rsp + 0x78]
cmp rax, rbp
jne 0x18004ca74
mov r8, qword [rsp + 0x80]
lea rdx, [r9 + 5]
mov rbp, qword [rsp + 0x68]
mov ecx, 0x48
shl esi, 5
mov eax, 0x29
mov ebx, 1
mov dword [rsp], ebx
cmp byte [rbp], 0x20
cmove ecx, eax
imul rcx, r14
shl rcx, 5
add ecx, r9d
add ecx, esi
cmp dword [r8 + rdx*4], ecx
cmovb ecx, dword [r8 + rdx*4]
mov dword [r8 + rdx*4], ecx
cmp rdx, r11
jae 0x18004ca77
cmp byte [rbp], 0x20
jne 0x18004ca77
lea rax, [r9 + 8]
cmp rax, r11
jae 0x18004ca77
cmp byte [r9 + rbp + 5], 0x20
jne 0x18004ca77
cmp byte [r9 + rbp + 6], 0x6f
jne 0x18004ca77
cmp byte [r9 + rbp + 7], 0x66
jne 0x18004ca77
cmp byte [r9 + rbp + 8], 0x20
jne 0x18004ca77
imul ecx, r14d, 0x7c0
lea rax, [r9 + 0xc]
add ecx, r9d
add ecx, esi
cmp dword [r8 + r9*4 + 0x24], ecx
cmovb ecx, dword [r8 + r9*4 + 0x24]
mov dword [r8 + r9*4 + 0x24], ecx
cmp rax, r11
jae 0x18004ca77
cmp byte [r9 + rbp + 9], 0x74
jne 0x18004ca77
cmp byte [r9 + rbp + 0xa], 0x68
jne 0x18004ca77
cmp byte [r9 + rbp + 0xb], 0x65
jne 0x18004ca77
cmp byte [r9 + rbp + 0xc], 0x20
jne 0x18004ca77
imul edx, r14d, 0x920
add edx, r9d
add edx, esi
cmp dword [r8 + r9*4 + 0x34], edx
cmovb edx, dword [r8 + r9*4 + 0x34]
mov dword [r8 + r9*4 + 0x34], edx
jmp 0x18004ca77
xor r10, r11
tzcnt rax, r10
shr rax, 3
add rax, rcx
jmp 0x18004c95c
mov ebx, dword [rsp]
mov r9, qword [rsp + 0x60]
cmp r15b, 0x80
jb 0x18004c890
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret